0

我想从 Python 中的图像中呈现直方图。做了一些研究,我找到了一种使用matplotlib的方法。所以,我只是这样做:

im = plt.array(Image.open('Mean.png').convert('L'))
plt.figure()
plt.hist(im, facecolor='green', alpha=0.75)
plt.savefig("Histogram.png")

但我不喜欢我得到的:

直方图

条形不是绿色的,读取直方图有点复杂。我什至无法弄清楚 x 轴是点数,y 轴是 rgb 颜色还是倒数...:S 我想知道是否有人知道如何使这个直方图更具可读性。

提前致谢。

4

1 回答 1

1

要获得直方图,您必须展平图像:

img = np.asarray(Image.open('your_image').convert('L'))
plt.hist(img.flatten(), facecolor='green', alpha=0.75)

由于您将图像转换为灰度,convert('L')x 轴是 0-255 的灰度级别,y 轴是像素数。

您还可以使用bins参数控制 bin 的数量:

plt.hist(img.flatten(), bins=100, facecolor='green', alpha=0.75)
于 2013-09-15T21:59:02.963 回答