參考資料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