在Python中进行图像批处理,你可以使用多种库,如Pillow、OpenCV、imageio等。以下是一些示例代码,展示了如何使用这些库进行图像批处理:
使用Pillow库
from PIL import Imageimport globdef resize_images(input_folder, output_folder, size=(300, 300)):if not os.path.exists(output_folder):os.makedirs(output_folder)for file in glob.glob(os.path.join(input_folder, "*.jpg")):img = Image.open(file)img_resized = img.resize(size)img_resized.save(os.path.join(output_folder, os.path.basename(file)))调用函数resize_images("path/to/input/folder", "path/to/output/folder")
使用OpenCV库
import cv2import numpy as npimport globdef process_images(input_folder, output_folder):if not os.path.exists(output_folder):os.makedirs(output_folder)for file in glob.glob(os.path.join(input_folder, "*.jpg")):img = cv2.imread(file)示例:将图像转换为灰度图像gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)示例:应用Harris角点检测corners = cv2.goodFeaturesToTrack(gray, 100, 0.01, 10)for i in corners:x, y = i.ravel()cv2.circle(img, (x, y), 3, 255, -1)cv2.imwrite(os.path.join(output_folder, os.path.basename(file)), img)调用函数process_images("path/to/input/folder", "path/to/output/folder")
使用imageio库
import imageioimport osdef process_images_with_imageio(input_folder, output_folder):if not os.path.exists(output_folder):os.makedirs(output_folder)for file in glob.glob(os.path.join(input_folder, "*.jpg")):img = imageio.imread(file)示例:将图像转换为灰度图像gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)示例:应用Harris角点检测corners = cv2.goodFeaturesToTrack(gray, 100, 0.01, 10)for i in corners:x, y = i.ravel()cv2.circle(img, (x, y), 3, 255, -1)imageio.imwrite(os.path.join(output_folder, os.path.basename(file)), img)调用函数process_images_with_imageio("path/to/input/folder", "path/to/output/folder")
以上示例展示了如何使用Pillow、OpenCV和imageio库对图像进行批处理。你可以根据具体需求修改这些示例代码,比如调整图像大小、应用滤镜、进行角点检测等。

