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