随便讲讲 Python 图像处理库 PIL 的使用
随便讲讲 Python 图像处理库 PIL 的使用
如何下载安装 PIL
我们可以使用 pip 来安装,但是需要注意的是如果输入pip install PIL
的话会报错:
这是因为 PIL 是只支持 Python2.x 的,所以我们使用 Python3 的小伙伴只能使用 pillow,pillow 可以说是 Python3 的 PIL,功能、用法都差不太多。
为什么会出现 Piilow?
PIL 只支持 Python2.
PIL 不兼容 setuptools.
PIL 更新速度令人难以忍受,一年只有两次更新。
PIL 多个模块介绍
1. Image
Image 是 PIL 中最重要的模块之一,任何一张图片都可以使用 Image 对象来表示。
这里要注意在使用交互式处理图片文件时,应该使用文件的全路径,如果运行 py 文件,还是建议采用相对路径。
我们可以使用 Image 类的一些属性来查看图片文件的一些信息:
输出结果:
这个 Image.format 是用来标识图片的格式或来源,如果图片并不是通过读取文件得到的,那么值就是 None。这个 Image.mode 就是图片的色彩模式,有三种色彩模式,一种是“L”:灰度图片,一种是“RGB”:真彩图片,最后一种是“CMYK”,是出版图片。至于 Image.size 它是显示图片的高和宽的,其代表高多少像素,宽多少像素,打印该属性得到的是一个二元元组。
我们还可以利用 Image 的一些方法来进行图像转换和保存。
这里是创建图片的略缩图。尺寸为 128*128。
然后调用 save 方法保存图片。
也可以使用 convert(mode)来转换图片到新的模式。
可以使用Image.size
和Image.rotate
来调整图像的大小和进行旋转图片。
2. ImageFilter
我们可以使用ImageFilter
来过滤图像,比如活动一张图片的轮廓效果,我们可以这样:
还有很多同 ImageFilter.CONTOUR()的模式,大家可以试一试。
ImageFilter.BLUR 让图片产生模糊效果。
ImageFilter.DETAIL 让图片有细节效果。
ImageFilter.EDGE_ENHANCE 让图片的边界有加强效果。
ImageFilter.SHARPEN 产生图片锐化效果
还有很多在此不赘叙了,可以查看它的文档。
3. ImageEnhance
ImageEnhance 模块拥有了更加高级的图像增强功能.
比如我们可以增强图片的对比度:
我们还可以通过imageEnhance.Color()
调整其颜色平衡,通过imageEnhance.Brightness()
调整其亮度。
版权声明: 本文为 InfoQ 作者【Regan Yue】的原创文章。
原文链接:【http://xie.infoq.cn/article/c492aa684ecff63e6feac9f82】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论