问题标签 [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.

0 投票
1 回答
224 浏览

python - matchTemplate 与调整大小的图像不起作用:(-215:断言失败)_img.size().height <= _templ.size().height

我在 matchTemplate 调用之前调整了我的图像大小,以确保两个图像具有相同的大小。

但我得到了这个错误:

0 投票
1 回答
398 浏览

c# - matchtemplate openCv2 python不匹配类似的样子

我有一个随机改变颜色的图像,所以有时 OpenCV 会识别对象,有时它不是:

我的代码:

与 emguCv 类似的代码:

(顺便说一句,更改阈值无济于事)

识别示例:

低门槛识别

模板

我想知道你是否知道如何在不依赖颜色、灰度或他的位置的情况下跟踪照片中的相同图案对象(该对象具有一些相似的共享属性,因此在人眼中它被称为容易跟踪)。

我尝试使用 emguCv for c sharp 进行相同的进度,以检查结果是否有任何不同,但没有意外,没有区别。如果您能建议我如何管理以跟踪主图像中的模板,我将不胜感激。提前致谢!

0 投票
1 回答
579 浏览

python - 用于钓鱼小游戏 cv2.matchTemplate 的 Py 脚本

我正在尝试制作钓鱼小游戏的脚本,网上有一个关于albion钓鱼脚本的帖子,问题是在这个游戏中指针很细,并且有很多不同的纹理和颜色,对于简单的灰度匹配工作在滑块的一个部分上很好(例如在水纹理上),有时在其他部分(树木纹理)上工作,在第三个部分(例如天空)上不起作用。如果我更改为较低的阈值,它通常会在不匹配的情况下激活。

屏幕

没有运气也尝试了边缘检测 cv2.canny。

关键是当鱼在最小的绿色区域时单击按钮。该字段出现在滑块的随机部分中。

有任何想法吗?

=================

更新

正如Furas所说,尝试了配色

但在回合之前或回合之间我得到错误

如何解决?

按照弗拉斯的建议,将两个面具合二为一

但是我可以用什么来找到绿地和鱼的最大值?到目前为止,它是 2 个掩码、2 个 cnts 和 2 个最大值。

使用 mss sct.grab 我没有那么好的 FPS(平均 25fps)还有其他更好的捕捉方法吗?

非常感谢!

0 投票
1 回答
105 浏览

c++ - 在 OpenCV 中与屏幕捕获一起使用的函数 matchTemplate

我想使用一个调用matchTemplate来匹配模板图片与我当前屏幕的 OpenCV 函数。我当前的屏幕和模板图片保存在文件中。我正在使用下面的代码将我的模板与屏幕匹配:

结果,当模板与屏幕真正匹配时,它的值min大约等于0.003,但有时当模板与屏幕不匹配时,它也等于大约0.0045(当我使用另一张具有相似屏幕的图片时会发生这种情况) .

我想了解一个解决方案,它可能是一个可以更精确地检查它的特殊功能。我的模板图片 (template.png) 只是主屏幕 (screen.bmp) 的裁剪图片,因此最好的解决方案是一个可以逐像素匹配的 OpenCV 函数,可能偏差很小。我想完美匹配它而不是找到相似之处。

0 投票
1 回答
2518 浏览

ocr - 使用 Tesseract 进行 OCR 匹配模板感兴趣区域 (ROI)

这是我第一次尝试使用 Python。我通常使用 .NET,但为了识别文档中的形状,我转向 Python 和 OpenCV 进行图像处理。

我正在使用 OpenCV TemplateMatching (cv2.matchTemplate) 在我的文档中发现感兴趣的区域 (ROI)。

这很好用。模板匹配 ROI 并放置矩形,识别匹配。

我图像中的 ROI 包含我还需要 OCR 和提取的文本。我正在尝试使用 Tesseract 来做到这一点,但根据我的结果,我认为我的做法是错误的。

我的流程是这样的:

  • 运行 cv2.matchTemplate
  • 循环匹配的 ROI
  • 添加矩形信息。印象
  • 传递矩形信息。到正方体
  • 将从 tesseract 返回的文本添加到图像
  • 写出最终图像

在下图中,您可以看到匹配的区域(很好),但您可以看到 ROI 中的文本与 tesseract 中的文本(ROI 的右下角)不匹配。

请有人看一下并建议我哪里出错了?

0 投票
1 回答
35 浏览

scikit-image - 试图从 skimage.feature 理解 match_template

我试图从 match_template 中理解某人的代码,但我无法理解下面的过程。假设有一张照片他要切几部分。图片保存在:

然后他在该图片上选择了 2 个位置,坐标为:

由于 match_template 需要两个参数 - 一个是原始图片,另一个是他将用来比较的内容。那么下面的流程是这样的:

我不知道他想在 imagenband 和 templateband 上做什么。有人可以指点我一个方向吗?

谢谢!

0 投票
0 回答
47 浏览

python - opencv图像处理方法推荐

所以我正在开发一个将屏幕截图与模板图像进行比较的程序。我完成了图像识别代码(至少大部分(据我所知)),但它不断得到误报。现在我正在使用 CV_TM_CCOEFF,但我仍然不完全理解这些是如何工作的(我数学很烂,这是一个朋友推荐的)如果我碰巧已经是正确的人,任何关于这方面的建议将不胜感激。代码 :

附带说明一下,如果有人可以解释这行代码的工作原理,将不胜感激

提前致谢!

0 投票
0 回答
121 浏览

python - OpenCV 匹配模板仅在指定的位置网格上

我有一个程序,我将一张图像作为输入,我必须将它与大约 640 个已知图像进行比较,看看哪一张最相似。为此,我正在考虑使用 OpenCV 的匹配模板,因为它在做我想做的事情时似乎非常快速有效。

我注意到匹配两个 400x240 像素的图像 1000 倍比在 1400x240 像素中匹配 400x240 像素的图像要慢得多,尽管它们都是 1000 次匹配。我的想法是将 640 张图像组合成一张大图像,将它们包含在一个网格中(很容易做到,因为它们都具有相同的大小)。

这样做我可以真正加快这个过程,如果我可以只在大组合参考的一些子图像中匹配输入图像的模板(那些在“网格像素”中左上角的子图像,就像在一个子图像中一样实际上是我用来组合成大参考图像的 640 张图像之一),但似乎没有办法告诉匹配模板只匹配指定的一组位置。

我怎样才能加快这个过程?是否有不同的库(我正在使用 Python)执行与匹配模板类似的操作,但我可以在其中指定要匹配的子图像?有完全不同的方法更适合我的目标吗?

编辑:基本上我要做的是:我正在从视频游戏中截取屏幕截图,并且在屏幕截图中有一些角色的干净肖像(400x240 像素)。我有所有角色的清晰肖像(其中 80 个,每个 8 个皮肤,总共 640 个肖像),我想找出哪些肖像最接近屏幕截图中的那个,以便我可以识别所扮演的角色。如果我也可以像 OpenCV 中的 matchTemplate 那样“屏蔽”一些像素,那就太棒了,因为 400x240px 矩形的某些特定部分会因玩家而异,我希望我不必考虑这一点并且可以屏蔽掉那些(已知的)像素

0 投票
0 回答
80 浏览

python - 如何使用 Python 同时执行多个任务?

我试图让我的宏程序一次执行多个功能。我设置它的方式是我定义函数,然后在大多数函数上调用一个线程,并让一些函数仍在主 While 循环上运行。

好的,所以问题是:当主 While 循环函数正在运行时,我打开的不同线程将不会执行,直到主 While 循环函数正在执行。

我需要的是一种使其成为可能的方法,以便所有函数同时执行,无论它是否等待主要的 While 循环函数完成。

这是我的代码:谢谢

请注意 charMove 函数,它有一个 time.sleep,并且线程不会评估,直到 charMove 函数结束,这是我的问题.. 任何解决方案?

0 投票
1 回答
575 浏览

opencv - OpenCV 填充缺失的像素

也许有人有想法,我们如何在白色数字上将黑色像素填充为白色,并使该图像更易于识别

在此处输入图像描述

我正在尝试内核大小 (1,1) 的 GaussianBlur,但它没有有效帮助,有时图像上的数字会合并,这是最糟糕的结果