【问题标题】:How to find width of a line from its skeleton?如何从骨架中找到线条的宽度?
【发布时间】:2023-01-19 11:16:02
【问题描述】:

这类似于一个问题here 但我无法使用它的解决方案。我在 Julia 工作,我不确定在这种情况下它是如何工作的。这是我正在处理的图像

由于线的曲线和不光滑的边缘,获得线的宽度“d”并不简单。我不知道如何在每个点找到正交线并获得距离 d1、d2..我打算稍后取其平均值来估计线宽。有小费吗?谢谢

【问题讨论】:

  • 计算对象的距离变换,它为您提供每个点到最近背景像素的距离。骨架沿着距离链形式的脊延伸,其中到两个相对边缘的距离相等。读取骨架像素处的距离值以获得该距离,即宽度的一半。
  • @CrisLuengo 好的,对不起,我只理解了一半,我通过@987654324 进行了距离变换@ 如何从骨架像素读取距离?
  • 抱歉,我不了解 Julia,也不了解您在那里使用的功能。但是,如果您选择一个骨架像素,然后查看这些坐标处的距离变换图像的值,并将该值乘以二,那么您就得到了该点的厚度。您可以为每个骨架像素执行此操作,并可能对值进行平均,或者您可能有一个特定点需要测量宽度?

标签: image-processing graph julia distance


【解决方案1】:

使用距离变换获取与相邻像素的距离,dist = 1 .- distance_transform(feature_transform(Gray.(line_image) .> 0.5)); 并查找具有更大距离的最近像素是感兴趣的像素。使用从中心点(骨架)中的索引到最近距离 * 2 的欧几里德距离得到线的宽度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多