今天要用Python切割图片进行ocr识别。想到用pillow的crop进行切割。但是网上查了半天,没看明白crop的参数到底怎么用的。大多数都是同一篇文章抄来抄去。
无奈,自己研究下吧。记录下结果,防止以后忘。
什么是pillow?
pillow是Python的开一个库,用来处理图像的
裁剪图片的时候,可以用Image.crop()方法对图片进行切割。
参数:Image.crop(left, up, right, below)
参数说明:
left:与左边界的距离(就是下面的x1)
up:与上边界的距离(就是下面的y1)
right:还是与左边界的距离(就是下面的x2)
below:还是与上边界的距离(就是下面的y2)
crop里对应的数值为该位置图像在整体图片中左上和右下两个点的像素坐标
简而言之就是,左上右下两个点。
crop([x1,y1,x2,y2]) # x1和y1组成一个坐标点,x2和y2组成一个坐标点。单位是像素
crop方法里,需要知道2个点,那怎么知道这2个点的位置?
比如这个图片:我想把【天才】两个字的图片切出来。怎么办?
1、用Windows自带的图片工具打开图片
2、移动鼠标到要切割的图片的起点位置。并记录下左下角的像素
3、移动鼠标到要切割的图片的终点位置。并记录下左下角的像素
准备完成,开始写代码
from PIL import Image
img = Image.open(r'D:\code\练手\pillow\image\4.jpg')
img.crop((161, 88, 307, 158)).save(r'D:\code\练手\pillow\image\4_crop.jpg')
这里的161和88,就是步骤2里记录下来的x1和y1,
这里的307和158,就是步骤3里记录下来的x2和y2
运行代码。查看结果。可以看到将【天才】两个字的图给切割出来了
结束。