模板匹配:
相关概念
- 模板匹配就是在整个图像区域发现与给定子图像匹配的最小区域。
- 所要一个模板图像及待检测图像。
- 工作方法:在模板上,从左至右、从上到下,计算模板图像与重叠自图像的匹配度,匹配都越大,两者相同的可能性越大。
- 度量方法:相关性、平方、相关因子
- 提高效率的方法:通过积分图、及FFT、IFFT转换计算领大幅度提高运算效率。
代码实操:
def template_demo():
tpl = cv.imread("E:/picture/tpl.jpg")
target = cv.imread("E:/picture/text1.jpg");
cv.imshow("template image",tpl );
cv.imshow("taget image", target);
methods = [cv.TM_SQDIFF_NORMED, cv.TM_CCORR_NORMED, cv.TM_CCOEFF_NORMED];
th, tw = tpl.shape[0:2];
for md in methods:
print(md);
result = cv.matchTemplate(target, tpl, md);
min_val, max_val, max_loc, min_loc = cv.minMaxLoc(result);
if md == cv.TM_SQDIFF_NORMED:
tl = min_loc;
else:
tl = max_loc;
br = (tl[0] + tw, tl[0] + th);
cv.rectangle(target, tl, br, (0, 0, 255), 2);
cv.imshow("match-"+np.str(md), target);
- matchTemplate()及 minMaxLoc():
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1ed4ea5edd2cbca97d207d6be69b5d05.png)
- rectangle():
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ca8e4d1eb0dd5a0e79d8eafab22628d4.png)