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,降噪
原文:https://www.cnblogs.com/wdty/p/10659269.html