python之PIL库(Image模块)

摘要:
PIL是python的第三方图像处理库,PIL的功能非常的强大,几乎被认定是Python的官方图像处理库了。由于PIL仅支持到python2.7于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新的python3,而且扩容了很多特性,所以在python3我们可以直接安装Pillow。PIL较新的版本支持包括TkPhotoImage,BitmapImage还有WindowsDIB等接口。PIL支持众多的GUI框架接口,可以用于图像展示。先简单总结到这里,Image模块单独使用率是比较低的,以后再总结PIL的其他模块。

PIL(Python Image Library)是python的第三方图像处理库,PIL的功能非常的强大,几乎被认定是Python的官方图像处理库了。

由于PIL仅支持到python2.7于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新的python3,而且扩容了很多特性,所以在python3我们可以直接安装Pillow。

我们可以去官网查看它的资料:http://effbot.org/

它可以做的事情:

  • 图像归档(Image Archives)。PIL非常适合于图像归档以及图像的批处理任务。你可以使用PIL创建缩略图,转换图像格式,打印图像等等。
  • 图像展示(Image Display)。PIL较新的版本支持包括Tk PhotoImage,BitmapImage还有Windows DIB等接口。PIL支持众多的GUI框架接口,可以用于图像展示。
  • 图像处理(Image Processing)。PIL包括了基础的图像处理函数,包括对点的处理,使用众多的卷积核(convolution kernels)做过滤(filter),还有颜色空间的转换。PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。PIL还有一些直方图的方法,允许你展示图像的一些统计特性。这个可以用来实现图像的自动对比度增强,还有全局的统计分析等。

官网中PIL的模块:

python之PIL库(Image模块)第1张

这里主要介绍基本的Image模块

Image模块

Image模块是PIL库基本的核心类,该模块提供了很多工厂功能,比如加载图像和创建新图像。以下介绍它的一些基本用法

open(filename,mode):打开一张图像

from PIL importImage

img = Image.open(r'D:workspacepachongceshi	img.jpg', 'r')
print(img,type(img))

可以看到:

python之PIL库(Image模块)第2张

#获得图像的高和宽
h, w = img.size
#获得图像的格式
geshi = img.format
#获得图像的模式
mo = img.mode
#将文件重新保存为time.png
img.save('time', 'png')
#创建缩略图
img.thumbnail((50,50),resample=Image.BICUBIC)
img.show()
#保存与图像数据相关的字典
dic = img.info
#验证文件是否损坏,如果损坏回报异常
img.verify()
#翻转图像
new_img =img.transpose(Image.FLIP_LEFT_RIGHT)
new_img.show()

可以是下面几种方法:FLIP_LEFT_RIGHT,FLIP_TOP_BOTTOM,ROTATE_90,ROTATE_180或ROTATE_270。

#显示图像
new_img.show()
#两张图片混合,两个图像必须具有相同的大小和模式
Image.blend(image1,image2,alpha) ⇒图像
# 如果alpha为0.0,则返回第一个图像的副本。如果alpha为1.0,则返回第二个图像的副本。alpha值没有限制。
如有必要,剪切结果以适应允许的输出范围。
Image.eval(图像,功能) ⇒图像
# 将函数(应该采用一个参数)应用于给定图像中的每个像素
#色素分离
r, g, b =img.split()
r.show()
g.show()
b.show()
#旋转图像90度
img1 = img.rotate(90)
img1.show()
#调整大小
img1 = img.resize((100, 100))
img1.show()
#将一张图像粘贴到指定位置
im.paste(图像,方框)
#调为映像分配存储并从文件(或从源,从延迟操作)加载它
pix  =img.load
print(pix)
#返回图像的直方图
img_lst = img.histogram()
im.copy() ⇒图像
#复制图像。如果您希望将内容粘贴到图像中,但仍保留原始图像,请使用此方法。

先简单总结到这里,Image模块单独使用率是比较低的,以后再总结PIL的其他模块。

免责声明:文章转载自《python之PIL库(Image模块)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle安装nginx端口占用案例分享下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python while、for循环、list列表

1、while循环(循环也可叫迭代、遍历) while 循环 必须有一个计数器 count=0 while count<10: print('hello') count=count+1 2、猜数字游戏例子 import random    #引用随机数模块 num=random.randint(1,100) #随机产生一个数字,1到100 coun...

python设计模式之猴子补丁模式

1、所有书中都没有把猴子补丁作为一种设计模式来看待。因为设计模式的模式的命名是根据java中提炼出来的,语言方式决定了java绝对不会有也不需要有这种操作,不存在的。那自然设计模式不会包括猴子补丁模式。 2、根据百度百科介绍,设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开...

python之selenium操作隐藏元素

    Fast traslate Icon translate     getElementsByTagName   GetElementsByTagName Fast traslate Icon translate 一、html显示与隐藏元素的几种方法 1、display none:...

利用Python将excel数据读取到word表格

在工作中可能需要两者对excel和word进行转化,今天介绍例如Python 将excel转word表格 看图,我需要将这份excel文档转word表格: 思路: 1、创建需要的表格; 2、读取excel文档; 3、将excel文档数据写入word表格对应的位置; 4、循环 需要用到的模块 创建表格,由于我需要的表格需要进行合并处理,所以使用merge...

python json数据的转换

1  Python数据转json字符串   import json   json_str = json.dumps(py_data) 参数解析:   json_str = json.dumps(py_data,sort_keys=True,indent =4,separators=(',', ': '),encoding="gbk",ensure_asc...

python音乐下载,小白也可以写爬虫

**简介:使用BeautifulSoup和request模块进行抓取和解析,最后保存音乐(注:音乐质量是普通品质的)** 关于模块的安装,打开cmd输入 pip install bs4 //安装BeautifulSouppip install requests //安装requestspip install fake_useragent //这个模块可以随...