我正在尝试导入一个目录中的所有图片(已知目录位置)。
path = /home/user/mydirectory
我已经知道了如何找到目录的长度。
但我不确定如何使用PIL/Pillow
将图片导入列表或字典,以便它们可以被正确地操作。
我正在尝试导入一个目录中的所有图片(已知目录位置)。
path = /home/user/mydirectory
我已经知道了如何找到目录的长度。
但我不确定如何使用PIL/Pillow
将图片导入列表或字典,以便它们可以被正确地操作。
我建议先使用glob:
from PIL import Image
import glob
image_list = []
for filename in glob.glob('yourpath/*.gif'): #assuming gif
im=Image.open(filename)
image_list.append(im)
然后您需要根据图像列表(image_list)执行必要的操作。
image_list = map(Image.open, glob('your/path/*.gif'))
- jfsimage_list = [Image.open(item) for i in [glob.glob('your/path/*.%s' % ext) for ext in ["jpg","gif","png","tga"]] for item in i]
;) - user1269942from PIL import Image
import os, os.path
imgs = []
path = "/home/tony/pictures"
valid_images = [".jpg",".gif",".png",".tga"]
for f in os.listdir(path):
ext = os.path.splitext(f)[1]
if ext.lower() not in valid_images:
continue
imgs.append(Image.open(os.path.join(path,f)))
if f.lower().endswith(valid_images): append
(在这种情况下,valid_images
应该是一个元组)。 - jfsendswith
方面是正确的,但我认为在测试文件扩展名时,使用splitext
然后进行比较会更好一些 - 这样更加明确。 - Tony Suffolk 66