OpenCV-模板匹配
2018-03-04 17:29
246 查看
寻找一幅图像的匹配的模板,可以在一段视频里寻找出我们感兴趣的东西,比如条形码的识别就可能需要这样类似的一个工作提取出条形码区域(当然这样的方法并不鲁棒)。而OpenCV已经为我们集成好了相关的功能。函数为matchTemplate。
所谓模板匹配就是在一幅图像中寻找和模板图像(patch)最相似的区域。该函数的功能为,在输入源图像Source image(I)中滑动框,寻找各个位置与模板图像Template image(T)的相似度,并将结果保存在结果矩阵result matrix(R)中。该矩阵的每一个点的亮度表示与模板T的匹配程度。然后可以通过函数minMaxLoc定位矩阵R中的最大值(该函数也可以确定最小值)。
匹配的方法有:
CV_TM_SQDIFF 平方差匹配法,最好的匹配为0,值越大匹配越差
CV_TM_SQDIFF_NORMED 归一化平方差匹配法
CV_TM_CCORR 相关匹配法,采用乘法操作,数值越大表明匹配越好
CV_TM_CCORR_NORMED 归一化相关匹配法
CV_TM_CCOEFF 相关系数匹配法,最好的匹配为1,-1表示最差的匹配
CV_TM_CCOEFF_NORMED 归一化相关系数匹配法
前面两种方法为越小的值表示越匹配,后四种方法值越大越匹配。
其实模板匹配的使用和直方图反向投影calcBackProject函数很像,只是直方图反向投影对比的是直方图,而模板匹配对比的是图像的像素值,相比较而言,直方图反向投影的匹配鲁棒性更好。
总结这个函数,感觉功能不是很强大,应用不是很广,因为只能在图像中搜索出指定的模板,如果模板是从待搜索目标中截取出来的,效果会很好,如果模板不是待搜素图像的一部分,效果就差的多了,所以该函数的使用还是有很大的局限性。
iOS开发者交流群:①446310206 ②446310206
推荐资源:
iOS-Swift-Developers
iOS-OC-Developer
相关文章推荐
- 【opencv练习31 - 模板匹配】
- opencv如何用模板匹配寻找目标
- OpenCV 谈opencv的长处与短处:模板匹配,金字塔
- opencv 单目标模板匹配(只适用于模板与目标尺度相同)
- 尝试用OpenCV的模板匹配来定位和检测
- openCV实现模板匹配
- opencv输出文字 opencv简单的图像模板匹配代码
- OpenCV中的模板匹配方法及其应用
- ROS_OpenCV2_MatchTemplate模板匹配
- Atitit opencv 模板匹配
- opencv下通过模板匹配进行人体跟踪
- OpenCV之imgproc 模块. 图像处理(4)直方图均衡化 直方图计算 直方图对比 反向投影 模板匹配
- python for OpenCV图像处理之模板匹配以及分水岭算法
- opencv-模板匹配的例子
- opencv 模板匹配与滑动窗口(单匹配) (多匹配)
- opencv学习_11 (模板匹配(包括单模板和多模板))
- 【OpenCV】模板匹配和图像拼接
- Atitit opencv 模板匹配
- python opencv入门 模板匹配(26)
- opencv——实现目标模板匹配