c++ - OpenCV 检测项目的多个实例

标签 c++ opencv multiple-matches

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

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

我的最终目标是检测、识别和清点货架上的麦片盒。假设有两盒 Cheerios、一盒 Jade 米片和三盒 Froot Loops。我想识别和清点元素。

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

match

两个测试欧宝 Logo 的描述符匹配项均多于与其他 Logo 的任何匹配项。我对如何对匹配项进行分组并识别出两个 Opel Logo 是正确的并忽略其他 Logo 感到困惑。

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

谁能给我指出正确的方向——也许是我应该查看的示例或 OpenCV 函数?

最佳答案

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

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

关于c++ - OpenCV 检测项目的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29158193/

相关文章:

c++ - 如何在 JSON 中创建文件层次结构表示

python - 如何使用opencv将具有透明背景的图像更改为白色背景

regex - 在 Perl 中使用正则表达式获取字符串中的多个匹配项

r - 使用 dplyr contains() 根据多个字符串选择列

c++ - 如何在 C++ 中进行反向字符复制

c++ - 来自子进程的 ReadFile 不断返回相同的数据

c++ - sizeof字符指针混淆

algorithm - 视频图像差异中的边界框

python - 从api django输入后运行一些功能

python - 查找开头和结尾之间且带有分隔符的所有重复字符串