Que*_*ann 9 c++ algorithm geometry opencv image-processing
我正在使用OpenCV/C++框架,在一个基本上计算可以重叠的椭圆对象的程序上工作.
在阈值图像和找到所有对象的轮廓之后
我的下一步涉及排除不是由重叠椭圆组成的对象(我将稍后对剩余的对象进行分段).
我最终得到了这些对象:

在此示例图像中,右侧的所有对象都是负的,而左侧的对象是有效的.
我当前的滤波器主要以它们的等周数为基础排除物体.然而,由于我有不同大小和噪音的物体,我并不总是对这种方法感到满意.
理想情况下,我希望有一个额外的指标来提高我当前过滤器的效率.
由于我必须在许多轮廓上重复这种分析,因此不应该付出昂贵的代价.
我考虑过如下方法:
但我确信我错过了一些更有效,更少杂乱的东西.你有什么建议吗,谢谢:),
编辑: 正如瑞吉斯正确建议的那样,任何形状实际上都可以由足够数量的圆圈组成.因此,为了使我的问题可以解决,我将添加以下假设:
一种可能性是尝试:
您期望看到的曲率图表是一系列恒定值(如果形状是椭圆而不是圆形,则缓慢变化),并且从一个圆形变为另一个圆形时会突然不连续。
如果您的图像有噪声,您可能希望首先对曲率值进行低通滤波。
由圆形/椭圆形制成的形状大多在周边具有显着的曲率,而由直边制成的形状将具有低曲率的部分。
| 归档时间: |
|
| 查看次数: |
2551 次 |
| 最近记录: |