Python图像处理库(PIL)的安装与入门

PIL的网上安装办法很多,但大部分都安装不成功出现各种PIL安装错误,按下面的办法大部分都可以安装成功。

Ubuntu系统:

sudo apt-get install python-imaging

这样安装就成功了。

Windows怎么安装PIL呢?

点击此连接http://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow下载对应的whl文件,然后安装

whl文件怎么安装?

如果没安装whell先pip安装

pip install wheel

然后就可以这样安装

pip install Pillow‑3.4.2‑cp27‑cp27m‑win32.whl

更多pip,whl的用法见:Installing from Wheels

pip安装PIL

PIP安装PIL,先安装python-dev,然后再安装Pillow也会成功。

sudo apt-get install python-dev 
pip install Pillow

如果安装过程中遇到什么问题,可以在下面留言一起讨论。

PIL基本使用

PIL 提供了丰富的功能模块:Image,ImageDraw,ImageEnhance,ImageFile 等等。最常用到的模块是 Image, ImageDraw,ImageEnhance 这三个模块。

1. Image模块

最基本的模块,每个Image对象对应了一幅图像,基本的功能如下:

img = Image.open("pic.jpg")
draw = ImageDraw.Draw(img)  # 建立绘图对象
width, height = img.size  # 获取原始图像大小
draw.line(((0, 0), (width - 1, height - 1)), fill=255)  # 画一条直线,(0,0)到(width-1,height-1),fill指线的颜色
draw.line(((0, height - 1), (width - 1, 0)), fill=255)  # 同上
img.save("cross_line.jpg")  # 保存新图像
draw.arc((0, 0, width - 1, height - 1), 0, 360, fill=255)  # (0,0,wifth-1,heght-1)指定了圆的范围,0,360指定了圆的起始角度和终止角度,fill指线的颜色
img.save("circle.jpg")

2. ImageDraw模块

提供基本的图形绘制。可绘制直线、弧线、矩形、多边形、椭圆、扇形等等。

from PIL import Image, ImageDraw

img = Image.open("pic.jpg")
draw = ImageDraw.Draw(img)  # 建立绘图对象
width, height = img.size  # 获取原始图像大小
draw.line(((0, 0), (width - 1, height - 1)), fill=255)  # 画一条直线,(0,0)到(width-1,height-1),fill指线的颜色
draw.line(((0, height - 1), (width - 1, 0)), fill=255)  # 同上
img.save("cross_line.jpg")  # 保存新图像
draw.arc((0, 0, width - 1, height - 1), 0, 360, fill=255)  # (0,0,wifth-1,heght-1)指定了圆的范围,0,360指定了圆的起始角度和终止角度,fill指线的颜色
img.save("circle.jpg")

3.ImageEnhance模块

提供图像增强功能。可以用来进行色彩增强、亮度增强、对比度增强、图像尖锐化等等增强操作。所有操作都有相同形式的接口—— 通过相应类的 enhance 方法实现: 色彩增强通过 Color类的 enhance 方法实现;亮度增强通过 Brightness 类的 enhance 方法实现;对比度增强通过 Contrast 类的 enhance 方法实现;尖锐化通过 Sharpness 类的 enhance 方法实现。

from PIL import Image, ImageEnhance

img = Image.open("pic.jpg")
brightness = ImageEnhance.Brightness(img)  # 获取亮度增强对象
bright_img = brightness.enhance(2.0)  # 亮度增加两倍
bright_img.save("bright.jpg")  # 保存
sharpness = ImageEnhance.Sharpness(img)  # 获取图片尖锐化对象
sharp_img = sharpness.enhance(7.0)  # 尖锐化
contrast = ImageEnhance.Contrast(img)  # 获取对比度对象
contrast_img = contrast.enhance(2.0)  # 增加对比度


评论(0条)

暂时还没有评论,第一个来评论吧!


我要发表看法

引用   粗体   链接   缩进  

最近编辑

热门标签