首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matplotlib直方图中缺少某些bins值

matplotlib直方图中缺少某些bins值
EN

Stack Overflow用户
提问于 2013-01-18 19:16:29
回答 1查看 1.8K关注 0票数 0

使用以下几行代码,我希望打印给定图像的rgb直方图。总体结果是好的,但将三个直方图与gimp获得的直方图进行比较,我注意到直方图中的一些柱状图丢失了,我的意思是有一个白色的值,其中应该有一个与该色调相关的像素数不同于0的数值。

下面是我的代码:

代码语言:javascript
复制
im = np.array(Image.open('myimage.jpg'))

plt.figure()
plt.hist(im[:,:,0].flatten(), 256, color='red', label='Histogram Red')

plt.figure()
plt.hist(im[:,:,1].flatten(), 256, color='green', label='Histogram Green')

plt.figure()
plt.hist(im[:,:,2].flatten(), 256, color='blue', label='Histogram Blue')

plt.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-18 23:47:21

你还没有给出足够的信息来回答你的问题,但我猜你的bin edges有问题。像你这样给出一系列的柱子会将你的数据范围划分为256个柱子,但是你的数据在12,230的范围内,那么你的柱子的宽度将小于1,你可能会得到奇怪的混叠。我会改用

代码语言:javascript
复制
 plot.hist(...,bins=arange(0,257) - .5,...)

它显式地传递给要使用的bin边(我推断你的数据是8位整数)。这将为您提供256个条形,以整数为中心。

出于美观的原因,我还会添加lw=0来去掉每个栏周围的黑色轮廓。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14397777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档