【问题标题】:How do I convert a 3D image array into a 2D image array in numpy? [duplicate]如何在 numpy 中将 3D 图像数组转换为 2D 图像数组? [复制]
【发布时间】:2018-10-26 11:16:51
【问题描述】:

我有一个存储在 NumPy 数组中的图像的三维数组。使用算法,我将 RGB 图像转换为grayscale。但是在第三维中,RGB 值是相同的(对于灰色,RGB 值是相同的),我想将所有三个值都转换为 1,从而将三维数组转换为二维数组。

即当前的三维数组为:

[[[24 24 24] [36 36 36].......[108 108 108]]
 [[196 196 196] [45 45 45] ..... [90 90 90]]
 ...........................................
 ...........................................
 [[80 80 80] [74 74 74] ..........[127 127 127]]]

我想要的二维数组是:

[[24 36 ..........108]
 [196 45 ......... 90]
 [80 74 ..........127]]

我怎样才能做到这一点?

【问题讨论】:

  • ..arr[...,0]?
  • 恕我直言,最好修复您的转换算法,使其为每个灰度值返回一个数字,而不是 3 个数字。
  • 你可以使用已经存在的算法吗? from skimage.color import rgb2gray; grey_im=rgb2gray(color_im)
  • 使用来自 opencv 或skiimage 的现有算法返回一个二维数组,但我正在尝试实现我自己的算法@Brenlla

标签: python python-3.x image numpy image-processing


【解决方案1】:

这可以使用切片语法来完成

a[:,:,0]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2012-12-31
    • 2020-06-06
    • 2021-12-29
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多