问题标签 [template-matching]

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 投票
4 回答
3171 浏览

image-processing - 图像匹配,仿射扭曲

我的问题在这里显示:问题陈述。我有一个模板图像,我必须在相机图像中检测到它。检测到它后,我必须使用仿射变换对相机图像进行归一化。我的工作目标是识别十字架。我尝试在图像归一化步骤中使用 SURF 特征,但模板图像非常规则,不适合 SURF 匹配。任何想法如何做到这一点?也许某种轮廓匹配?

0 投票
3 回答
6649 浏览

image-processing - 使用 FFT 进行模板匹配

谁能解释一下如何使用 FFT 执行模板匹配。模板小于原始图像。1.到处都说模板必须用零填充。它是如何完成的。它是添加到图像的底部和右侧还是在整个图像周围。

提前致谢。

0 投票
1 回答
16270 浏览

java - OpenCV 在模板匹配上的表现

我正在尝试基本上在java上进行模板匹配。我使用简单的算法来找到匹配项。这是代码:

但这是非常缓慢的方法。我测试了 2 张图像 (768 × 1280) 和子图像 (384 x 640)。这会持续很长时间。openCV 是否使用现成的函数 cvMatchTemplate() 更快地执行模板匹配?

0 投票
1 回答
919 浏览

opencv - 建议模板匹配算法

想请大家帮忙选择或找到一个好的算法来解决以下问题:我想识别图片中的模板,模板是非标准字体的文本,所以OCR可能不会处理。我想要的是使用模板匹配算法来识别它。请参考图片: 在此处输入图像描述

如您所见,有一个背景,在这张图片中,我自己画了它,背景很简单。通常它不是那么简单:它具有照度变化并且通常着色为一种颜色。所以,我想匹配这个模板,但我希望算法不改变背景颜色。

我试过opencv的cvMatchTemplate,如果图像上有模板,它处理得很好。但是,如果我在相机下旋转对象或将其移除以便没有任何模板,算法会发现许多误报匹配。所以我想找到一个旋转不变的算法。你能提出任何建议吗?

0 投票
2 回答
18060 浏览

c# - EmguCV 中的对象跟踪

我正在构建一个应该跟踪未知对象的对象跟踪程序。用户必须在实时视频流中选择一个应该被跟踪的区域。我的项目类似于这个视频。

http://www.youtube.com/watch?v=G5GLIKIkd6E

我尝试了一种方法,但它不够健壮,并且跟踪器移动很多。所以我又从头开始了。

任何人都知道如何在视频中提出一种方法?我是 emgucv 的新手,到目前为止我真的不知道从哪里开始。

0 投票
2 回答
1201 浏览

c# - 比较两个图像(书脊)并识别

我正在创建一个 android 应用程序来识别图书馆中的书。我所做的是我将拍摄一本书的书脊图像并将其发送到服务器以在那里进行图像处理并从数据库中识别这本书并将关于这本书的详细信息发送到电话或者如果书不是在那里,它将识别光学字符并将其发送到移动应用程序。我希望使用 C# 进行图像处理过程。书籍识别是使用模板图像完成的,将数据库中的模板图像与发送的图像进行比较。所以我需要一些帮助来找出最好的方法来做到这一点。我已经研究过一些方法,例如

  1. 模板匹配
  2. 模式识别
  3. 特征识别

我想知道当涉及到书籍之类的图像时,我最好遵循的推荐方法是什么。是否有任何好的 API 来解决这个问题。我研究过 OpenCV,但想知道是否有更好的 API。以及如何在识别这本书时使用 OCR。我希望应用程序快速。通常,当我们比较两本书的书脊(模板和图像)时,如果我得到 60% 的相似性,我可以假设它是同一本书。所以我正在寻找最佳方式......!帮我解决这个...!

0 投票
1 回答
512 浏览

c++ - 应对灰度模板匹配中的亮度问题

我正在使用 opencv 进行实时模板匹配。相机产生 52fps 灰度图像。该软件运行良好,但有时由于光线条件不佳而导致匹配失败。

相机不提供​​调整亮度的方法(它只是自动调整)。事实证明,有时图像太暗或太亮,模板匹配失败。

