二十
六、模板匹配
1、模板匹配介紹(template match)
2、匹配演算法介紹
opencv中提供了6種常見的匹配演算法如下:
歸一化:
3、相關api介紹
cv::matchtemplate
matchtemplate
(inputarray image,
//原影象,必須是8bit或者32bit浮點數影象
inputarray templ,
//模板影象,型別與輸入影象一致
outputarray result,
//輸出結果,必須是單通道32bit浮點數。例如:假設原影象大小是w*h,模板影象大小是w*h,那麼結果大小必須為(w-w+1)*(h-h+1)。
int method,
//使用的模板匹配方法
inputarray mask=
noarray()
//(optional)
)
示例**:(模板匹配)
#include
#include
#include
using
namespace cv;
using
namespace std;
mat src, dst, temp, result;
int match_method = tm_sqdiff;
int max_track =5;
const
char
* input_t =
"input image"
;const
char
* output_t =
"result image"
;const
char
* match_t =
"template match-demo"
;void
match_demo
(int
,void*)
;int
main
(int argc,
char
** ar**)
namedwindow
(input_t, window_autosize)
;namedwindow
(output_t, window_autosize)
;namedwindow
(match_t, window_autosize)
;imshow
(input_t, src)
;imshow
("temp"
, temp)
;const
char
* trackbar_title =
"match alogo type"
;createtrackbar
(trackbar_title, output_t,
&match_method, max_track, match_demo)
;match_demo(0
,0);
waitkey(0
);return0;
}void
match_demo
(int
,void*)
else
//繪製矩形
rectangle
(dst,
rect
(temploc.x, temploc.y, temp.cols, temp.rows)
,scalar(0
,0,255),
2,8)
;//rectangle(result, rect(temploc.x, temploc.y, temp.cols, temp.rows), scalar(0, 0, 255), 2, 8);
imshow
(match_t, dst)
;}
輸出結果顯示:
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.方法 模板匹配中,源影象和...
模板匹配opencv
模板匹配,就是在一幅影象中尋找另一幅模板影象最匹配 也就是最相似 的部分的技術。說的有點抽象,下面給個例子說明就很明白了。在上面這幅全明星照中,我們想找出姚明頭像的位置,並把它標記出來,可以做到嗎?可以,這就是模板匹配的要做的事情。其實模板匹配實現的思想也是很簡單很暴力的,就是拿著模板 姚明頭像 在...