将RGB图像转换为灰度图像

问题描述

arr = []
for i in range(len(x1)):
    image = x1[i].reshape(150,150,3)
    grayscale = image[0:150,0:150,1]
    grayscale = grayscale.reshape(22500)
    arr = np.append(arr,np.array(grayscale),axis=0)

print(arr.shape)  # (742500,)

我正在开展一个学校项目,并且我创建了更多具有 RGB 格式增强的数据。我想在增强后将其转换为灰度,因为它需要更少的计算。但是,出于某种原因,我在将重塑后的版本附加到新数组时遇到了问题。它将所有内容附加到一行而不是单独的行,我想要(33,22500)而不是(742500),任何人都可以帮忙

解决方法

有几种方法; 方式一:

arr = []
for i in range(len(x1)):
    image = x1[i].reshape(150,150,3)
    grayscale = image[:150,:150,1]
    grayscale = grayscale.reshape(22500)
    arr.append(grayscale)

arr = np.array(arr)