Python PIL Image.crop()详解+裁剪四元组定位的小技巧
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自带的画图工具,打开 标尺和网格 进行快速定位,下面举个例子。
-
原始图片,我想裁剪出图中单词的列,用于我做图像识别
-
用画图工具打开,
查看->标尺、网格线
全部打开
-
定位。 注意,画图工具中,竖向是x坐标,横向是y坐标,如下图所示,得到左上角坐标(300,100),右下角坐标(2200,400)
-
对于PIL图像库中的坐标,则是横向是x坐标,纵向是y坐标,所以代码中的左上角坐标是(100,300),右下角坐标(400,2200)
crop_area = (100, 300, 400, 2200)