文章目录

  • ​​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 均衡化以后

图像处理-直方图均衡化_均衡化_02


是不是图像看起来更饱满了一点呢。

2.2.3 均衡化前后直方图变化

图像处理-直方图均衡化_直方图均衡化_03