python-----PIL库的使用

一、什么是PIL库

1.PIL(Python Image Library)库是python语言的第三方库,具有强大的图像处理能力,不仅包含了丰富的像素、色彩操作功能,还可以用于图像的归档和批量处理能力。

2.PIL库主要有2个方面的功能:

(1) 图像归档:对图像进行批处理、生产图像预览、图像格式转换等。

(2) 图像处理:图像基本处理、像素处理、颜色处理等。

根据功能的不同,PIL库包括21个与图片相关的类,这些类可以被看作是子库或PIL库中的模块,例如:

Image,ImageChops,Imagecolor,ImageCrackCode,ImageDraw等等

二、PIL库的安装

注意:PIL库的名字是pillow,下载时用的是pillow,而不是PIL

在命令行中输入pip install pillow,就会自动下载

命令行快捷键win键+R键

按下确定键,就会出现命令行

 三、PIL库的Image类解析

1.PIL库的引用(调用)

>>>from PIL import Image

2.Image类图像读取和创建方法

3.Image类的常用属性

4.Image类的序列图像操作方法

5. Image类的图像旋转和缩放方法

6.Image类的图像转换和保存方法

from PIL import Image
xiaogou=Image.open("C:\\Users\Administrator\Desktop\Python\\小狗.jpg")
xiaogou.thumbnail((128,128))
xiaogou.save("C:\\Users\Administrator\Desktop\Python\suoluetu","JPEG")
xiaogou1=xiaogou.filter(ImageFilter.CONTOUR)

7.Image类的图像像素和通道处理方法

四、图像过滤(ImageFilter子库)

1.调用ImageFilter类

from PIL import ImageFilter

2.ImageFilter类预定义图像过滤方法

from PIL import Image
from PIL import ImageFilter
xiaogou=Image.open("C:\\Users\Administrator\Desktop\Python\小狗.jpg")
xiaogou1=xiaogou.filter(ImageFilter.CONTOUR)
xiaogou1.save('C:\\Users\Administrator\Desktop\Python\guolvtu.jpg')

五、图像增强(ImageEnhance子库)

1.调用ImageEnhance

2.ImageEnhance类图像增强与滤镜方法

from PIL import Image
from PIL import ImageEnhance
xg = Image.open("C:\\Users\Administrator\Desktop\Python\pp1.jpg")
xg1 = ImageEnhance.Brightness(xg) #选择亮度
xg1.enhance(2).save("C:\\Users\Administrator\Desktop\Python\pp2.jpg")

 六、制作动态图(GIF图)

import imageio
savename = "C:\\Users\Administrator\Desktop\Python\动态图.GIF"
#准备制作的图像名称
filenames = ["C:\\Users\Administrator\Desktop\Python\p1.jpg","C:\\Users\Administrator\Desktop\Python\p2.jpg","C:\\Users\Administrator\Desktop\Python\p3.jpg"]
frames = []
for name in filenames:
frames.append(imageio.imread(name))
imageio.mimsave(savename,frames,'GIF',duration=1)

此处已完结,谢谢!

一秒钟带你走进P图世界-----(python)PIL库的使用的更多相关文章

  1. 小丁带你走进git的世界三-撤销修改

    一.撤销指令 git checkout还原工作区的功能 git reset  还原暂存区的功能 git clean  还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...

  2. 小丁带你走进git的世界二-工作区暂存区分支

    小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git  init git  clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 ...

  3. 小丁带你走进git的世界三-撤销修改(转)

    一.撤销指令 git checkout还原工作区的功能 git reset  还原暂存区的功能 git clean  还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...

  4. 带你走进rsync的世界

    导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...

  5. 人人都可以写的一个Python可视化小程序,带你走进编程的世界

    当年的PHP号称是最好的编程语言,今天的Python就是最简单的编程语言,一个小小的程序,寥寥几行代码,带你体验一下编程的乐趣. 最简单的编程语言 今天要介绍的小工具是Python环境安装好之后,自带 ...

  6. 小丁带你走进git的世界四-重写历史记录

    一.git对象文件创建 开篇先补充一个知识点,就是比如我建立一个文件之后,使用git add就会生成一个git对象,但是git对象生成后可以在.git/objects里面对应,首先我们来初始化一个仓库 ...

  7. Java第一天,带你走进编程的世界,我的第一个程序

    要想彻底了解Java是什么,我就得首先了解编程语言的发展史.编程语言最初的形势是"0101......"数据编程,也就是机器语言.机器语言可以说是一种几乎没有人能够看懂的编程语言, ...

  8. 瞄一眼,带你走进SparkSQL的世界

    本文由  网易云发布. 作者:范欣欣(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验 ...

  9. 具体解释C++引用——带你走进引用的世界

     一.介绍引用 首先说引用是什么,大家能够记住,引用就是一个别名,比方小王有个绰号叫小狗.他的妈妈喊小狗回家吃饭.那就是在喊小王回家吃饭. 接下来我们用两行代码来声明一个引用(就拿小王和小狗来说吧 ...

随机推荐

  1. docker根据配置文件启动redis

    更多docker基本命令请自行查询. 1.首先拉取合适版本的docker镜像 docker pull redis:5 2.如果不需要更改什么配置或者仅仅测试用可以直接启动镜像运行容器,这里要说明的是根 ...

  2. Linux(二)—— Unix&Linux 的基本概念

    Linux(二)-- Unix&Linux 的基本概念 计算机 = 主机(host)+ 终端(terminal) 主机 = 内核 + 实用工具 内核(kernel) 当计算机启动时,计算机要经 ...

  3. express+sequelize 做后台

    第一部分:安装express 第一步:执行 npm install -g express-generator note:必须安装这个,不然创建express项目的时候会提示express命令没有找到 ...

  4. 我的Scala之路(1):列表List操作

    List() 或 Nil 空 List List("Cool", "tools", "rule) 创建带有三个值"Cool",&q ...

  5. 第一课android开发之在activity间传递参数

    一.活动间简单参数传递:1.在布局中添加按钮,用<Button,用id设置id名称,id="@+id/这儿填写你要设置成的名称":用text设置按钮上显示的文字.text=& ...

  6. Vue.Draggable 文档总结

    本文章转自https://blog.csdn.net/zjiang1994/article/details/79809687 Vue.Draggable学习总结 Draggable为基于Sortabl ...

  7. QLabel class

    Help on class QLabel in module PyQt5.QtWidgets: class QLabel(QFrame)  |  QLabel(parent: QWidget = No ...

  8. 类SimpleDateFormat

    概述 java.text.DateFormat 是日期/时间格式化子类的抽象类,不能直接使用.我们通过这个类的子类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行 ...

  9. 利用eval函数实现简单的计算器

    """ description : use python eval() function implement a simple calculator functions ...

  10. Tutorial 02_熟悉常用的HDFS操作

    Shell命令实现: (1)向HDFS 中上传任意文本文件,如果指定的文件在HDFS 中已经存在,则由用户来指定是追加到原有文件末尾还是覆盖原有的文件: (2) 从HDFS 中下载指定文件,如果本地文 ...