字符型验证码

PIL中所涉及的基本概念有如下几个:通道(bands)、尺寸(size)、坐标系统(coordinate system)。

通道: 每张图片都是由一个或者多个数据通道构成,如果这些通道具有相同的维数和深度,PIL允许将这些通道进行叠加 以RGB图像为例,每张图片都是由三个数据通道叠加构成,分别为R 、G 、B。 对于灰度图像(没有色彩的图片, RGB色彩分量全部相等),只有一个通道。 灰度指的是黑白图像中点的颜色深度,范围一般是0到255, 白色为255,黑色为0

对于一张图片的通道数量和名称,可以通过方法getbands()来获取。方法getbands()是PIL中Image子模块的方法,它会返回一个字符串组成的元祖,元祖中包括了每一个通道的名称。

from PIL import Image

im = Image.open('test.jpg’)

print(im.getbands()) 输出: (’R’, ‘G’, ‘B’)

图片尺寸(size)指的是图片的宽度和高度 通过size属性可以获取图片的尺寸,它的返回值是一个元祖,元祖里面有两个值,分别是水平和垂直方向上的像素个数 使用方式如下:

from PIL import image

Im = image.open(‘code.jpg’)

print(im.size) 输出: (246, 60)

PIL使用笛卡尔像素坐标系统,图像的左上角为左边的原点(0,0),这就意味着,x轴的数值是从左到右增长的,y轴的数值是从上到下增长的。 在我们处理图像的时候,常常需要去表示一个矩形的图像区域。Pillow中很多方法都需要传入一个表示矩形区域的元祖 这个元祖包含四个值,分别表示矩形四条边距离x轴或者y轴的距离。顺序是(左,顶,右,底) 例如,一个800x600的像素图像表示为(0, 0, 800, 600)

open  打开一个图片

new 新建一个图片

show 用默认的图片打开方法打开图片

save 保存image对象

crop 返回的是一个新的image 剪切

resize 设置图片的大小

rotate 旋转图片的大小

getpixel 获取xy坐标的像素值

getdata获取全部像素的值

copy 复制

paste 粘贴  1,对象;2坐标

图片预处理:
1,灰度处理

2,二值化

3,降噪

猜你喜欢

转载自www.cnblogs.com/wdty/p/10659269.html