随便讲讲Python图像处理库PIL的使用
如何下载安装PIL
我们可以使用pip来安装,但是需要注意的是如果输入pip install PIL
的话会报错:
ERROR: Could not find a version that satisfies the requirement PIL (from versions: none)
ERROR: No matching distribution found for PIL
为什么会出现Piilow?
-
PIL只支持Python2.
-
PIL 不兼容setuptools.
-
PIL更新速度令人难以忍受,一年只有两次更新。
PIL多个模块介绍
1. Image
Image是PIL中最重要的模块之一,任何一张图片都可以使用Image对象来表示。
from PIL import Image
im = Image.open("pic.jpg")
这里要注意在使用交互式处理图片文件时,应该使用文件的全路径,如果运行py文件,还是建议采用相对路径。
我们可以使用Image类的一些属性来查看图片文件的一些信息:
im = Image.open("eyecatch.jpg")
print(im.format,im.size,im.mode)
输出结果:
JPEG (1200, 630) RGB
这个Image.format是用来标识图片的格式或来源,如果图片并不是通过读取文件得到的,那么值就是None。这个Image.mode就是图片的色彩模式,有三种色彩模式,一种是“L”:灰度图片,一种是“RGB”:真彩图片,最后一种是“CMYK”,是出版图片。至于Image.size它是显示图片的高和宽的,其代表高多少像素,宽多少像素,打印该属性得到的是一个二元元组。
我们还可以利用Image的一些方法来进行图像转换和保存。
from PIL import Image
im = Image.open("eyecatch.jpg")
im.thumbnail((128,128))
im.save("EYECATCH.jpg")
这里是创建图片的略缩图。尺寸为128*128。
然后调用save方法保存图片。
也可以使用convert(mode)来转换图片到新的模式。
可以使用Image.size
和Image.rotate
来调整图像的大小和进行旋转图片。
2. ImageFilter
我们可以使用ImageFilter
来过滤图像,比如活动一张图片的轮廓效果,我们可以这样:
# -*- coding: utf-8 -*-
from PIL import Image
from PIL import ImageFilter
im = Image.open("google-chrome-eyecatch.jpg")
om = im.filter(ImageFilter.CONTOUR())
om.save("bd.jpg")
还有很多同ImageFilter.CONTOUR()的模式,大家可以试一试。
ImageFilter.BLUR 让图片产生模糊效果。
ImageFilter.DETAIL 让图片有细节效果。
ImageFilter.EDGE_ENHANCE 让图片的边界有加强效果。
ImageFilter.SHARPEN 产生图片锐化效果
还有很多在此不赘叙了,可以查看它的文档。
3. ImageEnhance
ImageEnhance模块拥有了更加高级的图像增强功能.
比如我们可以增强图片的对比度:
# -*- coding: utf-8 -*-
from PIL import Image
from PIL import ImageEnhance
im = Image.open("google-chrome-eyecatch.jpg")
om = ImageEnhance.Contrast(im)
om.enhance(20).save("bd.jpg")
我们还可以通过imageEnhance.Color()
调整其颜色平衡,通过imageEnhance.Brightness()
调整其亮度。
- 点赞
- 收藏
- 关注作者
评论(0)