【发布时间】:2011-03-15 16:06:23
【问题描述】:
我是 OpenCV 的新手(实际上是在使用 Emgu CV C# 包装器)并且正在尝试进行一些对象检测。
我正在尝试确定一个对象是否与一组预定义的对象匹配(我必须定义)。背景光线充足,没有移动。我开始的对象是瓶子和罐子。
我目前的做法是: 对之前拍摄的背景图像进行 absDiff 以分离背景。 然后扩大 4 倍以使较亮的区域(在标签中)缩小。 然后我做一个二元阈值得到一个大博客,然后在这个图像中找到轮廓。 然后我取最大的轮廓并绘制它,这将成为我的形状以保存到接受的集合或与接受的集合进行比较。
目前我正在使用 cvMatchShapes,但双精度返回值似乎差异很大。我猜是因为它没有考虑轮换。
这种方法好用吗?它不适用于玻璃瓶,因为很难找到边缘......
我读过有关 haar 分类器的文章,但认为这对我的任务来说可能是多余的。
【问题讨论】:
-
haar 分类器也不考虑旋转。
-
通过考虑旋转因子,您基本上看到的是SIFT(比例不变特征变换),它在考虑大小/比例、旋转(如您提到的)或位置的情况下匹配图像中的特征在图像中。它已在 OpenCV 中实现,您可以在提供的链接中找到它。希望这会有所帮助。