OpenCv學習之一 模版匹配

2021-06-27 20:29:17 字數 1393 閱讀 4346

#include "opencv2/highgui/highgui.hpp"

#include "opencv2/imgproc/imgproc.hpp"

#include using namespace std;

using namespace cv;

/// 全域性變數

mat img; mat img2; mat templ; mat result;

mat img_display;

///mat imgscale; mat imgrotate;

char* image_window = "source image";

char* result_window = "result window";

int match_method;

int max_trackbar = 5;

int scale =1;

/// 函式宣告

void matchingmethod(int, void*);

int main(int argc, char** argv)

waitkey(0);

return 0;

} // 模板匹配

void matchingmethod(int, void*)

else

// 顯示匹配結果

rectangle(img_display, matchloc, point(matchloc.x + templ.cols, matchloc.y + templ.rows), scalar::all(255), 2, 8, 0);

rectangle(result, matchloc, point(matchloc.x + templ.cols, matchloc.y + templ.rows), scalar::all(255), 2, 8, 0);

imshow(image_window, img_display);

imshow(result_window, result);

}

使用了opencv下的程式,對模版匹配(matchtemplate)進行了魯棒性測試,包括當待匹配模版進行縮放或者旋轉的情況。

其中,當待匹配模版放大縮小時,感覺基本不影響匹配的結果。

當待測模版旋轉時,小角度的旋轉,也能夠很好的進行匹配。本例中,當順時針,逆時針旋轉30度時,能夠很好的匹配。當旋轉180度時也能匹配好。

本例中,for迴圈遍歷360度,將匹配的結果儲存為jpg格式。

測試**:

OPENCV3 模版匹配

一 引言 模板匹配的作用在影象識別領域作用可大了。那什麼是模板匹配?模板匹配,就是在一幅影象中尋找另一幅模板影象最匹配 也就是最相似 的部分的技術。說的有點抽象,下面給個例子說明就很明白了。在上面這幅全明星照中,我們想找出姚明頭像的位置,並把它標記出來,可以做到嗎?可以,這就是模板匹配的要做的事情。...

opencv學習之一

對有關opencv的基礎知識做一系列的總結,今天是第一節 第一章 1.1介紹 opencv open source computer vision library 是乙個基於bsd協議的開源庫,它包含了數百個計算機視覺的演算法實現。這個文件描述了opencv 2.x的api函式,這個版本的api是基...

Opencv 入門之 一

include include using namespace std using namespace cv int main int argc,char argv namedwindow display image window autosize 建立視窗 imshow display image...