opencv入門 直方圖比較,直方圖反向投影, 模板匹配

直方圖比較

對輸入的兩張圖像計算得到直方圖H1與H2,歸一化到相同的尺度空間
然後可以通過計算H1與H2的之間的距離得到兩個直方圖的相似程度進
而比較圖像本身的相似程度。Opencv提供的比較方法有四種:
Correlation 相關性比較
Chi-Square 卡方比較
Intersection 十字交叉性
Bhattacharyya distance 巴氏距離

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

步驟:
首先把圖像從RGB色彩空間轉換到HSV色彩空間cvtColor
計算圖像的直方圖,然後歸一化到[0~1]之間calcHist和normalize;
使用上述四種比較方法之一進行比較compareHist

compareHist(
InputArray h1, // 直方圖數據,下同
InputArray H2,
int method// 比較方法,上述四種方法之一
)

反向投影 – 步驟

1.建立直方圖模型
2.計算待測圖像直方圖並映射到模型中
3.從模型反向計算生成圖像

實現步驟與相關API
加載圖片imread
將圖像從RGB色彩空間轉換到HSV色彩空間cvtColor
計算直方圖和歸一化calcHist與normalize
Mat與MatND其中Mat表示二維數組,MatND表示三維或者多維數據,此處均可以用Mat表示。
計算反向投影圖像 - calcBackProject

模板匹配

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

matchTemplate(

InputArray image,// 源圖像,必須是8-bit或者32-bit浮點數圖像

InputArray templ,// 模板圖像,類型與輸入圖像一致

OutputArray result,// 輸出結果,必須是單通道32位浮點數,假設源圖像WxH,模板圖像wxh,
	             則結果必須爲W-w+1, H-h+1的大小。
int method,//使用的匹配方法

InputArray mask=noArray()//(optional)
)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章