从目录导入所有图片

时间:2019-04-15 12:06:43

标签: python pca scikit-image

在此目录“ 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))

2 个答案:

答案 0 :(得分: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)

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

答案 1 :(得分:1)

尝试一下此代码:

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())