将RGB numpy矩阵转换为灰度矩阵[关闭]

问题描述 投票:-1回答:1

我想将rgb矩阵转换为灰度矩阵而不直接打开图像文件,因为python中的进程非常慢?

python rgb grayscale
1个回答
1
投票

通常,如果要处理图像,总是必须将图像加载到python程序中。如果你不想使用图像处理库,你可以用numpy做所有事情(例如OpenCV无论如何都适用于numpy数组,所以我会使用OpenCV)

如果你想使用纯矩阵(numpy),你可以使用它来保存和加载

matrix = np.load('image.npy')
np.save('grayscale.npy',grayscale)

处理:

假设你有这个RGB形状的numpy矩阵:

>>> matrix.shape
(1000, 1000, 3)

为了在不进行任何“图像处理”的情况下将其转换为灰度,您可以简单地进行第三次MEAN。尺寸(颜色尺寸)

grayscale = matrix.mean(axis=-1) # you can use axis=2 or as Nils Werner pointed out: axis=-1 which is more general

>>> grayscale.shape
(1000,1000)

结果:

之前:enter image description here

在意思之后enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.