image = np.random.randint(low=0, high=255, size=(10, 10))
fig, ax = plt.subplots()
ax.imshow(image, cmap='gray')
for i in range(image.shape[0]):
for j in range(image.shape[1]):
ax.text(j, i, str(image[i, j]), color='r', ha='center', va='center')
它将生成以下图像:
顺便说一下,如果您只想使用灰度,您可能需要尝试以下方法:
for i in range(image.shape[0]):
for j in range(image.shape[1]):
c = 1 if image[i, j] < 128 else 0
ax.text(j, i, str(image[i, j]), color=(c, c, c), ha='center', va='center')
ax.axis("off")
2条答案
按热度按时间acruukt91#
最好的方法是搜索“热图”或“混淆矩阵”而不是图片,这时有两个不错的选择:
1.仅使用
matplotlib
,将imshow()
和text()
作为构建块,解决方案实际上并不那么难,下面是some examples。1.使用
seaborn
,这是一个数据可视化包,解决方案本质上是一个使用seaborn.heatmap()
的一行程序,如these examples所示。我的问题真的是目光短浅,从一个图像处理的心态来,而不是考虑其他社区有什么需要显示同样的东西,即使他们用不同的名字称呼它。
odopli942#
使用matplotlib可以执行以下操作:
它将生成以下图像:
顺便说一下,如果您只想使用灰度,您可能需要尝试以下方法:
导致: