【发布时间】: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