Python 从目录导入所有图片

Python 从目录导入所有图片,python,pca,scikit-image,Python,Pca,Scikit Image,在这个目录“C:\Users\KG\Documents\R\data”中,我有40个文件夹,从s1到s40命名,其中每个文件夹中有10张图片(.png)的面,命名为(1,2,…10)。如何导入图片集合-面作为展平阵列?我使用下面的代码,但它提供了错误(不下载图片): 您可以使用PIL库: from PIL import Image import numpy as np ic = [] for i in folders: for j in images: image

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


您可以使用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())

谢谢你的回复。您发布的代码提供了以下线程-ImportError:无法从“numpy.lib.arraypad”(C:\Users\KG\Anaconda3\lib\site packages\numpy\lib\arraypad.py)导入名称“\u validate\u length”。我有办法处理吗?恐怕您需要更新
scikit image
。看一看。
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())