赞
踩
图像的构成是有像素点构成的,每个像素点的值代表着该点的颜色(灰度图或者彩色图)。所谓直方图就是对图像的中的这些像素点的值进行统计,得到一个统一的整体的灰度概念。直方图的好处就在于可以清晰了解图像的整体灰度分布,这对于后面依据直方图处理图像来说至关重要。
一般情况下直方图都是灰度图像,直方图x轴是灰度值(一般0~255),y轴就是图像中每一个灰度级对应的像素点的个数。
①利用cv2.calcHist()
matplotlib.pyplot.plot(hist,color)进行绘制
- hist = cv2.calcHist([res],[0],None,[256],[0,255])
- plt.plot(hist,'r')
- plt.show()
②使用plt.hist(),进行绘制
plt.hist(img,ravel(),hitsizes,ranges,color=)
- plt.hist(res.ravel(), 256, [0, 256],color='r')
- plt.show()
图像的直方图是对图像对比度效果上的一种处理,旨在使得图像整体效果均匀,黑与白之间的各个像素级之间的点更均匀一点。
通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。
①实现方法
利用
cv2.equalizeHist(img),将要均衡化的原图像【要求是灰度图像】作为参数传入,则返回值即为均衡化后的图像。
原图像直方图
res = cv2.equalizeHist(res)
处理后的直方图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。