问题标签 [matchtemplate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 匹配来自相机捕获的模板时访问冲突/程序没有响应。(C# EmguCV)
这是我目前在 C# 和 EmguCV 中使用的代码:
我试图在相机捕捉中找到一个模板,但是,当我运行程序并开始相机捕捉时,我的相机 LED 亮起,然后程序在尝试捕捉时变得没有响应。也许它与匹配模板函数的放置或使用的变量类型有关,但我不太确定,因为我没有那么有经验,所以我想对我的代码问题进行一些输入。
我确实意识到不需要 imageToShow 变量,但我决定保留它,直到我可以让事情正常工作,然后我可以自己更多地处理它。
在这里找到了用于检测模板的代码 emgu find image a in image b
它主要用于检测 2 个静态图像之间的模板,但我将源编辑为来自网络摄像头。
当我从代码中删除 using match 模板段时,网络摄像头工作正常。
任何输入将不胜感激,感谢和抱歉,如果这是一个明显的错误,我对这种事情还是新手。
编辑:忘了提到它在调试程序时给出了这个错误
python - 如何解释匹配模板输出?(openCV,Python)
在阅读了文档并在整个互联网上搜索之后,我仍然不明白如何解释 openCV 的 matchTemplate 函数的输出。
我的理解:
我知道我得到了一种矩阵,其中的每个部分都具有匹配值。这个矩阵中的每个元素决定了它与模板的相似度。
例如,我可以过滤所有匹配值低于 0.7 的位置
numpy.where(result >= 0.7)
我不明白的是这些信息如何存储在我从 matchTemplate 函数获得的输出中,以及如何从输出中提取匹配的位置。
基本上我想做的是将多个模板匹配到一个图像,然后确定哪个模板与哪个位置最匹配(具有一个位置的所有应用模板的最大匹配值)。
我的想法是将匹配值提取到每个模板的矩阵中,然后将矩阵(它们的元素)相互比较以找到最佳匹配。
感谢您的帮助,请纠正我错的地方,
问候唐
python - OpenCV 错误:断言失败((深度 == CV_8U || 深度 == CV_32F)
我知道这个问题已经被问过很多次了,但没有一个能解决下面的问题。我有两个都是 uint8 的 np 数组,但 opencv 似乎错误地认为一个是 32F。为什么会这样,如果我想将两个图像匹配为模板,我该如何在 python 中修复它。
当我尝试匹配模板时导致错误:
值得注意的是,我创建了两个 numpy 数组,如下所示: 第一个:
第二个:
是的,我知道,我可以使用 cv2.imread 加载两者,一切都会好起来的,但在我的情况下,这是不可能的,因为我的示例中需要 PIL(用于制作屏幕截图img = cv2.cvtColor(np.array(ImageGrab.grab()), cv2.COLOR_BGR2RGB)
),所以我需要从 PIL 转换为 Opencv,我需要让上面的例子工作。
python - 与已知模板相比,如何测量图像的旋转角度
我已经通过使用下面的方法成功了,但我确信必须有其他更省时的替代方法来提供精确的旋转角度,而不是像下面的方法那样提供近似值。我很高兴听到您的反馈。
该过程基于以下步骤:
- 导入模板图像(即:方向为 0º)
- 创建相同图像的离散数组,但每个图像与其最近的邻居相比以 360º/rotatesteps 旋转(即:30 到 50 个旋转图像)
所以我得到:
角度 = [0, 10.0, 20.0, 30.0, .../..., 340.0, 350.0]
image_array = [image_1, image_2, image_3, ...] 其中 image_i 是 numpy 数组上的不同通道。
- 检索与我们之前旋转并存储到数组中的示例图像相比,我正在查看的角度的“test_image”
- 遵循一系列 cv2.matchTemplate() 和 cv2.minMaxLoc() 来找到旋转图像的角度与“test_image”最匹配
- 最后,我选择与样本图像匹配的离散化角度作为与“max_val”最大值的模板图像相对应的角度。
考虑到结果精度基于旋转模板图像的数量而具有更高/更低精度的近似值,以及旋转模板数量增加时所花费的上升时间,这已证明效果很好......
我确信必须有其他基于不同方法的更智能的替代方案,例如生成图像的一种“方向矢量”,因此只需将结果数字与样本模板中先前已知的数字进行比较......
您的反馈将不胜感激。
opencv - opencv matchTemplate 精度问题?
谁能帮我理解为什么 matchTemplate 在模板或图像为零的区域不提供零输出?
这是一个例子
打电话
结果如预期:
相反,调用
我有
那么为什么结果 ccor 的左上角区域不归零呢?这种不精确性在实际案例中引入了不当行为。
谢谢
安德烈亚
python - 相同形状不同颜色的python cv2匹配模板
我尝试使用 opencv2 匹配模板。
这是我正在搜索的模板和屏幕: screen_template
这是我用来匹配模板的代码:
当我使用 0.4 的阈值时,结果是: 结果
即使我使用的是红色典当模板,opencv2 也仅与 0.4 阈值的蓝色典当匹配。
opencv - OpenCV“坐标特定”匹配模板
我有一张图像,我需要尽可能快地检测到一个物体。我也知道我只需要检测离中心最近的物体。
AFAIK Opencv 的 MatchTemplate 有点像这样(伪代码):
之后,我必须遍历生成的图像并找到离中心最近的点,这都是相当浪费的。
所以我想知道我是否可以做类似的事情:
基本上我在这里需要的是 calcSimilarity 函数。这将使我能够大大优化流程。