使用Image.crop()方法对图片进行切割。

参数:

Image.crop(left, up, right, below)

left:与左边界的距离

up:与上边界的距离

right:还是与左边界的距离

below:还是与上边界的距离

简而言之就是,左上右下。

例子:将一张花图片切分成9张(3*3)

图片:

from PIL import Image
filename = r'F:\研二\壁纸\花.jfif'
img = Image.open(filename)
size = img.size
print(size)  #(1920, 1200)

# 准备将图片切割成9张小图片
weight = int(size[0] // 3)
height = int(size[1] // 3)

# 切割后的小图的宽度和高度
print(weight, height) #640 400
for j in range(3):
    for i in range(3):
        box = (weight * i, height * j, weight * (i + 1), height * (j + 1))
        # (j, i) 左上右下
#(0,0/1/2) box00(0, 0, 640, 400) box01(640, 0, 1280, 400) box02(1280, 0, 1920, 400)
#(1,0/1/2) box10(0, 400, 640, 800) box01(640, 400, 1280, 800) box02(1280, 400, 1920, 800)
#(2,0/1/2) box20(0, 800, 640, 1200) box01(640, 800, 1280, 1200)  box02(1280,800,1920, 1200)
        region = img.crop(box)  # 进行裁剪
        region.save('{}{}.png'.format(j, i))

 

                        00.png                                    01.png                                      02.png

  

  10.png                                 11.png                                  12.png

  

21.png                                         22.png                               23.png

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