资源描述:
《python图像处理库PIL介绍》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档python图像处理库PIL介绍1.简介。 图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的Python当然不会错过这一门盛宴。PIL(PythonImagingLibrary)是Python中最常用的图像处理库,目前版本为1.1.7,我们可以 在这里 下载学习和查找资料。 Image类是PIL库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像和通过抓取的方法得到的图像这三种方法。2.使用。 导入Image模块。然后通过Image类中的open方法即可载入一个图像文件。如果载入文件失败,则会引起一个IOError;若
2、无返回错误,则open函数返回一个Image对象。现在,我们可以通过一些对象属性来检查文件内容,即:1>>>importImage2 >>>im=Image.open("j.jpg")3 >>>printim.format,im.size,im.mode4JPEG(440,330)RGB 这里有三个属性,我们逐一了解。 format:识别图像的源格式,如果该文件不是从文件中读取的,则被置为None值。 size:返回的一个元组,有两个元素,其值为象素意义上的宽和高。 mode:RGB(truecolorimage),此外还有,L(luminance),C
3、MTK(pre-pressimage)。 现在,我们可以使用一些在Image类中定义的方法来操作已读取的图像实例。比如,显示最新载入的图像:1>>>im.show()2 >>>输出原图:3.函数概貌。标准文案实用文档3.1 ReadingandWritingImages:open(infilename),save(outfilename)3.2 CuttingandPastingandMergingImages: crop():从图像中提取出某个矩形大小的图像。它接收一个四元素的元组作为参数,各元素为(left,upper,right,lower),坐标系统的原
4、点(0,0)是左上角。 paste(): merge():1>>>box=(100,100,200,200)2 >>>region=im.crop(box)3 >>>region.show()4 >>>region=region.transpose(Image.ROTATE_180)5 >>>region.show()6 >>>im.paste(region,box)7 >>>im.show() 其效果图为:旋转一幅图片:1defroll(image,delta):2"Rollanimagesideways"34xsize,ysize=image.size5
5、6delta=delta%xsize7ifdelta==0:returnimage89part1=image.crop((0,0,delta,ysize))10part2=image.crop((delta,0,xsize,ysize))11image.paste(part2,(0,0,xsize-delta,ysize))12image.paste(part1,(xsize-delta,0,xsize,ysize))1314returnimage3.3 几何变换。标准文案实用文档3.3.1 简单的几何变换。1>>>out=im.resize((128,128))#2
6、>>>out=im.rotate(45)#逆时针旋转45度角。3 >>>out=im.transpose(Image.FLIP_LEFT_RIGHT)#左右对换。4 >>>out=im.transpose(Image.FLIP_TOP_BOTTOM)#上下对换。5 >>>out=im.transpose(Image.ROTATE_90)#旋转90度角。6 >>>out=im.transpose(Image.ROTATE_180)#旋转180度角。7>>>out=im.transpose(Image.ROTATE_270)#旋转270度角。 各个调整之后的图像为: 图片1
7、: 图片2:标准文案实用文档 图片3: 图片4:3.3.2 色彩空间变换。 convert():该函数可以用来将图像转换为不同色彩模式。3.3.3 图像增强。 Filters:在ImageFilter模块中可以使用filter函数来使用模块中一系列预定义的增强滤镜。1>>>importImageFilter2>>>imfilter=im.filter(ImageFilter.DETAIL)3>>>imfilter.show()3.4 序列图像。 即我们常见到的动态图,最常见的后缀为.gif,另外还