模板匹配流程以及项目实战

模板匹配的函数

cv2.matchTemplate(img,template,method).
img:需要检测的照片
template:模板图片
method:检测方法:包括:
1.TM_SQDIFF;TM_SQDIFF_NORMED(归一化处理)
2.TM_CCORR:TM_CCORR_NORMED(归一化处理)
3.TM_CCOEFF:TM_CCOEFF_NORMED(…)
个人建议采用归一化处理的方法更好,稳定性更强。
(1:method 的值为cv2.TM_SQDIFF 和cv2.TM_SQDIFF_NORMED 时,result 值为0 表示匹配度最好,值越大,表示匹配度越差。
(2:method 的值为cv2.TM_CCORR、cv2.TM_CCORR_NORMED、cv2.TM_CCOEFF 和cv2.TM_CCOEFF_NORMED 时,result 的值越小表示匹配度越差,值越大表示匹配度越好。

模板匹配查找目标位置

查找最值(极值)与最值所在的位置(目标的左下角位置),可以使用cv2.minMaxLoc()函数实现。该函数语法格式如下:

minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(matchTemplate 函数的返回值)
topLeft = minLoc # 查找最小值所在的位置(图像左下角位置)
以 topLeft 点为模板匹配位置的左下角坐标,结合模板图像的宽度w 和高度h 可以确定匹配位置的右上角坐标,代码如下所示:
bottomRight = (topLeft[0] + w, topLeft[1] + h) #w 和h 是模板图像的宽度和高度

w 和 h是模板的宽度和高度,

h,w=photo.shape[:2]

通过上述方法,我们以及找到了目标的坐标,接下来,我们可以使用绘图方法将目标框选出来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值