参考资料python+opencv直方图均衡化_我是小蚂蚁的博客-CSDN博客_opencv 直方图均衡化
对于灰度图的直方图均衡化,直接用equalizeHist()即可。
equalizeHist()函数的用法非常简单,直接传入单通道图像即可。
如果想要对彩色图进行均衡化,可以先用OpenCV的split函数拆分成多个通道,接着分别将各个通道的数组传入equalizeHist(),最后再用merge函数合并成一个彩色图。
对彩色图像的另一种均衡化方法,就是先用cvtColor函数(参数mode等于cv.COLOR_BGR2YCrCb)转成YCC颜色模式的图像,然后再用split函数划分成多个通道,将第一个通道(亮度/明度)传入equalizeHist(),最后再用merge函数将第一个通道的新数组和其他通道的数组合并成一个彩色图。
第二部分的equalizeHist()函数功能是“全局均衡化”。
全局均衡化API虽然简单易用,但是存在一些问题。
由于整体亮度的提升,图像的部分细节变得模糊,这时候我们可以尝试进行分块的局部均衡化操作。
自适应均衡化,最适合用来对直方图有多个峰值区域的图像;而全局均衡化,适合只有一个峰值区域的图像。
createCLANE的语法格式如下
cv.createCLAHE([, clipLimit[, tileGridSize]]) ->retval