Don*_*ald 5 python opencv matchtemplate output
在阅读了文档并在互联网上搜索之后,我仍然不明白如何从openCV解释matchTemplate函数的输出.
我的理解:
result = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)
Run Code Online (Sandbox Code Playgroud)
据我所知,我得到了一个矩阵,它具有图片中每个部分的匹配值.此矩阵中的每个元素确定它与模板显示的相似程度.
例如,我可以过滤所有匹配值低于0.7的位置
numpy.where(result >= 0.7)
我不明白的是这些信息是如何存储在我从matchTemplate函数得到的输出中的,以及如何从输出中提取匹配的位置.
基本上我想做的是将几个模板匹配到一个图像,然后确定哪个模板最适合哪个位置(具有一个位置的所有应用模板的最大匹配值).
我的想法是将匹配值提取到每个模板的矩阵中,然后将矩阵(它们的元素)相互比较以找到最佳匹配.
谢谢你的帮助,请在我错的地方纠正我,
问候唐
您可以使用以下代码:
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
Run Code Online (Sandbox Code Playgroud)
使用 cv2.TM_CCOEFF_NORMED 时,max_loc 将是 img 中模板的位置。max_val 将是匹配的相关性
| 归档时间: |
|
| 查看次数: |
2402 次 |
| 最近记录: |