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