从目录中导入所有图片

Importing all pictures from the directory

在这个目录中"C:\Users\KG\Documents\R\data"我有40个文件夹,命名为s1到s40,每个文件夹中有10张人脸图片(.png),命名为(1,2,.. 10).如何导入图片集 - 人脸作为展平数组?我使用下面的代码,但它为我提供了错误(不下载图片):

from skimage import io
ic = io.ImageCollection('C:/Users/KG/Documents/R/data/*/*.png')
ic = np.array(ic)
ic_flat = ic.reshape((len(ic), -1))

您可以使用 PIL 库:

from PIL import Image 
import numpy as np 

ic = []
for i in folders:
    for j in images:
        image = Image.open(i + j)
        ic.append(np.asarray(image))

ic = np.array(ic)

其中文件夹和图像是带名称的字符串数组

试试这个代码:

import os
from skimage import io
import numpy as np

folder = 'C:/Users/KG/Documents/R/data'

images = [os.path.join(root, filename)
          for root, dirs, files in os.walk(folder)
          for filename in files
          if filename.lower().endswith('.png')]

ic = []
for img in images:
    ic.append(io.imread(img).flatten())