Python3与OpenCV3.3 图像处理(十四)--模板匹配
一、什么是模板匹配
在整个图像区域发现与给定子图像匹配的区域,模板匹配的工作方式是在待检测图像上从左到右,从上到下计算模板图象与重叠子图像的匹配度,匹配度越大,两者越相同
二、OpenCV中的模板匹配
CV_TM_SQDIFF 平方差匹配法:该方法采用平方差来进行匹配;最好的匹配值为0;匹配越差,匹配值越大。
CV_TM_CCORR 相关匹配法:该方法采用乘法操作;数值越大表明匹配程度越好。
CV_TM_CCOEFF 相关系数匹配法:1表示完美的匹配;-1表示最差的匹配。
CV_TM_SQDIFF_NORMED 归一化平方差匹配法
CV_TM_CCORR_NORMED 归一化相关匹配法
CV_TM_CCOEFF_NORMED 归一化相关系数匹配法
三、示例代码
import cv2 as cv import numpy as np def template(): #模板图片 tpl=cv.imread('12tem.jpg') #目标图片 target=cv.imread('12.jpg') cv.imshow('template',tpl) cv.imshow('target',target) methods=[cv.TM_SQDIFF_NORMED,cv.TM_CCORR_NORMED,cv.TM_CCOEFF_NORMED] #获得模板的高宽 th,tw=tpl.shape[:2] for md in methods: #执行模板匹配 #target:目标图片 #tpl:模板图片 #匹配模式 result=cv.matchTemplate(ta