PIL库的总结及运用
PIL库的总结:(以代码形式)
#date: 2018/11/15
from PIL import Image,ImageFilter,ImageDraw,ImageFont #####除了缩略图的方法,其他方法都是返回值,需要变量来接收
img = Image.open('2.jpg')
#img.show() #展示图片
# print(img.size[0],img.size[1]) #在图片中添加文字
# draw = ImageDraw.Draw(img)
# ttFont = ImageFont.truetype ("C:/Users/admin/Desktop/文件/微信爬虫/simhei.ttf", 60)
# draw.text((img.size[0]/2,img.size[1]/2),text='你好',font=ttFont,fill=(255,0,0))
# img.show()
# new_image = img.resize((1080,800),resample = 4) #改变图片大小, 参数含义,默认NEAREST最近邻(分割常用),分类常用BILINEAR双线性,BICUBIC立方
# new_image.show() #展示改变后的图片
# im = Image.new('RGB',(128,128),color=700) #新建一张大小为128*128的图片,color为颜色参数(默认为黑色)
# im.show()
# img_1 = img.convert('L') #将图片改变为灰色,参数'L','F','I'都是灰色,一般用L
# img_2 = img.convert('1') #参数 1 也是灰度,会加模糊网格滤镜
# img_2.show()
# img_1.show()
# img.thumbnail((150,130)) #缩略图,与resize功能类似 重要!@resize需要重新定义新图,thumbnail不用
# img.show()
# img.thumbnail((640,400)) # rotate 逆时针改变图方向
# im = img.rotate(315)
# im.show()
#img_new = img.filter(ImageFilter.BLUR) #使图片变模糊
#img_new = img.filter(ImageFilter.DETAIL) #使图片细节更突出
#img_new = img.filter(ImageFilter.CONTOUR) #使图片只有轮廓
#img_new = img.filter(ImageFilter.EDGE_ENHANCE) #使图像整体颜色更深 有点油画的感觉
#img_new = img.filter(ImageFilter.EDGE_ENHANCE_MORE) #上一个加强版
#img_new = img.filter(ImageFilter.EMBOSS) #使图片石雕化,就是石膏一样的图片
#img_new = img.filter(ImageFilter.FIND_EDGES) #使图片黑色化,只剩轮廓
#img_new = img.filter(ImageFilter.SMOOTH_MORE) #使图片平滑
#img_new.show()
缩略图代码:
from PIL import Image
img = Image.open('D:\\莲花.jpg')
img = img.resize((100, 128), Image.ANTIALIAS)
img.save('莲花_small.jpg')
此代码将缩略图存放在与程序同一级目录
原图:

缩略图:

图片颜色处理:
from PIL import Image
im= Image.open('D:\\莲花.jpg')
r,g,b=im.split()
om = Image.merge("RGB",(g,b,r))#修改颜色
om.save('莲花_color.jpg')
处理后:

轮廓,浮雕,锐化等
处理代码:
from PIL import Image
from PIL import ImageFilter
im= Image.open('D:\\莲花.jpg')
om = im.filter(ImageFilter.CONTOUR)#轮廓处理
#om = im.filter(ImageFilter.EMBOSS)#浮雕处理
#om = im.filter(ImageFilter.SHARPEN)#锐化处理
om.save('莲花_contour.jpg')
轮廓处理后:

浮雕处理后:

锐度处理后:

提取GIF图的每一帧代码:
from PIL import Image
im= Image.open('D:\\123.gif')
try:
im.save('123_{:02d}.png'.format(im.tell()))
while True:
im.seek(im.tell()+1)
im.save('123_{:02d}.png'.format(im.tell()))
except:
print("over")
原图:

每一帧:









