Python:裁剪图片
图片裁剪是图片处理的一项重要技术。在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中处理图像的重要工具库。
