我想将rgb矩阵转换为灰度矩阵而不直接打开图像文件,因为python中的进程非常慢?
通常,如果要处理图像,总是必须将图像加载到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)
结果: