【问题标题】:Dividing the image and getting coordinates分割图像并获取坐标
【发布时间】:2010-11-03 20:14:54
【问题描述】:

我有一个黄色背景的图像,其中包含一个如图所示的随机图形:

随机图形被黑线分割成图像块。现在,每一块都可以单独表示为一个正方形,其中包含具有透明背景的该块图像。

我的问题是否可以通过算法在原始图像中找到每个部分的坐标?

我正在用 Java 编写这个应用程序。

我对图形不太了解。如果可能的话,请详细说明。

【问题讨论】:

    标签: java graphics image-processing


    【解决方案1】:

    假设图片看起来和你这里的差不多

    Loop    
      Find a Red pixel
         If found
            flood fill red to non-red at this point, remembering region
            create output image from this region
         else
            You are done
    

    【讨论】:

    • 但是怎样才能得到每个正方形区域的坐标呢?
    • 如果 (0,0) 是图像的左上角,则区域的边界是左上角(区域的最小 X,区域的最小 Y),右下角(区域的最大 X,最大Y 地区)
    • 您好,您的算法看起来不错。您能否指出一些示例代码或如何在进行填充时记住区域。
    • 在您的情况下,区域只是一组像素。在填充填充期间,如果您为像素着色,请将其坐标添加到集合中。
    【解决方案2】:

    在二值图像上使用connected component labeling(阈值您的当前图像)。

    我使用 MATLAB 对图像进行阈值处理,并运行标记算法。然后我使用区域属性来找到每个连接组件的质心(这是您需要的图像片段)。以下是标记的图像,黑色星星代表每块的质心:

    【讨论】:

      猜你喜欢
      • 2017-08-25
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 2022-12-30
      • 2014-02-26
      • 2020-11-11
      • 2017-07-11
      • 2021-07-10
      相关资源
      最近更新 更多