opencv中有没有办法准确检测圆?我使用的是霍夫变换,它给了我很好的结果,但大多数时候,物体和周围环境的阴影、光线等给出了不好的结果,所以我正在寻找霍夫圆以外的选项,准确的检测对我的项目非常重要。
到目前为止,我的基本方法是在实时拍摄的图像中找到一些球体。我使用霍夫圆来查找球体,并根据从中得到的半径进行后续计算。
如果背景是普通的并且球体检测不到任何东西,则没有问题,但是如果我在我的房间里拍摄该图像,其中背景将有其他物体,则通常很难检测到。所以我正在寻找其他方法。
最佳答案
我也有类似的需求,需要准确地找到圆,但在准确检测方面,我只做了很少的工作。尝试使用。
- 轮廓检测,一旦有了轮廓就绘制轮廓。
- 使用 minEnendingCircle 在检测到的轮廓上绘制一个圆。
- 从轮廓中可以获得半径和 x,y 点
编辑:周围的对象和较小的对象也可以使用 ContourArea() 进行过滤。 检查较小的轮廓并消除
这应该比霍夫圆检测效果更好。祝你好运
关于opencv - 如何准确检测圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13070075/