OpenCV形状匹配

4
我是OpenCV的新手(实际上使用Emgu CV C#包装器),正在尝试进行一些物体检测。
我试图确定一个对象是否与预定义的一组对象匹配(我将不得不定义)。背景光线充足且不移动。我开始使用的对象是瓶子和罐子。
我的当前方法是: 使用之前拍摄的背景图像进行absDiff,以分离背景。 然后膨胀4倍以使较亮的区域(在标签中)缩小。 然后进行二值化阈值处理以获取大块,接着在该图像中找到轮廓。 然后我取最大的轮廓并绘制它,这成为我的形状,可以保存到接受的集合中或与接受的集合进行比较。
目前我正在使用cvMatchShapes,但是返回的双精度值似乎差别很大。我猜测这是因为它没有考虑旋转。
这种方法好吗?对于玻璃瓶来说效果不佳,因为边缘很难找到...
我已经了解了haar分类器,但认为这可能对我的任务过于复杂。

2
Haar分类器也不考虑旋转。 - rossb83
2
通过考虑旋转因素,您基本上正在查看SIFT(尺度不变特征变换),它可以匹配图像中的特征,并考虑到图像的大小/比例、旋转(如您所提到的)或位置。它已经在OpenCV中实现,您可以在提供的链接中找到相关信息。希望这可以帮助到您。 - AruniRC
1个回答

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接