问题标签 [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 回答
1853 浏览

opencv - opencv模板匹配成功

如何衡量 opencv 模板匹配算法的成功与否?

我了解 minmaxLoc 函数可用于查找最佳匹配的位置。但它是否也说明了这场比赛的实际表现如何?(如果是,您将如何发现?)

是否有更合适的函数来测量找到的匹配(绿色矩形)和原始模板之间的相关性?例如,如果模板图像与匹配图像中的图像相比略微旋转或平移怎么办?

我是简单地取所有 minmax-locations 的平均值还是你有什么建议?

opencv中的模板匹配函数示例

0 投票
1 回答
2272 浏览

opencv - gpu::matchTemplate 与 cvMatchTemplate

我已经实现了一个用于在图像中搜索模式的软件。使用 cvMatchTemplate 执行时间约为 10 毫秒(因为我在 120x160 像素的搜索窗口中采用 40x40 的模式。图像是 640x480,所以我不考虑整个图像)。

我已经使用 gpu::MatchTemplate 实现了相同的算法,并且我期待执行时间的改进。计算分数需要 220 毫秒。

怎么了?

谢谢。

编辑:我测量了图像的加载时间,执行“.upload”功能需要 1 毫秒,因为图像已经未压缩。

不是同一个算法吗?

编辑:我使用 CUDA 和我自己的内核编写了代码:它使用图像上的 cuda 函数执行 FFT,算法的整个执行时间不到 2 毫秒,图像为 1024x1024,模式为 200x200。我使用 thread_sync 来测量 exec。时间。

0 投票
1 回答
9333 浏览

opencv - Opencv matchTemplate 不匹配

我正在使用 OpenCV 3.0.0 将图像定位到另一个图像中。先验的函数 matchTemplate 是我需要使用的,但是看到结果我不确定了。

问题在于,根据输入图像,结果是完全准确或完全不准确。

示例 1:

主图

简单的

模板

简单的

结果

简单的

这里没有抱怨。在这种情况下匹配是完美的。但是现在我将图像替换为我想要使用的图像并且......

主图

复杂的

模板

复杂的

结果

在此处输入图像描述

所以,根本不工作(图像右上角的结果矩形)。任何方法(在此示例中为 CORR NORMED)都会打印模板所在的矩形。所有的结果都远非准确。

所以,我的问题是,matchTemplate 的结果是否取决于主图像有多少种不同的颜色/形状?SURF 或 SIFT 会在这里帮助我吗?你们现在有什么功能可以帮助我将模板定位到另一个图像中吗?

先感谢您!

PS:我没有添加任何代码,因为我想不是那种问题,因为第一个示例运行良好。

0 投票
1 回答
457 浏览

java - 使用 matchTemplate 解释结果

我正在尝试使用以下 matchTemplate 代码匹配 2 个图像。

当按预期比较 2 个实心圆圈时,它给出了预期的 0.99

但在比较几乎相同大小的实心圆和实心正方形时,它给出了 1.0。

我究竟做错了什么?图像是黑白的。

0 投票
0 回答
122 浏览

opencv - Opencv中的环境照明匹配模板产生误报

我试图让视频流拍摄一帧,然后使用该图像的较小子部分在下一帧中查找相同的对象。

在受控环境中使用合成数据时效果很好。

当我实际拍摄真实照片时,匹配的并不是我想要的。

我正在使用互相关和归一化,但我相信我的照明条件在错误匹配中发挥了作用。

我怎样才能绕过这个障碍?我使用了错误的功能吗?

任何信息都有帮助

0 投票
1 回答
9602 浏览

opencv - 解释 openCV 匹配模板的互相关和归一化

我的老板和我不同意 matchTemplate() 的 CV_TM_CCORR_NORMED 方法发生了什么;在openCV中。

你能解释一下这里发生了什么,尤其是这个方程的平方根方面。

0 投票
1 回答
365 浏览

ios - 如何在模板匹配代码中获得结果?

我是计算机视觉的初学者。我目前正在开发一个项目,以在 iOS 中使用 matchTemplate 查找两个图像之间的匹配。我面临的问题是找到一种方法来确定两个图像是否匹配,尽管 matchTemplate运行良好。我想采用结果矩阵的百分比,但我不知道如何也找不到方法。MinMaxLoc 也没有与我合作。如果有人可以帮助我或给我一个想法,我将非常感激,因为我现在处于绝望的境地。这是代码:`

UIImage* image1 = [UIImage imageNamed:@"1.png"]; UIImage* image2 = [UIImage imageNamed:@"Image002.png"];

0 投票
2 回答
2093 浏览

java - Opencv(3.0.0)模板匹配的Java实现

我想使用 Opencv 匹配给定图片中的模板(小图像)。

我从这个端口找到了以下代码:Android 中的 OpenCV 模板匹配示例

问题是从openvc 3.0.0开始,highgui被分解成新的videoio和imgcodecs,下面的代码使用highgui。

0 投票
1 回答
2927 浏览

java - JavaCV 从资源创建 Mat (InputStream)

我使用 JavaCV(不是 OpenCV)。Mat我的目标是从存储为资源的图像中获取对象。然后我将把它传递Matopencv_imgproc.matchTemplate方法。我设法编写了这个糟糕的代码:

这在某些情况下有效。问题是:

  1. 对于具有透明通道(即 32BPP)的 png 图像,它会转换通道,因此R=00 G=33 B=66 A=FF变为R=33 G=66 B=FF Lenna 32BPP 色移

  2. 在我的目标环境中,我无法使用ImageIO

  3. 对象转换太多InputStream -> BufferedImage -> Frame -> Mat。我觉得应该有一种简单有效的方法来做到这一点。

从资源创建 Mat 的最佳方法是什么?

0 投票
0 回答
364 浏览

c++ - 多个 ROI 中的 OpenCV 模板匹配

我是opencv的新手,如果这个问题看起来很愚蠢,我很抱歉。例如,我想在我的图像检测标记中找到标记 #1 。我将搜索区域限制为多个 ROI(正方形),然后将图像裁剪为 ROI,并使用 houghlines 和 warpaffin 对其进行转换。现在只显示第一个方块。我想检查每个 ROI,将它们与我的模板匹配,跳过错误匹配并只返回最佳匹配(可能带有百分比)。这是否可能仅使用 matchTemplate 或者在我的图像中找到正方形后是否有更好的方法来查找特定标记?