Python实现将一张图片裁剪多张

一、需求

需要将一张图片,从中间对半裁剪为两张图片

如:
在这里插入图片描述
裁剪为两张:
在这里插入图片描述

二、代码

import os
from PIL import Image
IMAGES_PATH = 'img\\test\\'  # 图片集地址
# 支持的格式
IMAGES_FORMAT = ['.png', '.jpg']  # 图片格式

# 获取图片集地址下的所有图片名称
image_names = [name for name in os.listdir(IMAGES_PATH) for item in IMAGES_FORMAT if
               os.path.splitext(name)[1] == item]

print(image_names)


# 定义图像拼接函数
def image_compose():
    # 循环遍历,把每张图片按顺序粘贴到对应位置上
    for index in range(0, len(image_names)):
        img = Image.open(IMAGES_PATH + image_names[index])  # 打开图像
        # 截取的位置
        box1 = (0, 0, 256, 256)
        box2 = (256, 0, 512, 256)
        roi1 = img.crop(box1)
        roi2 = img.crop(box2)
        roi1.save("./test/1_%d.png" % index)
        roi2.save("./test/2_%d.png" % index)

image_compose()  # 调用函数