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