编辑:在下面添加了另一个更合适的示例。
免责声明:边缘图是指以位图形式给出的图像,仅由黑白像素组成。
简短描述:
简而言之,我正在寻找快速、实用的算法(或者,甚至更好的工作实现)来从图像中提取(完整的、可能旋转的)几何对象的参数,如下所示,以查找对象它们是“特殊的”(例如,完全包含在另一个像右边的小椭圆中)。霍夫变换或继任者是要走的路吗?
更多细节:
特别是,我正在搜索已经(完美)提取边缘的三角形、矩形和椭圆形图像。由于大多数(可能是旋转的)椭圆出现,这似乎是最难的物体,我想从这些开始。如示例所示,某些对象仅部分位于图像中,应丢弃(即可以看作是一种失真或噪声。这种噪声可以看作是具有相对较大轴的椭圆)。但是,应该检测重叠的对象。我对轴的参数有粗略的限制。找到参数后,我想选择特定对象,例如完全包含在另一个对象中的那些。也许为了实现这一点而检测所有对象太过分了?
到目前为止我的研究:
到目前为止,我偶然发现了几种算法和实现。最值得注意的是基于霍夫变换,它使用投票方案解决了(双)参数空间中的问题。然而,一般的霍夫变换相当慢。3、4、5和6的实现_ _ _应该更快,但不适合手头的图像,或者我太笨而无法正确应用它们(绝对是这种情况)。至少对我来说,实现要么被扭曲的、不完整的对象(可能有数百个)“混淆”,要么没有找到所有对象。由于我只关心具有完整边缘的完整对象,也许某种边缘跟踪也可以工作?
我的问题:
由于我在图像/对象检测方面完全没有经验,因此在考虑解决我的问题时,我不知道我是否走在正确的轨道上。这是要走的路,还是您知道解决手头任务的其他算法或现有实现?
编辑: 由于椭圆是主要问题,它的表现不够好,我将添加另一个图像。同样,这只是作为由黑白像素组成的位图提供的图像的一部分。我以蓝色突出显示省略号内的省略号,而另一个完整的省略号以棕色突出显示。一般来说,可能有多达 30 个感兴趣的对象,但很少有数百个令人不安的对象(不是总是这样吗?!:/)。另一个迄今为止缺失的信息是,“嘈杂”的不完整椭圆的不同之处在于与相当小的想要的对象相比具有更大的轴!(我还将添加上面的信息)。如果我能为小椭圆找到合适的参数范围,也许霍夫变换会变得实用。