【问题标题】:Convert 3D RGB np array to 2D binary将 3D RGB np 数组转换为 2D 二进制
【发布时间】:2021-07-31 17:03:13
【问题描述】:

我目前正在尝试找到一种有效的方法来获取 RGB 图像并将其转换为二进制/黑白图像。给喜欢的人:

RGBnp = [
          [[255, 255, 255], [0  , 0  , 0  ], [0  , 0  , 0  ]],
          [[255, 255, 255], [255, 255, 255], [255, 255, 255]],
          [[255, 255, 255], [0  , 0  , 0  ], [255, 255, 255]]
        ]

BinaryNP = [
             [1, 0, 0],
             [1, 1, 1],
             [1, 0, 1]
           ]

这样我就可以利用距离变换在图像中找到感兴趣的区域。我尝试了更多手动方法,例如循环,尽管在对大小为 480,640,3 的矩阵执行这些方法时速度非常慢。我已经搜索了一种重塑算法,该算法可以删除形状的最后一个数组,同时保留一些数据,但无济于事。

如果有人有任何想法,请告诉我。

【问题讨论】:

    标签: python numpy matrix


    【解决方案1】:

    给你:

    RGBnp = np.array(RGBnp)
    RGBnp[RGBnp == 255] = 1
    BinaryNP = RGBnp[:,:,0]
    

    【讨论】:

    • 非常感谢您的快速回复,这正是我们所需要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2019-10-31
    • 2021-12-29
    相关资源
    最近更新 更多