读取一幅图像的内容,将其按象限分为4等份,然后1、3象限内容交换,2、4象限内容交换,生成一幅新图像。本文主要演示扩展库pillow中Image对象的crop()和paste()两个方法的用法。
from PIL import Image
im = Image.open('test.bmp')
size = im.size
# 获取4个象限中的子图
box1 = (0, size[1]//2, size[0]//2, size[1])
region1 = im.crop(box1)
box2 = (0, 0, size[0]//2, size[1]//2)
region2 = im.crop(box2)
box3 = (size[0]//2, 0, size[0], size[1]//2)
region3 = im.crop(box3)
box4 = (size[0]//2, size[1]//2, size[0], size[1])
region4 = im.crop(box4)
# 交换象限
im.paste(region1, box3)
im.paste(region3, box1)
im.paste(region2, box4)
im.paste(region4, box2)
im.save('result.bmp')
im.close()
原始图像为:
生成的新图像为: