MATLAB图像处理——如何提高求圆算法的精度?——



我有一个带有tif文件的建筑项目图像。图像中有一些代表门的四分之一圆。我尝试在Matlab中实现imfindcircles和regioprops(带有偏心率(函数。但不幸的是,函数并没有给我们一个有效的解决方案,比如有些圆找不到,有些圆发现在那个位置不存在圆。有什么不同的想法或解决方案吗?我还附上了我的图片jpg文件。谢谢

https://i.stack.imgur.com/e2889.jpg

图像是二进制的,质量很好。特别是,边缘是连续的,这是一笔巨大的财富。另一方面,圆弧与其他特征相交,这使得它们更难处理。

以下是我的建议:

  • 将边缘细化为单像素宽度;

  • 使用轮廓跟随算法来跟踪边缘,并在交叉点(交叉点是指一个像素有两个以上邻居的地方(或角度(方向的急剧变化(处停止;

  • 检测弯曲的边缘(取三个间隔开的点,观察它们是否偏离一条线(;

  • 估计中心和半径(你可以用更多的三元组重复来检查圆度(;

  • 保留与预期半径兼容的零件;

  • 检查附近的片段(圆形或短片段(是否与全局圆兼容,并将它们连接起来。

在极端情况下,弧可以分割成许多小段。为了处理这个问题,您可以检测短片段的"链",并测试它们的共圆性。

相关内容

  • 没有找到相关文章

最新更新