opencv 模板匹配目标检测
来源:互联网 发布:网络基础设施建设方案 编辑:程序博客网 时间:2024/05/23 23:13
首先,参看上图。假设褐色的大图为待测图片,红色小图为模板图片。
1.result中数据的含义。
模板匹配函数cvMatchTemplate依次计算模板与待测图片的重叠区域的相似度,并将结果存入映射图像result当中,也就是说result图像中的每一个点的值代表了一次相似度比较结果。
2.result的尺寸大小。
如图可知,模板在待测图像上每次在横向或是纵向上移动一个像素,并作一次比较计算,由此,横向比较W-w+1次,纵向比较H-h+1次,从而得到一个(W-w+1)×(H-h+1)维的结果矩阵,result即是用图像来表示这样的矩阵,因而图像result的大小为(W-w+1)×(H-h+1)。
3.如何result中获得最佳匹配区域
使用函数cvMinMaxLoc(result,&min_val,&max_val,&min_loc,&max_loc,NULL);从result中提取最大值(相似度最高)以及最大值的位置(即在result中该最大值max_val的坐标位置max_loc,即模板滑行时左上角的坐标,类似于图中的坐标(x,y)。)
由此得到:rect=cvRect(max_loc.x,max_loc.y,tmp->width,tmp->height);rect表示的矩形区域即是最佳的匹配区域。
上面确定最佳位置是用了max_loc。但是确定矩形位置是使用的是max_loc还是min_loc,这个跟匹配时采用的方法参数有关,具体如下:
关于参数 method:
CV_TM_SQDIFF 平方差匹配法:该方法采用平方差来进行匹配;最好的匹配值为0;匹配越差,匹配值越大。
CV_TM_CCORR 相关匹配法:该方法采用乘法操作;数值越大表明匹配程度越好。
CV_TM_CCOEFF 相关系数匹配法:1表示完美的匹配;-1表示最差的匹配。
CV_TM_SQDIFF_NORMED 归一化平方差匹配法
CV_TM_CCORR_NORMED 归一化相关匹配法
CV_TM_CCOEFF_NORMED 归一化相关系数匹配法
下面是不同的比较方法,可以使用其中的一种 (I 表示图像,T - 模板, R - 结果. 模板与图像重叠区域 x'=0..w-1, y'=0..h-1 之间求和):
-----------------------------------------------------------------------------------------------
- opencv 模板匹配目标检测
- opencv如何用模板匹配寻找目标
- opencv——实现目标模板匹配
- OpenCV肤色检测和模板匹配
- OpenCV肤色检测和模板匹配
- [opencv]模板匹配算法(单图像模板匹配和基于模板匹配的目标跟踪)
- [opencv]模板匹配算法(单图像模板匹配和基于模板匹配的目标跟踪)
- OpenCV中文网站例程——单目标模板匹配
- 使用Opencv中matchTemplate模板匹配方法跟踪移动目标
- [转]opencv如何用模板匹配寻找目标
- opencv 单目标模板匹配(只适用于模板与目标尺度相同)
- OpenCV运动目标检测
- opencv 运动目标检测
- 目标检测 OpenCV
- 【OpenCV】目标检测
- 目标跟踪:模板匹配
- 目标模板匹配
- 尝试用OpenCV的模板匹配来定位和检测
- weblogic eclipse 运行web应用程序
- 三十分钟掌握STL
- adb client, adb server, adbd原理浅析(附带我的操作过程)
- Javascript 对象方式实现命名参数调用(下):自动包装偏函数
- 深入理解JavaScript中的prototype和call()的作用
- opencv 模板匹配目标检测
- MOOC程序设计期中考试1.1
- Oracle学习笔记(三)多表查询(一)
- python即时标记
- NYOJ【搜索】三个水杯
- java实现简单web服务器(分析+源代码)
- 黑马程序员_Java基础[19]_异常、自定义异常
- 有向图最短路径问题---Dijkstra算法(过程)
- 进入公司一个月