一秒钟带你走进P图世界-----(python)PIL库的使用
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库的使用的更多相关文章
- 小丁带你走进git的世界三-撤销修改
一.撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...
- 小丁带你走进git的世界二-工作区暂存区分支
小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git init git clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 ...
- 小丁带你走进git的世界三-撤销修改(转)
一.撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...
- 带你走进rsync的世界
导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...
- 人人都可以写的一个Python可视化小程序,带你走进编程的世界
当年的PHP号称是最好的编程语言,今天的Python就是最简单的编程语言,一个小小的程序,寥寥几行代码,带你体验一下编程的乐趣. 最简单的编程语言 今天要介绍的小工具是Python环境安装好之后,自带 ...
- 小丁带你走进git的世界四-重写历史记录
一.git对象文件创建 开篇先补充一个知识点,就是比如我建立一个文件之后,使用git add就会生成一个git对象,但是git对象生成后可以在.git/objects里面对应,首先我们来初始化一个仓库 ...
- Java第一天,带你走进编程的世界,我的第一个程序
要想彻底了解Java是什么,我就得首先了解编程语言的发展史.编程语言最初的形势是"0101......"数据编程,也就是机器语言.机器语言可以说是一种几乎没有人能够看懂的编程语言, ...
- 瞄一眼,带你走进SparkSQL的世界
本文由 网易云发布. 作者:范欣欣(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验 ...
- 具体解释C++引用——带你走进引用的世界
一.介绍引用 首先说引用是什么,大家能够记住,引用就是一个别名,比方小王有个绰号叫小狗.他的妈妈喊小狗回家吃饭.那就是在喊小王回家吃饭. 接下来我们用两行代码来声明一个引用(就拿小王和小狗来说吧 ...
随机推荐
- C#之UDP通信
简介 C#中的udp通信关键类:Udpclient,它位于命名空间System.Net.Sockets中,发送接收都是UdpClient类, 命名空间 using System.Net.Sockets ...
- 开启远程桌面连接windows的方法以及遇到的问题
确认电脑的远程服务是否已经开启 开始--运行--输入“services.msc ”,打开服务,找到三个remote desktop开头的服务 Remote Desktop Configuration. ...
- Java基础系列--01_基础类型
J2SE.J2ME.J2EE分别指什么? J2SE 基础版,桌面应用. J2ME 微型版,手机开发.(android,ios) J2EE 企业版,所有浏览器访问的应用程序. 注意:JDK5以后改名 J ...
- 2018-2019-2 20175217 实验三《敏捷开发与XP实践》实验报告
一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:吴一凡 学号:20175217 指导教师:娄嘉鹏 实验日期:2019年4月25日 实验时间:--- 实验序号:实验三 实验名称:敏捷开 ...
- FineUIMvc随笔(1)动态创建表格列
声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. <FineUIMvc随笔>目录 FineUIMvc随笔(1)动态创建表格列 FineUIMvc随笔(2)怎样在控件中 ...
- mysql 新建用户并赋予远程访问权限
不多说直接上代码 [root@demo /]# mysql -u root -p #登录服务器数据库 Enter password:123xxx #1.创建一个新用户 testuser 密码为 tes ...
- Web项目中的 /
如果 / 出现在路径的前面: web.xml中:http://loclalhost:8080/项目名称/ 在项目的根路径下面 jsp中: http://localhost:8080/ ...
- 纯手工搭建VS 2017(社区 免费版)离线安装包
不知不觉中,史上功能最强大的Visual Studio 2017版本发于美国时间2017年3月8日正式在发布了,但是由于版本更新速度加快和与第三方工具包集成的原因,微软研发团队没有为这个版本提供离线下 ...
- Net包管理NuGet(3)搭建私服及引用私服的包
1,打开vs创建项目(ASP.NET WEB空项目)假设命名为MyNuGet 空项目解决方案如图 2,右键引用>管理NuGet程序包>切到浏览搜索NuGet.Server然后安装(3.1. ...
- java订单金额分级计算
package ord; import java.util.ArrayList; public class order { public String orderid; public user use ...