0.什么模板匹配
模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。
OpenCV 为我们提供了函数:cv2.matchTemplate()。和2D 卷积一样,它也是用模板图像在输入图像(大图)上滑动,并在每一个位置对模板图像和与其对应的输入图像的子区域进行比较。OpenCV 提供了几种不同的比较方法。返回的结果是一个灰度图像,每一个像素值表示了此区域与模板的匹配程度。
1.匹配单个物体
代码速记:
- [::-1]
- eval(" ")
- cv2.matchTemplate()
- cv2.minMaxLoc()
- cv2.rectangle()
参数解释:
w,h=np.array.shape[::-1]#
method=eval(meth)#
res=cv2.matchTemplate(img,template,method)#
min_val,max_val,min_loc,max_loc=cv2.minMaxLoc(res)#
实战:
def match_one(self):
raw_gray=cv2.imread(self.infile,0)
gray_2=raw_gray.copy()
template=cv2.imread('../images/messi_face.jpg',0)
w,h=template.shape[::-1]
print(template.shape)#(52, 40)
print(w,h