Python PIL Image.crop()详解+裁剪四元组定位的小技巧

发布时间 2023-08-14 16:01:49作者: wenli7363

0 Image.crop详解

image.crop是Python中用于裁剪图片的函数。在使用该函数前,我们需要先导入PIL库,即Python Image Library。

from PIL import Image

# 打开图片
img = Image.open('example.jpg')

# 图片的裁剪区域(区域左上角的坐标为(100, 100),右下角的坐标为(300, 300))
crop_area = (100, 100, 300, 300)

# 裁剪并保存图片
crop_img = img.crop(crop_area)
crop_img.save('example_crop.jpg')

image.crop的参数为一个四元组,表示裁剪区域的左上角坐标和右下角坐标。使用该函数时需要注意以下几点:

1、四元组的坐标值必须为整数,否则会报错。

2、裁剪后的图片像素尺寸需要与裁剪区域一致,否则会出现图片被压缩或拉伸的情况。

3、裁剪区域的左上角坐标需要在图片范围内,否则会报错。

1 如何定位crop_area四元组呢?

借助windows自带的画图工具,打开 标尺和网格 进行快速定位,下面举个例子。

  1. 原始图片,我想裁剪出图中单词的列,用于我做图像识别
    1

  2. 用画图工具打开,查看->标尺、网格线全部打开
    2

  3. 定位。 注意,画图工具中,竖向是x坐标,横向是y坐标,如下图所示,得到左上角坐标(300,100),右下角坐标(2200,400)
    3

  4. 对于PIL图像库中的坐标,则是横向是x坐标,纵向是y坐标,所以代码中的左上角坐标是(100,300),右下角坐标(400,2200)

crop_area = (100, 300, 400, 2200)