一、前言
在日常生活和工作中,图片处理是一项常见的任务。有时候,我们需要对图片进行裁剪,以便去除不需要的部分,或者将图片调整为特定的尺寸。手动进行这些操作既耗时又费力。因此,本文介绍了一个使用Python编写的图片处理工具,它能够自动遍历目录中的所有图片,并按照指定的要求进行裁剪和保存。该工具的实现主要依赖于os模块和PIL(Pillow)库,前者用于文件和目录操作,后者用于图像处理。
二、整体架构流程
该图片处理工具的核心是ImageProcessor类,它包含以下几个主要方法:
-
初始化方法:
def __init__(self, directory): self.directory = directory self.extensions = ['.png', '.jpg', '.jpeg']
该方法接收一个目录路径作为参数,并设置要处理的图片扩展名。
-
遍历文件夹中所有的图片:
def find_images(self): image_paths = [] for root, dirs, files in os.walk(self.directory): for extension in self.extensions: for filename in fnmatch.filter(files, f'*{ extension}'): image_paths.append(os.path.abspath(os.path.join(root, filename))) return image_paths
该方法遍历指定目录及其子目录中的所有图片,并返回它们的绝对路径。
-
获取图片长宽尺寸:
def get_image_size(self, image_path): image = Image.open(image_path) width, height = image.size return width, height
该方法接收一个图片路径作为参数,并返回该图片的宽度和高度。
-
从指定的起点坐标开始,截取指定宽度和高度的图像区域:
def crop_image(self, image_