Python Pillow 简明教程

Pillow - Cropping an Image

在 Pillow(Python Imaging Library)中裁剪图像涉及选择图像的特定区域或子区域,并以此区域创建一个新图像。此操作可用于去除图像中不需要的部分,从而专注于特定对象,也可以将图像调整为特定大小。

Pillow 库的 Image 模块提供了 crop() 方法,用于对图像执行裁剪操作。

Cropping an Image using the crop() method

裁剪图像可以使用 crop() 方法完成,此方法允许我们定义一个框,指定要保留的区域的左上角、右上角和下角的坐标,然后创建仅包含原始图像那部分内容的新图像。

以下是 Pillow 库 crop() 方法的基本语法:

PIL.Image.crop(box)

其中,

  1. box - 一个元组,指定裁剪框的坐标,格式为 (left, upper, right, lower)。此坐标代表要保留的矩形区域的左、上、右和下边缘。

Example

在此示例中,我们使用 crop() 方法裁剪图像,方法是传入我们想要的图像区域的左上角、右上角和下角。

from PIL import Image

#Open an image
image = Image.open("Images/saved_image.jpg")

# Display the inaput image
image.show()

#Define the coordinates for the region to be cropped (left, upper, right, lower)
left = 100
upper = 50
right = 300
lower = 250

#Crop the image using the coordinates
cropped_image = image.crop((left, upper, right, lower))

#Display the cropped image as a new file
cropped_image.show()

上述代码将生成以下输出 −

输入图像:

saved image

输出图像裁剪图像:

crop output ex1

Example

以下是使用 crop() 方法执行输入图像指定部分裁剪操作的另一个示例。

from PIL import Image

#Open an image
image = Image.open("Images/yellow_car.jpg")

# Display the inaput image
image.show()

#Define the coordinates for the region to be cropped (left, upper, right, lower)
left = 100
upper = 100
right = 300
lower = 300

#Crop the image using the coordinates
cropped_image = image.crop((left, upper, right, lower))

#Display the cropped image
cropped_image.show()

执行上述代码时,您将获得以下输出 -

输入图像:

yellow car

输出裁剪图像:

crop output ex2