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库的总结及运用的更多相关文章

  1. Python 之 使用 PIL 库做图像处理

    http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html Python 之 使用 PIL 库做图像处理 1. 简介. 图像 ...

  2. 关于PIL库的一些概念

    关于PIL库的一些概念 pil能处理的图片类型pil可以处理光栅图片(像素数据组成的的块). 通道一个图片可以包含一到多个数据通道,如果这些通道具有相同的维数和深度,Pil允许将这些通道进行叠加 模式 ...

  3. PIL库 (Pillow)

    PIL基础 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important ...

  4. 关于python下安装PIL库遇到的问题及解决办法

    关于python下安装PIL库遇到的问题及解决办法 关于python下安装PIL库遇到的问题及解决办法 :在下面这个网址下载pipllow(a replacement for PIL) www.lfd ...

  5. 一秒钟带你走进P图世界-----(python)PIL库的使用

    python-----PIL库的使用 一.什么是PIL库 1.PIL(Python Image Library)库是python语言的第三方库,具有强大的图像处理能力,不仅包含了丰富的像素.色彩操作功 ...

  6. PIL库自我学习总结及应用(美白,磨皮,搞笑图片处理)

    Hello!今天我们来学习一下这个神奇的图片处理的第三方函数库——PIL库 (本blog部分图片及代码来自网络) 这是一个支持图像存储.显示和处理的函数库,它能够处理几乎所有图像格式,可以完成对图像的 ...

  7. python之PIL库(Image模块)

    PIL(Python Image Library)是python的第三方图像处理库,PIL的功能非常的强大,几乎被认定是Python的官方图像处理库了. 由于PIL仅支持到python2.7于是一群志 ...

  8. 纯代码系列:Python实现验证码图片(PIL库经典用法用法,爬虫12306思路)

    现在的网页中,为了防止机器人提交表单,图片验证码是很常见的应对手段之一.这里就不详细介绍了,相信大家都遇到过. 现在就给出用Python的PIL库实现验证码图片的代码.代码中有详细注释. #!/usr ...

  9. 玩转PIL库

    1.安装pillow库: 在cmd下,输入简单的命令: pip install pillow  即可安装pillow库. 2.PIL库的简介: 1. PIL库主要有2个方面的功能: (1) 图像归档: ...

  10. 用PIL库进行图像处理

    一.如果系统里没有安装PIL库的,请先到命令提示符输入“pip install pillow”进行安装 二.之后就可以参考以下的代码 from PIL import Image from pylab ...

随机推荐

  1. 操作日志的设计小结by大熊

    一.首先由同事的操作日志说起 同事做了一个这样的操作日志,他定义系统所有发的json加入这两个字段,module和msg,然后在service里面用注解@Log拦截,即可记录对应的操作日志. { mo ...

  2. VM虚拟机拍摄快照时出错或者克隆失败解决办法

    在换了固态硬盘后,下载好VM,装虚拟机,结果克隆虚拟机和拍摄快照时出问题了. 拍摄快照时出错或者隆失败出现参数错误如图: 所提供的参数中有一个无效参数 解决办法 出现这个问题一般是在机械硬盘的电脑上面 ...

  3. fineui排序问题

    后台: private void BindGrid()    { // 1.获取当前分页数据        DataSet dataSet = GetPagedDataTable();        ...

  4. jmeter遇到问题及解决办法

    1.要得到前一个sampler的响应信息,是加beanshell sampler 还是加beanshell postprocessor?   答:在http取样器后添加beanshell sample ...

  5. Swing学习1——总体概述

    以下来自于JDK1.6 一.Swing学习我划分为两个方面: 一方面Swing的界面设计部分,包括相关组件类的继承关系,组件的功能用途,布局管理: 1.首先继承关系上自上而下为 java.lang.O ...

  6. GIT和SVN版本控制

    Git 与SVN SVN 是集中式版本控制系统: 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了, ...

  7. 基于ZYNQ的双核启动与通信问题解决

    1    处理器间的通信 为AMP 设计创建应用之前,您需要考虑应用如何进行通信(如有需要).最简单的方法是使用片上存储器.Zynq SoC 配备256KB 的片上SRAM,可从以下四个源地址进行访问 ...

  8. [转载] java多线程总结(三)

    转载自: http://www.cnblogs.com/lwbqqyumidi/p/3821389.html 作者:Windstep 本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题 ...

  9. Visual Studio项目属性的生产平台,如何改为X64?

    如图,我把平台改为x64,可是按打叉,退出后,再进入项目属性,还是 x86,没变. 解决方法: 选择 Setup1项目, 选择"属性" ->选择 "配置管理器&qu ...

  10. 低成本制作基于OpenWRT的渗透工具

    不知道你听说过Hak5的产品没有,它们可是黑客以及渗透测试人员的最爱.其中,有很多的PoC黑客工具都曾在热门美剧<黑客军团>中出现过.Hak5的 PACKETSQUIRREL 上架已经有好 ...