opencv(9)直方圖均衡化,對比,匹配


1 直方圖均衡化

void cvEqualizeHist( const CvArr* src, CvArr* dst );//輸入 輸出,8位單通道圖像  
opencv直方圖采用的方法:
  1. 計算輸入圖像的直方圖 H
  2. 直方圖歸一化,因此直方塊和為255
  3. 計算直方圖積分
  4. 采用H'作為查詢表:dst(x,y)=H'(src(x,y))進行圖像變換。

測試1   直方圖均衡化

直方圖均衡化


測試圖像:

4

2 .直方圖對比

double cvCompareHist( const CvHistogram* hist1, const CvHistogram* hist2, int method );

對比的的方法用method表示,主要由以下幾種辦法:

CV_COMP_CORREL 相關方法:完全匹配為1,完全不匹配為-1,0是無關聯

CV_COMP_CHISQR 卡爾:完全匹配是0 ,完全不匹配為無限值

CV_COMP_INTERSECT 直方圖相交:完全匹配為1,完全不匹配為-1,0是無關聯

CV_COMP_BHATTACHARYYA   Bhattacharyya距離,Bhattacharyya 距離只能應用到規一化后的直方圖,完全匹配是0 ,完全不匹配為1

在直方圖對比前,都應該進行歸一化操作,直方圖相交的方法效果最好,卡爾和Bhattacharyya距離速度最慢也較精確。

測試代碼:

直方圖對比

輸出結果:

8 

也就是這兩張圖像 並沒什么相關,如果和源圖像對比,輸出結果如下:

7


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM