前:1.使用图片放在文件最后,需要的请自行下载

  2.运行环境win10家庭版,已经安装好pillow库

一.学习总结

  PIL库支持图像的储存,显示和处理,几乎能处理所有的图片格式,可以完成对图像的缩放,剪辑,叠加等等操作

大致分类:Image,ImageFilter, ImageEnhance

二.生成缩略图,改变颜色,获取轮廓,浮雕等操作

  1.生成缩略图  使用函数 Image.thumbnail(size)

    代码如下:

from PIL import Image
im = Image.open("鸟巢.jpg")
im.thumbnail((128,128))
im.save("鸟巢缩略图.jpg")

  2.改变颜色  使用函数  Image.split() 提取RGB图像的每个颜色通道,返回图像副本 以及  Image.merge(mode,bands) 合并通道,其中mode表示色彩,bands表示新的色彩通道

    代码如下:

from PIL import Image
im = Image.open("鸟巢.jpg")
r,g,b = im.split()
om = Image.merge("RGB",(b,g,r))
om.save("鸟巢改变颜色.jpg")

    效果:

  3.改变轮廓  使用函数  ImageFilter.CONTOUR  使用方式:Image.filter(ImageFilter.fuction)

    代码如下:

from PIL import Image
from PIL import ImageFilter
im = Image.open("鸟巢.jpg")
om = im.filter(ImageFilter.CONTOUR)
om.save("鸟巢浮雕.jpg")

    效果:

  4.浮雕  使用函数 ImageFilter.EMBOSS

    代码如下:

from PIL import Image
from PIL import ImageFilter
im = Image.open("鸟巢.jpg")
om = im.filter(ImageFilter.EMBOSS)
om.save("鸟巢浮雕.jpg")

  效果:

  4.提取GIF每一帧  使用函数  Image.seek(frame) 跳转并返回图像中的指定帧 以及  Image.tell() 返回当前帧的序号

    代码如下:

from PIL import Image
im = Image.open('1.gif')
try:
im.save('picframe{:02d}.png'.format(im.tell()))
while True:
im.seek(im.tell()+1)
im.save('picframe{:02d}.png'.format(im.tell()))
except:
print("处理结束")

   效果(图片太多,在此不一一展示)

三.增强图片的锐度,美白,磨皮

  1.锐度  使用函数ImageEnhance.Sharpness(im)

    代码如下:

from PIL import Image
from PIL import ImageEnhance
im = Image.open('鸟巢.jpg')
om = ImageEnhance.Sharpness(im)
om.enhance(20).save('鸟巢锐度.jpg')

    效果如下

  2.美白  使用函数

  3.磨皮  使用函数

  4.中文字符画  使用函数

四.几张图片生成一个gif图  使用函数

  代码:

import imageio

def create_gif(image_list, gif_name):

    frames = []
for image_name in image_list:
frames.append(imageio.imread(image_name))
# Save them as frames into a gif
imageio.mimsave(gif_name, frames, 'GIF', duration = 0.1) return def main():
image_list = ['001.jpg','002.jpg','003.jpg','004.jpg','005.jpg']
gif_name = 'created000_gif.gif'
create_gif(image_list, gif_name) if __name__ == "__main__":
main()

    效果:

玩转PIL >>> 玩转photo的更多相关文章

  1. 玩转PIL库

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

  2. 草根玩微博 中产玩微信 土豪玩什么?支持Yo的iWatch?

    <中国新媒体发展报告(2014)>发布了一些新媒体的使用情况数据,25.6%无收入群体人数在玩微博,32.0%的微信用户属于月收入3000~5000元的中产阶层,那么土豪会玩什么新媒体呢? ...

  3. requests 模块入门玩法和高级玩法

    1.安装 pip install requests 2. http://docs.python-requests.org/zh_CN/latest/user/quickstart.html http: ...

  4. 人生苦短,我用python——当我在玩python的时候我玩些什么

    文章背景 家里的第一台电脑是在2006年夏天买的,10年上大学之后基本上就没人用,过没两年就当二手卖给一个熟人. 弟弟小我10岁,今年刚上初一.他在我毕业前半年就整天用妈妈的手机发短信给我,问我什么时 ...

  5. 漫谈可视化Prefuse(四)---被玩坏的Prefuse API

    这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有 ...

  6. <<开源硬件创客 15个酷应用玩转树莓派>>

    本书共分18章,前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作,来让读者了解树莓派的前世今生,掌握树莓派基本的使用方法.第4~18章主要介绍15个以树莓派为载体的酷炫应用,大家可以按 ...

  7. 《玩转Bootstrap(基础)》笔记

    基本的HTML模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. 玩转车联网1---初识OBD和行车助手

    题目取得有点大,不免有博取眼球之嫌.车联网作为物联网的一个分支,预计在2015年市场会达到1500亿,特斯拉股票balabala,谷歌无人驾驶, 当然,我们是技术类博客,得找个能够快速上手,快速落地的 ...

  9. 玩转ELK之三件套安装配置详解

    ELK是啥子??? ELK 是elastic公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch.Logstash 和 Kibana. 特点: 收集 ...

随机推荐

  1. 使用font awesome制作网站常用社交工具联系方式图标

    在公司项目或者个人建站时经常会有这么一个需求,就是在网站的底部以图标的形式加入自己的某些常用社交联系方式,比如QQ.微信.微博.Twitter等等,如果采用传统切图的方式去制作这些图标会有两个缺点: ...

  2. redis-hash

    Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value) # name对应的hash中设置一个键值对(不存在,则创建:否则,修改) # 参数: # n ...

  3. Jmeter性能测试之关联(三)

    介绍下性能测试很重要的一个知识点---关联, 很多时候程序会在上一个请求随机生成一串字符串, 作为下一个请求的入参验证点, 其实就是动态的入参, 这个时候就需要用到关联, 常用的关联技术就是正则表达式 ...

  4. [转] 微信小程序页面间通信的5种方式

    微信小程序页面间通的5种方式 PageModel(页面模型)对小程序而言是很重要的一个概念,从app.json中也可以看到,小程序就是由一个个页面组成的. 如上图,这是一个常见结构的小程序:首页是一个 ...

  5. 使用navicat连接 mysql时出现client does not support auth...upgrading Mysql Client

    问题报错:使用navicat时发现出现如下情况: 原因:发现是由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_native_password,而在my ...

  6. Maven安装配置(Windows10)

    想要安装 Apache Maven 在Windows 系统上, 需要下载 Maven 的 zip 文件,并将其解压到你想安装的目录,并配置 Windows 环境变量. 所需工具 : JDK 1.8 M ...

  7. Linux中的 openssl-opensslv

    问题 在安装内核模块系统突然出现以下错误 寻找问题 一开始我以为是openssl没有安装,故先进行openssl的检查: 输入yum info openssl 从图中可知,openssl是已经安装过了 ...

  8. 基于jQuery实现点击列表加载更多效果

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head>   < ...

  9. 20181115 python-第一章学习小结part1

    知识点回顾: 什么是编程: 写代码,让计算机执行任务 编程语言的分类与特性: 1.机器语言,即二进制语言,最帖近于机器底层,可以由计算机直接执行,故速度最快,但不适合开发. 2.汇编语言,直接将二进制 ...

  10. 转 Using Async for File Access

    原文:https://msdn.microsoft.com/en-us/library/jj155757.aspx using System; using System.Collections.Gen ...