如何使用keras将列表中的每个灰度图像转换为二维数组?

how to convert each grayscale images in a list into 2d array using keras?

我有一个列表,其中包含多个已排序的灰度图像,称为 imageList。我想将每个图像转换为 2d 数组,并将它们中的每一个存储在一个名为 arrayList 的列表中,顺序与转换的顺序相同。像这样:

imageList = ['1.png', '2.png', '3.png', '4.png',....,'1000.png']

arrayList = [[1th_2dArray] , [2th_2dArray], ......, [1000th_2dArray]]

请注意,我调整了图像大小并将它们从 RGB 转换为灰度,然后将它们存储在我的图像列表中。

P.S:我是 python 的新手,我知道要将图像转换为数组,我可以使用其他方法,例如 Pillow 或 OpenCV Library,如有任何建议,我们将不胜感激。

IIUC,您有一个要转换为数组的图像路径列表,因此您可以尝试这样的操作:

import tensorflow as tf
import numpy as np

image_list = ['/content/1.png', '/content/2.png', '/content/3.png']
array_list = [np.squeeze(tf.keras.preprocessing.image.img_to_array(tf.keras.preprocessing.image.load_img(path, color_mode='grayscale')), axis=-1) for path in image_list]
print(array_list[0].shape)
(100, 100)

所以每一张图片都被加载然后转换成一个数组。之后,省略通道维度,得到二维数组。