我一直在练习许多 OpenCV 教程和示例,主要用于特征检测和提取。
我正在使用 C++、Visual Studio 2012 并打开 CV 2.4.11。
我的最终目标是检测、识别和清点货架上的麦片盒。假设有两盒 Cheerios、一盒 Jade 米片和三盒 Froot Loops。我想识别和清点元素。
我找到了一个例子,并使用汽车标志实现了一个小测试。我的模板标志是为制造商欧宝设计的。我有一个测试图像,其中有六个左右的汽车标志,包括两个调整大小和旋转的欧宝标志实例。下图显示了结果(我在测试图像中的两个欧宝 Logo 周围手动绘制了橙色圆圈)。
两个测试欧宝 Logo 的描述符匹配项均多于与其他 Logo 的任何匹配项。我对如何对匹配项进行分组并识别出两个 Opel Logo 是正确的并忽略其他 Logo 感到困惑。
一定有一个标准的方法可以做到这一点,但我的搜索没有找到。
谁能给我指出正确的方向——也许是我应该查看的示例或 OpenCV 函数?
最佳答案
Template matching在 opencv 中更适合您的算法。
另一种方法是训练 haar 级联,您只需要提供一个正样本,即 Logo 。
关于c++ - OpenCV 检测项目的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29158193/