繁体   English   中英

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

[英]MATLAB Image Processing — How to Improve Accuracy Of Finding Circularity Algorithms?--

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

https://imgur.com/a/f0r56fr

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

以下是我的建议:

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

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

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

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

  • 保留与预期半径兼容的碎片;

  • 检查附近的部分(圆形或短段)是否与全局圆兼容,然后加入它们。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM