Python图像处理PIL库简介

搬运自本人博客:http://www.xgezhang.com/python_pil.html

最近用到一些简单的图像处理,这里简单介绍一下,Python Imaging Library (PIL)是PythonWare公司提供的免费的图像处理工具包,是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能。虽然在这个软件包上要实现类似MATLAB中的复杂的图像处理算法并不太适合,但是Python的快速开发能力以及面向对象等等诸多特点使得它非常适合用来进行原型开发。对于简单的图像处理或者大批量的简单图像处理任务,python+PIL是很好的选择。

PIL 具备(但不限于) 以下的能力:

  • 十种图档格式的读写能力。
  • 常见的JPEG, PNG, BMP, GIF, TIFF 等格式,都在PIL 的支援之列。 
  • 另外,PIL 也支援黑白、灰阶、自订调色盘、RGB true color、带有透明属性的RBG true color、CMYK 及其它数种的影像模式。 
  • 基本的影像资料操作:裁切、平移、旋转、改变尺寸、调置(transpose)、剪下与贴上等等。 
  • 强化图形:亮度、色调、对比、锐利度。 
  • 色彩处理。 

下面是一些基本的使用方法,导入PIL的Image库之后,我们首先打开一个图片,使用函数:

?
1
img = Image. open ( 'filename' )

查看图片格式、尺寸、模式等,并且可以查看图片:

?
1
2
3
4
print img. format
print img.size
print img.mode
img.show()

格式转换非常简单,只需要将通过img.save(“xxx.bmp”),就可以把之前的格式的图转化成bmp格式,但save函数本身的作用是保存一个临时的图片文件,而格式转换功能则是通过convert()函数来实现:

我们可以对图像指定位置的区块进行裁剪,例如对坐上坐标(100,100)到右下坐标(400,400)部分的裁剪:

?
1
2
region = ( 100 , 100 , 400 , 400 )
cutRegion = img.crop(region)

几何变换,包括改变尺寸,旋转:

?
1
2
3
out = img.resize( 100 , 100 )
out = img.rotate( 45 )
out = img.transpose(Image.ROTATE_180)

我们知道一副图像分为RGB三个通道,PIL库支持我们对单一通道进行操作,首先我们分出3通道的数值:

?
1
2
3
4
r,g,b = img.split() #分割成三个通道 
r.show() 
g.show() 
b.show()

这里只是一些基本用法,更多的请参阅handbook:http://effbot.org/imagingbook/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值