【问题标题】:Finding Line Spacings in Thresholded Image - R/C++ Image Processing在阈值图像中查找行距 - R/C++ 图像处理
【发布时间】:2017-02-28 18:47:10
【问题描述】:

你好 Stackoverflowers,

我有一个关于图像处理的问题。我将简要介绍我的项目,澄清问题并提出我的问题。

我现在使用 R 和 EBImage 库。之后,我将在 C++ 上编写该代码。

在材料分析中,进行微观结构分析是为了了解钢的结构。它为分析器提供了一些提示。

我的职责是;查找图像中的行距。我会用图片来解释。

图片来自:https://de.wikipedia.org/wiki/Perlit_(Stahl)

我会发布一张拼贴图片,因为我不能上传超过 2 张的图片。 第一张照片是珍珠岩微结构的图像。 第二张照片是预处理后的阈值图像。 第三张照片是我在 Paint 上制作的,向您展示我需要找到的区域。

  1. 照片,“预处理”通过以下方式完成:
    • 图像灰度化。
    • 通过 7x7 高斯内核关闭过滤器
    • 通过 3x3 Box Kernel 扩展过滤器
    • 中值滤波器 7x7
    • 阈值图像

拼贴照片中的黑白图像是这些步骤的结果。

Collage Photo of Perlit

现在,如果您看这张图片,在第三张照片中,红色铅笔通过 Paint 显示了一些行间距。我想进行分割以显示它们已绘制。

你可以清楚地看到我去掉了细小的垂直线,做出了清晰的片段。

我需要分割方面的帮助。我目前正在阅读大量计算机视觉和图像处理方面的书籍,但很遗憾我找不到好的解决方案。在 EBImage 中,有一些功能,但“bwlabel”或“watershed”对我没有多大帮助。

分割将在此图像中水平完成。但是会有一个带有渐变行间距的图像。

我问这个问题不是为了准备好的复制粘贴答案。我真的很想学习如何做到这一点。任何帮助将不胜感激。

非常感谢您阅读我的问题。

【问题讨论】:

    标签: c++ r image image-processing


    【解决方案1】:

    结构中似乎有一个横向图案..总是这样吗?您是否尝试过利用这种相关性?也许提取vertical histogram(像素行上的直方图),并找到最大值?

    我重新阅读了您的问题,已经看到您正在考虑水平性。知道了这一点,如果您只想绘制红色区域,那么您已经有了一个很好的二进制掩码来绘制它们.. 或者您不想绘制暗结构之间的白色小块?

    干杯

    【讨论】:

    • 不,它也可以是渐变的,并不总是水平或垂直的。
    • 我想在图像中绘制较长的行距。我有一个很好的二进制掩码,但我想消除一些小区域。行距应该更长。
    • 您可以旋转图像来分析图案的大致方向吗?频率分析还是霍夫变换?
    • 有点长镜头,但您可以使用 Stroke Width Transformation math.tau.ac.il/~turkel/imagepapers/text_detection.pdf 来分析图像中的白色部分。如果它们被拉长并具有给定的宽度,那么它就是您想要的部分
    • 我需要一些时间来分析您的建议,当然我应该在 R 中实现它们。然后我会在这里写下结果。非常感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 2015-10-19
    • 2013-03-11
    • 2014-11-30
    • 2020-09-08
    • 2020-11-12
    • 2020-01-25
    • 2019-07-08
    相关资源
    最近更新 更多