文章目录
- 1、直方图均衡化
- 1.1 什么是直方图均衡化
- 1.2 为什么要进行直方图均衡化
- 1.3 怎样进行直方图均衡化
- 2、案例分析
- 2.1 代码
- 2.2 效果展示
- 2.2.1 原图
- 2.2.2 均衡化以后
- 2.2.3 均衡化前后直方图变化
1、直方图均衡化
1.1 什么是直方图均衡化
直方图均衡化是将将图像中比较聚集的像素“打散”。
1.2 为什么要进行直方图均衡化
直方图均衡化的目的是采用映射关系,将图像中灰度值的范围扩大,增加原来两个灰度值之间的差值。比如说,灰度值120与121之间的差距不能通过肉眼观察出来,但是可以通过直方图均衡化将二者的差值扩大,就能分辨出来了。
1.3 怎样进行直方图均衡化
采用opencv提供的equalizeHist()方法。注意这里输入的图像为灰度图像。
2、案例分析
2.1 代码
def Equalization(image):
#进行直方图均衡化
Image = cv.equalizeHist(image)
cv.imshow("image",image)
cv.waitKey()
cv.imshow("Image",Image)
cv.waitKey()
hist1 = cv.calcHist([image],[0],None,[256],[0,255])
plt.subplot(1,2,1)
plt.plot(hist1,'r')
hist2 = cv.calcHist([Image],[0],None,[256],[0,255])
plt.subplot(1,2,2)
plt.plot(hist2,'b')
plt.show()
return
2.2 效果展示
2.2.1 原图
2.2.2 均衡化以后
是不是图像看起来更饱满了一点呢。
2.2.3 均衡化前后直方图变化