【问题标题】:how to do line fitting multiple lines MATLAB?如何做线拟合多线MATLAB?
【发布时间】:2013-11-08 22:54:37
【问题描述】:

我正在尝试在边界图像中找到所有直线。例如,邮票有四个边,我已经通过 MATLAB 中的edge 函数找到了这些边。但是有一个问题是它们不是真正的直线。所以我需要使用线拟合来获得所有四个边框。但是polyfit 函数一次只能容纳一行。是否有任何解决方案可以同时适合所有行。 例如:here我上传了一些图片,红线的图片就是我想要的。请注意我需要四个单独的行。

【问题讨论】:

  • 在您发布的链接中没有什么可看的。仅提及私人档案。此外,您是否只有图片或基础数据?如果你可以用polyfit 匹配1 行,那么为什么不简单地使用polyfit 4 次呢?
  • @DennisJaheruddin 抱歉,我是该网站的新手,您现在可以看到吗?
  • @DennisJaheruddin 但四行相互扭曲

标签: matlab image-processing


【解决方案1】:

从图像来看,您不会尝试平滑某些线条或填补空白。相反,它看起来更像是您需要将图像放在尽可能小的盒子中。

这是一个你可以尝试的算法:

  1. 从所有 4 个角开始。
  2. 向内“走”其中一个角并确定所有点是否仍在四个角内
  3. 如果是,请保存此角并转到第 2 步,否则转到第 2 步

不断重复第 2 步和第 3 步,直到找到稳定的解决方案。

【讨论】:

    【解决方案2】:

    你想摆脱穿孔吗?在这种情况下,我建议使用阈值分割图像的暗区,然后使用regionprops 来获取它们的边界框。然后你可以找出排除它们的最大矩形。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 2013-05-22
      • 2015-03-22
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多