在Python中,批量读取图像可以通过多种方法实现,以下是使用`PIL`库和`OpenCV`库的两种常见方法:
使用PIL库
from PIL import Image
import glob
指定图片目录
image_dir = '/path/to/images'
获取所有图片文件路径
image_files = glob.glob(image_dir + '/*.jpg') 可根据具体格式修改
批量读取图片
images = []
for file in image_files:
image = Image.open(file)
images.append(image)
处理图片...
使用OpenCV库
import cv2
import glob
指定图片目录
image_dir = '/path/to/images'
获取所有图片文件路径
image_files = glob.glob(image_dir + '/*.jpg') 可根据具体格式修改
批量读取图片
images = []
for file in image_files:
image = cv2.imread(file)
images.append(image)
处理图片...
使用`os`和`glob`模块
import os
import glob
from PIL import Image
指定文件夹路径
folder_path = 'images/'
获取所有图片文件路径
image_files = glob.glob(folder_path + '*.jpg') 可根据具体格式修改
批量读取图片
images = []
for filename in image_files:
image = Image.open(os.path.join(folder_path, filename))
images.append(image)
处理图片...
使用`multiprocessing`库
from multiprocessing import Pool
import glob
from PIL import Image
def get_image_paths(folder):
return glob.glob(os.path.join(folder, '*.jpg')) 可根据具体格式修改
def read_image(filename):
return Image.open(filename)
if __name__ == '__main__':
image_files = get_image_paths('/path/to/images')
with Pool() as pool:
images = pool.map(read_image, image_files)
处理图片...
以上代码展示了如何使用Python的`PIL`库和`OpenCV`库批量读取图像文件。您可以根据自己的需求选择合适的方法。