欢迎访问宙启技术站
智能推送

Python:裁剪图片

发布时间:2023-05-15 16:53:03

图片裁剪是图片处理的一项重要技术。在Python中,通过使用Pillow库可以实现对图片的裁剪操作。

Pillow是Python中一个常用的图像处理库,它支持图片裁剪、旋转、缩放、滤镜等一系列图像处理操作,同时还支持多种图像格式的读写,包括:JPEG、PNG、BMP、GIF、TIFF等。

本文将介绍如何使用Pillow库来对图片进行裁剪,实现将原图中的指定区域剪裁下来保存的操作。具体步骤如下:

1. 安装Pillow库

在Python环境中,使用pip命令即可安装Pillow库。命令如下:

pip install Pillow

安装完成后,即可使用Pillow库。

2. 加载原始图片

首先,需要将原始图片加载到Python环境中。使用Pillow库中的Image模块,就可以实现图片的读取。以下是代码示例:

from PIL import Image

# 打开原始图片
im = Image.open('my_image.jpg')

其中,'my_image.jpg'为原始图片的文件路径,使用Image.open()函数打开图片,返回一个Image对象,存储在变量im中。

3. 裁剪图片

接下来,我们需要指定裁剪的区域,并对原始图片进行裁剪操作。在Pillow库中,可以使用Image.crop()函数进行裁剪。以下是代码示例:

# 指定裁剪区域
box = (100, 100, 400, 400) # (左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标)

# 对原始图片进行裁剪
crop_im = im.crop(box)

其中,box是一个元组,其中存储了裁剪区域的四个坐标值。crop_im为裁剪后生成的Image对象,存储在变量crop_im中。

需要注意的是,裁剪区域的坐标值是以左上角为起点,右下角为终点的。

4. 显示裁剪后的图片

完成图片裁剪后,我们可以通过将Image对象转换为numpy数组来显示裁剪后的图片。具体代码如下:

import numpy as np
from PIL import Image

# 打开原始图片
im = Image.open('my_image.jpg')

# 指定裁剪区域
box = (100, 100, 400, 400) # (左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标)

# 对原始图片进行裁剪
crop_im = im.crop(box)

# 将Image对象转换为numpy数组,并显示图片
crop_im_arr = np.asarray(crop_im)
im.show()

5. 保存裁剪后的图片

最后,将裁剪后的图片保存到指定路径下。在Pillow库中,可通过Image.save()函数实现。具体代码如下:

# 将裁剪后的图片保存到指定路径下
crop_im.save('my_crop_image.jpg')

其中,'my_crop_image.jpg'为指定的保存路径。此时,裁剪后的图片已经保存到指定路径下。

总结

本文介绍了如何使用Python中的Pillow库实现图片裁剪操作,包括图片的读取、裁剪、显示和保存等。Pillow库具有简单易用、支持多种图像格式、功能丰富等特点,是Python中处理图像的重要工具库。