赵乾舟 发表于 2021-8-3 14:49:35

把图片裁切成两半,分别保存

# python裁剪图片并保存
from PILimport Image
srcPath = 'F:/002/教练备课本00.png'
dstPath = f'F:/002/1.png'
dstPath1 = f'F:/002/2.png'
# 读取图片
img_1 = Image.open(srcPath)
# 设置裁剪的位置
crop_box = (0,0,img_1.size/2,img_1.size)
crop_box1 = (img_1.size/2,0,img_1.size,img_1.size)
# 裁剪图片
img_2 = img_1.crop(crop_box)
img_21 = img_1.crop(crop_box1)
img_2.save(dstPath)
img_21.save(dstPath1)


赵乾舟 发表于 2021-8-3 18:29:10

代码又改了一下,遍历多张图片,裁切完成

import os
from PIL import Image
i = 1
j = 2
url = 'D:\py练习\pic'   #定义图片文件夹
for lujing,liebiao,wenjian in os.walk(url):
    for a in wenjian:
      srcPath = lujing +'\\' +a
      #print(srcPath)
      定义存放裁切后图片路径,这里直接放在源文件夹下,也可以加一层目录
      dstPath = url + '\\'+f'{i}.png'
      dstPath1 = url + '\\'+f'{j}.png'
      # 读取图片
      img_1 = Image.open(srcPath)
      # 设置裁剪的位置
      crop_box = (0,0,img_1.size/2,img_1.size)
      crop_box1 = (img_1.size/2,0,img_1.size,img_1.size)
      i = i + 2
      j = j + 2
      # 裁剪图片
      img_2 = img_1.crop(crop_box)
      img_21 = img_1.crop(crop_box1)
      #保存图片
      img_2.save(dstPath)
      img_21.save(dstPath1)
      print(a,'裁切完成')






赵乾舟 发表于 2021-8-6 19:47:52

首先安装pil,我没有安装成功,后来安装了pillow,一次成功

赵乾舟 发表于 2022-3-19 18:19:26

时间长了,还是容易忘,今天补充点儿知识,我直接把人家原文复制过来
pillow模块Image.crop()函数切割图片方法,参数说明
使用Image.crop()方法对图片进行切割。
参数:
Image.crop(left, up, right, below)
left:与左边界的距离
up:与上边界的距离
right:还是与左边界的距离
below:还是与上边界的距离
简而言之就是,左上右下。

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

https://img2018.cnblogs.com/blog/1301446/201909/1301446-20190905163738380-1544380516.jpg
# -*- coding: utf-8 -*-

from PIL import Image

filename = r'路径\美女.jpg'
img = Image.open(filename)
size = img.size
print(size)

# 准备将图片切割成9张小图片
weight = int(size // 3)
height = int(size // 3)
# 切割后的小图的宽度和高度
print(weight, height)

for j in range(3):
    for i in range(3):
      box = (weight * i, height * j, weight * (i + 1), height * (j + 1))
      region = img.crop(box)
      region.save('{}{}.png'.format(j, i))



页: [1]
查看完整版本: 把图片裁切成两半,分别保存