#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...