相關api
code
效果1、模板匹配概念;
2、api;
3、code;
1、模板:一幅小的子影象,在大的影象(目標影象)中尋找與子影象相同或相似的部分,稱為模板匹配;
2、模板匹配就是在整個影象區域發現與給定子影象匹配的小塊區域;
3、模板匹配首先需要乙個模板影象t(給定的子影象),還需要乙個待檢測的影象(s),在待檢測影象(target image)上,從左到右,從上到下計算模板影象與重疊子影象的匹配度,匹配程度越大,兩者相同的可能性越大;
1、計算平方不同;越小,越匹配(0–完全匹配)
2、計算相關性(correlation);越相關,值越大
3、計算相關係數;越大,越相似
4、計算歸一化平方不同;
5、計算歸一化相關性不同;(==1 , 完全相關)
6、計算歸一化相關係數;
tm_sqdiff : 計算平方不同
tm_sqdiff_normed :計算歸一化平方不同
tm_ccorr : 計算相關性
tm_ccorr_normed : 計算歸一化相關性
tm_ccoeff : 計算相關係數
tm_ccoeff_normed : 計算歸一化相關係數
1、模板匹配api :matchtemplate()
引數說明:
image : 源影象,必須是8bit或32bit浮點數影象;
templ : 模板影象,必須與輸入影象一致;
result : 必須是單通道32位浮點數,假定原影象大小 為wid
th×h
eigh
twidth \times height
width×
heig
ht,模板影象大小為wid
th×h
eigh
twidth \times height
width×
heig
ht,則輸出影象大小必須是(wi
dth−
widt
h+1)
×(he
ight
−hei
ght+
1)(width - width + 1 )\times (height -height + 1)
(width
−wid
th+1
)×(h
eigh
t−he
ight+1)
method : 使用的匹配方法(巨集定義,盡量使用歸一化方法)
//繪製矩形
rectangle
(dst,
rect
(temploc.x, temploc.y, t1.cols, t1.rows)
,scalar(0
,0,255),
2, line_aa)
;rectangle
(result,
rect
(temploc.x, temploc.y, t1.cols, t1.rows)
,scalar(0
,0,255),
2, line_aa)
;imshow
(output, result)
;imshow
(match_t, dst)
;}
原影象,模板影象,模板匹配輸出影象分別如下:
注意:opencv提供的6種演算法需要自行判斷適應性,有的演算法適應性不好,對某些模板檢測會出現錯誤的情況,屬於演算法本身的缺陷;有的演算法則不會出現這種情況;
Lession 28 類模板
同乙個類,對不同的資料型別完成不同的功能 這時可以用類模板 抽象類 忽略函式的具體實現,保留函式原型的宣告 類模板 保留類的具體實現,類模板 例項化為 模板類 template class a 1.類模板的引數可以有預設實參 型別 ifndef stack define stack template...
OpenCV模板匹配
include include opencv2 opencv.hpp using namespace std using namespace cv int main int argc,char argv load reference image img imread argv 1 always ch...
opencv模板匹配
模板匹配是一種用於在源影象s中尋找定位給定目標影象t 即模板影象 的技術。其原理很簡單,就是通過一些相似度準則來衡量兩個影象塊之間的相似度similarity s,t 2.用途 模板匹配方法常用於一些平面影象處理中,例如印刷中的數字 工業零器件等小尺寸目標影象識別分類。3.方法 模板匹配中,源影象和...