OpenCV检测项目的多个实例

Posted

技术标签:

【中文标题】OpenCV检测项目的多个实例【英文标题】:OpenCV detect multiple instances of item 【发布时间】:2015-03-20 02:05:22 【问题描述】:

我一直在练习许多 OpenCV 的教程和示例,主要用于特征检测和提取。

我正在使用 C++、Visual Studio 2012 并打开 CV 2.4.11。

我的最终目标是检测、识别和计数货架上的谷物盒。想象一下有两盒 Cheerios、一盒玉米片和三盒 Froot Loops。我想识别和计算物品。

我找到了一个示例,并使用汽车徽标实现了一个小测试。我的模板标志是给制造商欧宝的。我有一个测试图像,其中有六个左右的汽车标志,包括两个调整大小和旋转的欧宝标志实例。下图显示了结果(我在测试图像中的两个欧宝标志周围手动绘制了橙色圆圈)。

两个测试欧宝标志的描述匹配比其他标志的任何匹配都多。我被困在如何对比赛进行分组并认识到两个欧宝标志是正确的而忽略其他的。

一定有一个标准的方法可以做到这一点,但我的搜索没有找到它。

有人能指出我正确的方向吗?也许是一个示例或我应该查看的 OpenCV 函数?

【问题讨论】:

有趣。我想知道像 k-means 这样的东西是否有助于计算集群中匹配点的数量.. 不要只对每个特征使用最佳匹配,而是使用 n 个最佳匹配。然后使用一些ransac转换(刚性/仿射/透视)来找到正确的集群。 你能提供你正在使用的图片吗? 是的。我在 Google 上搜索了“特征单应性 jpg”(不带引号),发现:i.stack.imgur.com/I1oRA.jpg。我复制并粘贴,然后使用paint.net图像编辑器提取火车图像并修改目标图像。 你有什么办法可以识别出两个欧宝标志是正确的而忽略其他的吗? 【参考方案1】:

opencv 中的Template matching 更适合您的算法。

另一种方法是训练 haar 级联,您只需提供一个正样本,即徽标。

【讨论】:

以上是关于OpenCV检测项目的多个实例的主要内容,如果未能解决你的问题,请参考以下文章

Halcon缺陷检测实例转OpenCV实现

Actionscript 3.0 - 检测已放置在舞台上的多个实例并将它们添加到数组中

Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示

Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示

Halcon实例转OpenCvSharp(C# OpenCV)实现--瓶口缺陷检测(附源码)

Halcon实例转OpenCV之焊点检测