PIL库的总结及运用的更多相关文章
- Python 之 使用 PIL 库做图像处理
http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html Python 之 使用 PIL 库做图像处理 1. 简介. 图像 ...
- 关于PIL库的一些概念
关于PIL库的一些概念 pil能处理的图片类型pil可以处理光栅图片(像素数据组成的的块). 通道一个图片可以包含一到多个数据通道,如果这些通道具有相同的维数和深度,Pil允许将这些通道进行叠加 模式 ...
- PIL库 (Pillow)
PIL基础 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important ...
- 关于python下安装PIL库遇到的问题及解决办法
关于python下安装PIL库遇到的问题及解决办法 关于python下安装PIL库遇到的问题及解决办法 :在下面这个网址下载pipllow(a replacement for PIL) www.lfd ...
- 一秒钟带你走进P图世界-----(python)PIL库的使用
python-----PIL库的使用 一.什么是PIL库 1.PIL(Python Image Library)库是python语言的第三方库,具有强大的图像处理能力,不仅包含了丰富的像素.色彩操作功 ...
- PIL库自我学习总结及应用(美白,磨皮,搞笑图片处理)
Hello!今天我们来学习一下这个神奇的图片处理的第三方函数库——PIL库 (本blog部分图片及代码来自网络) 这是一个支持图像存储.显示和处理的函数库,它能够处理几乎所有图像格式,可以完成对图像的 ...
- python之PIL库(Image模块)
PIL(Python Image Library)是python的第三方图像处理库,PIL的功能非常的强大,几乎被认定是Python的官方图像处理库了. 由于PIL仅支持到python2.7于是一群志 ...
- 纯代码系列:Python实现验证码图片(PIL库经典用法用法,爬虫12306思路)
现在的网页中,为了防止机器人提交表单,图片验证码是很常见的应对手段之一.这里就不详细介绍了,相信大家都遇到过. 现在就给出用Python的PIL库实现验证码图片的代码.代码中有详细注释. #!/usr ...
- 玩转PIL库
1.安装pillow库: 在cmd下,输入简单的命令: pip install pillow 即可安装pillow库. 2.PIL库的简介: 1. PIL库主要有2个方面的功能: (1) 图像归档: ...
- 用PIL库进行图像处理
一.如果系统里没有安装PIL库的,请先到命令提示符输入“pip install pillow”进行安装 二.之后就可以参考以下的代码 from PIL import Image from pylab ...
随机推荐
- Python读取xlsx文件
Python读取xlsx文件 脚本如下: from openpyxl import load_workbook workbook = load_workbook(u'/tmp/test.xlsx') ...
- Html骨架、基本语法
万丈高楼平地起,勿贪快,脚踏实地,才能仰望星空 一.HTML骨架 标准骨架 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...
- pandas groupby生成新的dataframe
mark地址:https://blog.csdn.net/weixin_41784098/article/details/79486259
- JAVA面向对象之继承
继承: 子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法 class 子类 extends 父类 { } 继承的特性: 子类拥有父类非private的属性,方法. 子类可以拥有自己 ...
- Shell test 命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于 ...
- Eclipse如何新建TOMCAT并配置Server Locations和Publishing属性
Eclipse如何新建TOMCAT并配置Server Locations和Publishing属性 2018年05月08日 23:10:33 ACGkaka_ 阅读数:1269 一.建立TOMCA ...
- Maven中遇到Unsupported major.minor version 51.0错误
将错误复制到某度上,查询出结果显示JDK版本不匹配. 我按着步骤执行结束后还是有以下错误: 配置: Tomcat: 最终解决: 我在Initialize的时候使用的版本是JDK1.8的,导致的这个错误 ...
- Python04(基础语法)
Trainning-day03回顾1.输出重定向 > 将输出到终端的内容输出到指定文件 命令 > 文件 注意: 1.如果文件存在,覆盖原文件 2.如果文件不存在,直接创建新文件2.输出追加 ...
- spring cloud配置高可用eureka时遇到的一些坑
考虑到注册中心的高可用,今天搭建一下eureka集群,并在中途遇到一些小的坑,前前后后花了两个小时来排除,在这里记录一下,以供后面查看. 首先,贴上要达到的效果: 一.起两个eureka模拟集群,在D ...
- 第一次玩博客,今天被安利了一个很方便JDBC的基于Spring框架的一个叫SimpleInsert的类,现在就来简单介绍一下
首先先对这段代码的简单介绍,我之前在需要操作JDBC的时候总是会因为经常要重新写SQL语句感到很麻烦.所以就能拿则拿不能拿的就简单地封装了一下. 首先是Insert.Spring框架的JDBC包里面的 ...