ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Tadeas】模板匹配matchTemplate介绍

2019-09-02 22:52:13  阅读:229  来源: 互联网

标签:matchTemplate NORMED 匹配 SQDIFF Tadeas cv2 TM result 模板


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中匹配算法的原理
  • 缺点:模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。

标签:matchTemplate,NORMED,匹配,SQDIFF,Tadeas,cv2,TM,result,模板
来源: https://www.cnblogs.com/tadeas/p/11444292.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有