本文介绍一下,用python绘制图像直方图的具体步骤。
工具/原料
电脑
python3+
opencv模块
方法/步骤
1
给出一张单通道的灰度图。
2
查看图中所有的像素的取值范围。
img=cv2.imread('a.png')
xs=np.reshape(img,(1,-1))
qzfw=set(xs[0])
0到255之间的每一个正整数,都能够在img里面找到。
3
查看图中像素值为0的像素的个数:
w=list(xs[0])
print(w.count(0))
这说明,在图中,一共有2664个黑色像素。
4
查看各个像素值,在img中出现的次数:
c=[]
for i in qzfw:
d=w.count(i)
c.append(d)
亮度高的像素,所占的比重很少。
5
用折线段把这些数据画出来,就是图像的直方图。
绘制这个直方图:
import matplotlib.pyplot as plt
plt.plot(list(qzfw),list(c))
plt.show()
6
直方图如下。
像素值150左右,处于峰值。
7
在图像上画出直方图。
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部