我是 OpenCV 的新手(实际上是在使用 Emgu CV C# 包装器),并且正在尝试进行一些对象检测。
我试图确定一个对象是否与一组预定义的对象匹配(我必须定义)。背景光线充足,没有移动。我开始的对象是瓶子和罐子。
我目前的做法是:用之前拍摄的背景图像做 absDiff 来分离背景。然后扩大 4 倍以使较亮的区域(在标签中)缩小。然后我做一个二元阈值得到一个大博客,然后在这个图像中找到轮廓。然后我取最大的轮廓并绘制它,这将成为我的形状以保存到接受的集合或与接受的集合进行比较。
目前我正在使用 cvMatchShapes,但双返回值似乎差异很大。我猜这是因为它没有考虑轮换。
这种方法是一个好方法吗?它不适用于玻璃瓶,因为很难找到边缘......
我读过关于 haar 分类器的文章,但认为这对我的任务来说可能是多余的。