你将如何应对?有没有办法让它工作?

谢谢。

0 投票
0 回答
1111 浏览

opencv - 在 OpenCV 中检测纹理?

我正在尝试使用 OpenCV 检测纹理。纹理类似于画笔上的画笔,因此在图像上它将有许多许多小线条。我尝试使用霍夫线来区分纹理和其他东西,但效果不太好,因为检测到了太多其他误报。除此之外,我对使用模板匹配以及快速傅立叶变换有过想法,但我还没有尝试过测试或实现它们。

那么,其他人会知道这样做的可能方法吗?也许使用其他线检测器或边缘检测器?或者这会带来太多的误报?

这种纹理应该能够在杂乱的场景中被检测到,并且这样做的算法应该相对较快,因为我希望尽可能实时跟踪它。很抱歉无法发布我想要的纹理样本(rep l0l 太少),但如果您真的需要查看它的外观,您可以简单地搜索画笔/画笔纹理。但是,如果您以前看过画笔,那应该很明显我在说哪个部分(有画笔的部分)。

在此先感谢,非常感谢。

0 投票
2 回答
6555 浏览

java - Java openCV - 使用 Imgproc.matchTemplate 方法后,我如何检查结果?

我打电话给:

并且匹配的结果在一个 Mat 实例中。我找不到此类的任何文档。如果我理解正确,则结果包含概率矩阵。我怎样才能找到概率的最大值?我什至无法理解 Mat 实例的外观以及它包含的内容。

谢谢埃亚尔

0 投票
1 回答
2008 浏览

image-processing - 徽标识别 - 如何提高性能

我正在做一个识别电视频道的项目。我正在拍摄频道的照片,我试图避开背景并从徽标的中心获取样本。我认识 4 个不同的徽标,以下是模板:

频道1 通道2频道3频道4

我的模板匹配算法是如何工作的:
给定 4 个大小为 100x100 的模板,每个模板代表一个不同的电视频道,每个都有不同的阈值(概率)。用户正在从电视机中捕捉标志,然后算法是: - 在每个模板上运行 4 个独立的模板匹配,以接收每个模板与捕捉到的图像匹配的概率。- 对于每个信道概率,如果一个信道的概率低于该信道的阈值,则概率变为0;- 宣布被认可的标志是概率最高的标志。如果所有概率均为 0,则宣布“不识别”。

例如,如果我得到一个概率为 0.85 且阈值为 0.9 的通道,而第二个通道的概率为 0.8 和阈值为 0.75,则第二个通道“获胜”。

当我为其中一个标志拍照时,95% 的时间它都能识别出这些照片。

当前结果:

  • 当尝试检测第一个(“笑脸”标志)时,在 10 次检测中我得到了 10 次正确检测。对于正确模板和图像之间的模板匹配,我得到的概率在 0.91 到 0.94 之间。对于其他徽标,我得到的概率在 0.77 到 0.91 之间。
  • 当试图检测第二个(“绿色”标志)时,在 10 次检测中我得到了 10 次正确检测。对于正确模板和图像之间的模板匹配,我得到的概率在 0.78 到 0.91 之间。对于其他徽标,我得到的概率在 0.71 到 0.83 之间(但由于阈值高,检测成功)。
  • 当试图检测第三个(“圆形”标志)时,在 10 次检测中我得到了 9 次正确检测。对于正确模板和图像之间的模板匹配,我得到的概率在 0.83 到 0.92 之间。对于其他徽标,我得到的概率在 0.73 到 0.91 之间。
  • 在尝试检测第四个(“黑白”徽标)时,在 10 次检测中,我得到了 10 次正确检测。对于正确模板和图像之间的模板匹配,我得到的概率在 0.91 到 0.94 之间。对于其他徽标,我得到的概率在 0.78 到 0.92 之间。
  • 在尝试检测“负面”图像时,很多时候我得到一个徽标检测(这很糟糕)。例如,如果我拍摄一张完整白纸的图像,它会以超过 0.9 的概率检测到第一个、第三个和第四个徽标

如何改进或更改我的算法以在“负面”图像上获得更好的结果?

感谢您的帮助,

埃亚尔