码迷,mamicode.com
首页 > 其他好文 > 详细

【Tadeas】模板匹配matchTemplate介绍

时间:2019-09-02 23:52:53      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:标准   mat   32位   关系   pen   移动   col   相关性   pre   

result = cv.matchTemplate(target,tpl,md)
opencv的目标匹配函数为matchTemplate,函数原型为:matchTemplate(image, templ, method[, result[, mask]]) -> result
image参数表示待搜索源图像,必须是8位整数或32位浮点。
templ参数表示模板图像,必须不大于源图像并具有相同的数据类型。
method参数表示计算匹配程度的方法。
result参数表示匹配结果图像,必须是单通道32位浮点。为一些列图像的top_left的坐标和相关性对应关系。
min_val,max_val,min_loc,max_loc = cv.minMaxLoc(result)
result 可通过该函数获取对应最大和最小匹配值和对应的位置。
函数minMaxLoc原型为:minMaxLoc(src[, mask]) -> minVal, maxVal, minLoc, maxLoc
src:参数表示输入单通道图像。
mask:表示用于选择子数组的可选掩码。
minVal:表示返回的最小值,如果不需要,则使用NULL。
maxVal:表示返回的最大值,如果不需要,则使用NULL。
minLoc:表示返回的最小位置的指针(在2D情况下); 如果不需要,则使用NULL。
maxLoc:表示返回的最大位置的指针(在2D情况下); 如果不需要,则使用NULL。
常用的method: cv2.TM_CCOEFF、cv2.TM_CCOEFF_NORMED、cv2.TM_CCORR、cv2.TM_CCORR_NORMED、cv2.TM_SQDIFF', 'cv2.TM_SQDIFF_NORMED。
其中:cv2.TM_SQDIFF和cv2.TM_SQDIFF_NORMED对应的相关性越小,匹配度越高;其他的算法相关性越大,匹配度越高。
这些算法的匹配方式分别是:
- TM_SQDIFF是平方差匹配
- TM_SQDIFF_NORMED是标准平方差匹配
- TM_CCORR是相关性匹配
- TM_CCORR_NORMED是标准相关性匹配
- TM_CCOEFF是相关性系数匹配
- TM_CCOEFF_NORMED是标准相关性系数匹配 
技术图片 $ $ 6中匹配算法的原理
  • 缺点:模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。

【Tadeas】模板匹配matchTemplate介绍

标签:标准   mat   32位   关系   pen   移动   col   相关性   pre   

原文地址:https://www.cnblogs.com/tadeas/p/11444292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!