参考:OpenCV模板匹配函数matchTemplate详解


Mat result;
Mat templateImage=imread("./template.bmp");
Mat srcImage =imread("./src.bmp");imshow("templateImage", templateImage);
imshow("srcImage", srcImage);int result_cols = srcImage.cols - templateImage.cols + 1;
int result_rows = srcImage.rows - templateImage.rows + 1;
if (result_cols < 0 || result_rows < 0)
{printf("Please input correct image!\n");return -1;
}
result.create(result_cols, result_rows, CV_32FC1);
//    enum { TM_SQDIFF=0, TM_SQDIFF_NORMED=1, TM_CCORR=2, TM_CCORR_NORMED=3, TM_CCOEFF=4, TM_CCOEFF_NORMED=5 };
matchTemplate(srcImage, templateImage, result, TM_CCOEFF_NORMED);   //最好匹配为1,值越小匹配越差
double minVal = -1;
double maxVal;
Point minLoc;
Point maxLoc;
Point matchLoc;
minMaxLoc(result, &minVal, &maxVal, &minLoc, &maxLoc, Mat());//取大值(视匹配方法而定)
//    matchLoc = minLoc;
matchLoc = maxLoc;//取大值,值越小表示越匹配
//QString str = "Similarity:" + QString::number((maxVal) * 100, 'f', 2) + "%";
//qDebug(str.toAscii().data());Mat mask = srcImage.clone();
//绘制最匹配的区域
rectangle(mask, matchLoc, Point(matchLoc.x + templateImage.cols, matchLoc.y + templateImage.rows), Scalar(0, 255, 0), 2, 8, 0);
imshow("mask", mask);
waitKey(1);

测试:

C++_OpenCV模板匹配相关推荐

  1. opencv 有无判断 模板匹配_opencv模板匹配

    模板匹配在图像处理中经常使用,该算法主要用于寻找图像中与模板图像相同的区域.此外,也用于图像定位,通过模板匹配找到指定的位置,然后进行后续的处理. 在进行模板匹配的时候,需要先制作模板,模板图像一般是 ...

  2. java opencv 模板匹配算法_OpenCV探索之路(九):模板匹配

    模板匹配的作用在图像识别领域作用可大了.那什么是模板匹配? 模板匹配,就是在一幅图像中寻找另一幅模板图像最匹配(也就是最相似)的部分的技术. 说的有点抽象,下面给个例子说明就很明白了. 在上面这幅全明 ...

  3. 使用OpenCV实现Halcon算法(3)基于轮廓的模板匹配

    声明:本篇仅仅是分享网上的开源项目,算法非本人原创. 〇.算法效果展示 0.1要定位的模板一 找到的匹配 在有污损情况下找到的匹配 0.2要定位的模板2 找到的匹配 一. 理论部分 模板匹配的算法包括 ...

  4. 《OpenCV3编程入门》学习笔记9 直方图与匹配(五)模板匹配

    9.5 模板匹配 基本思想:   在一幅图像中寻找与另一幅模板图像最匹配的部分,通过在输入图像上滑动图像块,对实际的图像块和输入图像进行匹配. 9.5.1 模板匹配:matchTemplate()函数 ...

  5. OpenCV+python:模板匹配

    1,模板匹配的概念及原理 模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术. 我们需要2幅图像: 模板 (T): 将和原图像比照的图像块 原图像 (I): 在这幅图像里,我们希望 ...

  6. OpenCV(项目)车牌识别3 -- 模板匹配

    目录 一.基础理论 1.思想 2.大致过程 二.详细过程 1.首先需要模板库 2.得到模板 3.原图限定大小 4.模板匹配 5.匹配所有子文件夹,保存最佳得分(最匹配项) 三.大致过程(细分类,节省时 ...

  7. OpenCV(二十)模板匹配

    目录 一.基础理论 1.作用与过程 2.原理 3.函数matchTemplate 二.代码 三.效果 参考资料 一.基础理论 1.作用与过程 所谓的模板匹配,就是在给定的图片中查找和模板最相似的区域, ...

  8. 人眼模板匹配自动跟踪

    void trackEye(cv::Mat& im, cv::Mat& tpl, cv::Rect& rect) {// 人眼位置cv::Size pSize(rect.wid ...

  9. OpenCV中使用模板匹配识别空闲的货架空间

    但是点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 假设你是一名在超市工作的员工,被要求在商店里四处走动,检查需要 ...

  10. Opencv java模板匹配-角点检测(11)

    函数 在opencv中有模板匹配的方法, Imgproc.matchTemplate(src, template, result, Imgproc.TM_CCOEFF); 这个方法输入的参数分别是: ...

最新文章

  1. C/C++中memset()函数
  2. 检索数据_6_过滤记录结合使用别名
  3. android中string.xml文件的使用
  4. 第四届cccc团体程序设计天梯赛
  5. xxx is not in the sudoers file.This incident will be reported.
  6. 数据结构 4 字符匹配-KMP算法
  7. ZooKeeper之ZkClient使用示例
  8. 设计模式(八)桥接模式
  9. HTTP常用参数对照表
  10. 线报天下 2021 (免费补丁) 原创工具
  11. 谷歌传奇Jeff Dean获2021年IEEE冯诺依曼奖,8页本科论文被大学图书馆保存至今
  12. 仿今日头条项目——个人中心
  13. Gif截图工具——GifCam
  14. 掌上军营服务器信息,智慧军营之视频监控系统
  15. 《终身成长》学习总结
  16. LeetCode207: 课程表(字节手撕算法拓扑排序)
  17. Sen2cor提示:Product metadata file cannot be read报错
  18. c语言程序0到1000的素数,C语言实现之100-1000以内素数的等差数列
  19. 商城产品属性数据库设计
  20. CF - 777D. Cloud of Hashtags 暴力

热门文章

  1. PMP工具之三点估算
  2. vue引入百度地图使用JavaScript API GL渲染点位的图片
  3. JAVA 下载Word文档
  4. Spotfire 表达式之日期和时间函数
  5. 科大讯飞语音识别 语音合成 数字读法 Android
  6. java面试题--java基础--迈达斯篇
  7. Maven使用 | 多模块下的打包问题
  8. win32汇编--创建窗口程序(RadAsm)
  9. MIUI10使用adb工具实现免ROOT冻结系统应用和去广告
  10. Simscape Multibody --- 齿轮齿条约束