python PIL库的使用
(1)pil可以做很多和图像处理相关的事情:
- 图像归档(image archives)。pil非常适合于图像归档以及图像的批处理任务。你可以使用pil创建缩略图,转换图像格式,打印图像等等。
- 图像展示(image display)。pil较新的版本支持包括tk photoimage,bitmapimage还有windows dib等接口。pil支持众多的gui框架接口,可以用于图像展示。
- 图像处理(image processing)。pil包括了基础的图像处理函数,包括对点的处理,使用众多的卷积核(convolution kernels)做过滤(filter),还有颜色空间的转换。pil库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。pil还有一些直方图的方法,允许你展示图像的一些统计特性。这个可以用来实现图像的自动对比度增强,还有全局的统计分析等。
(2)pil库image类介绍
image类中的函数
1. open(filename) : 根据参数加载图像文件。建议采用文件的全路径,如下面的文件位于d盘中
|
2. new(mode,size,color): 这个函数创建一幅给定模式(mode)和尺寸(size)的图片,如果省略color参数,则创建的图片被黑色填充满,如果 color 参数是 none 值,则图片还没初始化。
3. open(stringio.stringio(buffer)): 从字符串中获取图像。
4.frombytes(mode,size,data):根据像素点(data)创建图像
5.verify :对图像文件完整性进行检查,返回异常。
image类的常用属性
1.format:识别图像格式或来源,如果图像不是从文件中读取,值为none
2.mode:图像的色彩模式,'l'为灰色图像,'rgb'为真彩色图像,"cmyk"为出版图像。
3.size:图像宽度和高度,单位是像素,返回值为二元元组。
4.palette:调色板属性,返回一个imagepalette类型
查看已读取的图像文件的属性如下:
print(im.format,im.size,im.mode) jpeg (900,598),rgb |
image类的方法
1.seek(frame): 跳转并返回图像中的指定帧
2.tell():返回当前帧的序号
3.save(filename,format):将图像保存为filename文件名,format是图片格式
4.convert(mode):使用不同的参数,转换图像为新的模式
5.thumbnail(size):创建图像的缩略图,size是缩略图尺寸的二元元祖
6.resize(size):按size大小调整图像,生成副本。
7.rotate(angle):按angle角度旋转角度,生成副本。
8.point(func):根据函数func的功能对每个元素进行运算,返回图像副本、
9.split(): 提取rgb图像的每个颜色通道,返回图像副本、
10.merge(mode,bands):合并通道,其中mode表示色彩,bands表示新的色彩通道。
11.blend(im1,im2,alpha): 将两幅图片im1和im2按照如下公式插值后生成新的图im3,im1*(1.0-alpha)+im2*alpha
我做的一个实例:
from pil import image from pil import imagefilter from pil import imageenhance im=image.open("d:\\十二星座.png") om=im.filter(imagefilter.contour) om=imageenhance.contrast(im) om.enhance(120).save("d:\\十二星座.png") |
一开始的图片是
使用image类后