Pillow - 裁剪图像



在 Pillow(Python 图像库)中裁剪图像涉及选择图像的特定区域或子区域,并从该区域创建新图像。此操作可用于去除图像中不需要的部分,专注于特定主题或将图像调整为特定尺寸。

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

使用 crop() 方法裁剪图像

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

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

PIL.Image.crop(box)

其中,

  • **box** - 一个元组,以 (left, upper, right, lower) 的格式指定裁剪框的坐标。这些坐标表示我们要保留的矩形区域的左、上、右和下边缘。

示例

在此示例中,我们通过传递我们要裁剪的图像区域的左、上、右和下角,使用 **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()

输出

以上代码将生成以下输出:

输入图像

crop_image_input

输出图像(裁剪后的图像)

crop_output image

示例

这是一个使用 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()

输出

执行上述代码后,您将获得以下输出:

输入图像

crop_image_input

输出(裁剪后的图像)

crop_output image
广告