模板匹配

Posted 夜_归_人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板匹配相关的知识,希望对你有一定的参考价值。

模板匹配:

 1 // 一幅图像的模板匹配,找到在原图中的大致位置
 2 void Match_Template(IplImage *src, IplImage *templat, IplImage *show)
 3 {
 4     IplImage *result;
 5     int srcW, templatW, srcH, templatH, resultW, resultH;
 6     if(!src || !templat) {
 7         printf("打开图片失败");
 8         return;
 9     }
10     srcW = src->width;
11     srcH = src->height;
12     templatW = templat->width;
13     templatH = templat->height;
14 
15     if(srcW < templatW || srcH < templatH) {
16         printf("模板不能比原图小");
17         return;
18     }
19     //计算结果矩阵的大小
20     resultW = srcW - templatW + 1;
21     resultH = srcH - templatH + 1;
22     //创建存放结果的空间
23     result = cvCreateImage(cvSize(resultW,resultH),32,1);
24     double minVal,maxVal;
25     CvPoint minLoc,maxLoc;
26     //调用模板匹配函数--平方差匹配
27     cvMatchTemplate(src,templat,result,CV_TM_SQDIFF);
28     //查找最相似的值及其所在坐标
29     cvMinMaxLoc(result,&minVal,&maxVal,&minLoc,&maxLoc,NULL);
30     printf("minVal = %f   maxVal = %f\\n ",minVal,maxVal);
31     //绘制结果 
32     cvRectangle(show,minLoc,cvPoint(minLoc.x+templat->width,minLoc.y+templat->height),CV_RGB(255,255,255),5);
33         
34     //显示结果
35     cvNamedWindow("show");
36     cvNamedWindow("tem");
37     cvShowImage("show",show);
38     cvShowImage("tem" , templat);
39     cvWaitKey(0);
40 }

2021-06-04

以上是关于模板匹配的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段1——vue主模板

VSCode自定义代码片段2——.vue文件的模板

VSCode自定义代码片段(vue主模板)

Eclipse 中的通用代码片段或模板

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段