python-3.x - Python OpenCV - 确定性分数模板匹配
问题描述
我有以下 OpenCV 模板匹配代码、扫描和模板(来自我之前在这里提出的问题):
import cv2
import numpy as np
#load image into variable
img_rgb = cv2.imread('example_scan.jpg')
#load template
template = cv2.imread('example_template.jpg')
#read height and width of template image
w, h = template.shape[0], template.shape[1]
res = cv2.matchTemplate(img_rgb,template,cv2.TM_CCOEFF_NORMED)
threshold = 0.8
loc = np.where( res >= threshold)
for pt in zip(*loc[::-1]):
cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,255,0), 2)
img_rgb = cv2.resize(img_rgb,(800,600))
cv2.imwrite("example_result.png", img_rgb)
模板:
好的,这样就可以了:templateMatch 找到看起来像模板的圆圈的位置。完美的!
现在我的问题变成了:OpenCV 在多大程度上确定找到的这些位置是正确的?假设从 0% 到 100%?我发现了一些关于 minMaxLoc 的信息,但我不知道这是否是我正在寻找的内容以及 minMaxLoc 的结果是什么,更不用说如何使用这些值了。老实说,我发现文档不是很清楚。
所以:
有没有办法显示 OpenCV 对找到的点有多确定?或者它的表现如何?
如果是,如何?
我希望有人能帮帮忙。
问候, Ganesh
解决方案
推荐阅读
- ios - 如何启动与使用未受保护 ATT 属性的 BLE 外围设备的配对?
- jolt - 颠簸转换以匹配多个键值
- reactjs - 用反应钩子构建的振荡器不会停止
- react-native - Apollo GraphQL 客户端不适用于 react native 的发布版本
- python - Python requests-html session GET 正确用法
- api - Flutter http [GET][200] 为空以获取确切的 API
- mysql - 如何在表达式中多次使用 COUNT() 实现 OVER?
- python - 如何在for循环中将一列数字转换为列表
- java - 使用 maven 构建项目时在中心找不到工件
- ffmpeg - 在 FFmpeg 中使用 mpdecimate 去除视频中的滞后峰值