赞
踩
利用Python-OpenCV实现对目录中的所有png图片实现批量裁剪的代码
import os import cv2 def crop_images(input_folder, output_folder, crop_x, crop_y, crop_width, crop_height): # 检查输出文件夹是否存在,如果不存在则创建 if not os.path.exists(output_folder): os.makedirs(output_folder) # 获取输入文件夹中的所有PNG图片 png_files = [f for f in os.listdir(input_folder) if f.endswith('.png')] for png_file in png_files: # 构建输入和输出文件的完整路径 input_path = os.path.join(input_folder, png_file) output_path = os.path.join(output_folder, png_file) # 使用OpenCV加载图像 image = cv2.imread(input_path) # 裁剪图像 cropped_image = image[crop_y:crop_y + crop_height, crop_x:crop_x + crop_width] # 保存裁剪后的图像 cv2.imwrite(output_path, cropped_image) if __name__ == "__main__": # 输入文件夹路径,注意这里路径中不能有中文字符,原因是后面用到了os库,os库好像不支持中文字符 input_folder_path = r"E:\Temp\picinput" # 输出文件夹路径,注意这里路径中不能有中文字符,原因是后面用到了os库,os库好像不支持中文字符 output_folder_path = r"E:\Temp\picoutput" # 裁剪区域的坐标和尺寸 crop_x = 0 # crop_x代表要截取的区域的左上顶点的横坐标,可以用Windows自带的绘图工具获取坐标值 crop_y = 0 # crop_y代表要截取的区域的左上顶点的横坐标,可以用Windows自带的绘图工具获取坐标值 crop_width = 500 # crop_width代表要截取的区域的宽度 crop_height = 120 # crop_height代表要截取的区域的高度 # 执行裁剪 crop_images(input_folder_path, output_folder_path, crop_x, crop_y, crop_width, crop_height)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。