1、模板匹配的基本思想是将模板图像在目标图像上滑动逐一对比,通过统计的基本方法进行匹配,比如方差检验,相关性检验等方法来寻找最佳匹配。
2、OpenCv中实现了模板匹配的功能(详见:opencv文档):
cv2.matchTemplate(image, templ, method[, result[, mask]]) -> result
""
1)image: 用于搜索的输入图像,格式为uint8或者float32,大小为(W, H)
2)templ: 用于匹配的模板图像,与image格式相同,大小为(w, h)
3)result:输出的结果图像,每个像素点的值表示的是模板图像与输入图像不同位置通过method计算后的匹配值/相似程度,大小变为(W-w+1, H-h+1),例如两个图像相同,最后的结果就是一个值
4)method:用于计算匹配结果的方法
""
3、得到匹配结果以后,可以通过cv2.minMaxLoc函数找到匹配结果中的最大值或最小值,根据不同method即可找到最佳匹配的位置
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(ret)
""
min_val, max_val, min_loc, max_loc表示ret中的最小值,最大值以及最小值和最大值的位置
""