image - MATLAB图像处理--如何提高寻找圆度算法的准确率?--
问题描述
我有一个带有 tif 文件的建筑项目图像。图像有一些四分之一圆代表门。我试图在 Matlab 中实现 imfindcircles 和 regionprops(偏心)函数。但不幸的是,函数并没有给我们一个有效的解决方案,比如有些圈子找不到,有些圈子发现那个位置不存在圈子。有什么不同的想法或解决方案吗?我还用 jpg 文件附加了我的图像。谢谢...
解决方案
图像是二进制的并且质量很好。特别是,边缘是连续的,这是一项巨大的资产。另一方面,圆弧与其他特征交叉,这使得它们更难处理。
以下是我的建议:
将边缘细化到单个像素宽度;
使用轮廓跟踪算法来追踪边缘并停在交界处(交界处是一个像素有两个以上相邻像素的地方)或角度(方向急剧变化);
检测弯曲的边缘(取三个间隔的点并观察它们是否偏离了一条线);
估计中心和半径(你可以重复更多的三元组来检查圆度);
保留与预期半径兼容的碎片;
检查附近的部分(圆形或短段)是否与全局圆兼容,然后加入它们。
在极端情况下,弧可以分成许多短片。为了解决这个问题,您可以检测短段的“链”并测试它们的共圆性。
推荐阅读
- android - 如何使用聊天应用程序中的最后一条消息更新小部件
- javascript - 如何通过 ajax 传递 codeigniter 会话值
- spring - 配置数据源失败:未指定“url”属性,无法配置嵌入式数据源
- java - Switch 语句执行 2 件事情而不是 1 件
- django - 有什么方法可以将弹性搜索与 mongoengine 一起使用?
- c# - 此日历 C#(回历日期)不支持指定时间
- webpack - Webpack 相同的加载器,不同的规则
- drop-down-menu - 单击 li 时会出现一个下拉菜单,但再次单击 li 下拉菜单未关闭
- linux - 将 gstreamer 的输出重定向到 OpenCV
- python - Python。从文本文件中获取数据并放入数据框中