Python批量自动裁剪图片

 1 """用Pythonp批量裁剪图片"""
 2 
 3 from PIL import Image
 4 import matplotlib.pyplot as plt
 5 import os
 6 
 7 # 定义待批量裁剪图像的路径地址
 8 IMAGE_INPUT_PATH = 'D:/2_Class'
 9 # 定义裁剪后的图像存放地址
10 IMAGE_OUTPUT_PATH = 'D:/2_Class[0]'
11 # 定义裁剪图片左、上、右、下的像素坐标
12 BOX_LEFT, BOX_UP, BOX_RIGHT, BOX_DOWN = 130, 180, 600, 400
13 
14 for each_image in os.listdir(IMAGE_INPUT_PATH):
15     # 每个图像全路径
16     image_input_fullname = IMAGE_INPUT_PATH + '/' + each_image
17     # PIL库打开每一张图像
18     img = Image.open(image_input_fullname)
19     plt.figure("image_input_fullname")
20     plt.subplot(1, 2, 1)
21     plt.imshow(img)
22     plt.axis('off')
23     print(img.format, img.size, img.mode)
24     # 从原始图像返回一个矩形区域,区域是一个4元组定义左上右下像素坐标
25     box = (BOX_LEFT, BOX_UP, BOX_RIGHT + BOX_LEFT, BOX_DOWN + BOX_UP)
26     # 进行roi裁剪
27     roi_area = img.crop(box)
28     plt.subplot(1, 2, 2)
29 
30     plt.imshow(roi_area)
31     plt.axis('off')
32     print(roi_area.format, roi_area.size, roi_area.mode)
33     plt.show()
34     # 裁剪后每个图像的路径+名称
35     image_output_fullname = IMAGE_OUTPUT_PATH + "/" + each_image
36     # 存储裁剪得到的图像
37     roi_area.save(image_output_fullname)
38     print('{0} crop done.'.format(each_image))
Python批量裁剪图片

代码生成效果展示: 2019-07-06 23:34:20

原始图片

Python批量自动裁剪图片_第1张图片

裁剪后图片

Python批量自动裁剪图片_第2张图片

转载于:https://www.cnblogs.com/Junlong/p/11144697.html

你可能感兴趣的:(Python批量自动裁剪图片)