玩转PIL >>> 玩转photo
前: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的更多相关文章
- 玩转PIL库
1.安装pillow库: 在cmd下,输入简单的命令: pip install pillow 即可安装pillow库. 2.PIL库的简介: 1. PIL库主要有2个方面的功能: (1) 图像归档: ...
- 草根玩微博 中产玩微信 土豪玩什么?支持Yo的iWatch?
<中国新媒体发展报告(2014)>发布了一些新媒体的使用情况数据,25.6%无收入群体人数在玩微博,32.0%的微信用户属于月收入3000~5000元的中产阶层,那么土豪会玩什么新媒体呢? ...
- requests 模块入门玩法和高级玩法
1.安装 pip install requests 2. http://docs.python-requests.org/zh_CN/latest/user/quickstart.html http: ...
- 人生苦短,我用python——当我在玩python的时候我玩些什么
文章背景 家里的第一台电脑是在2006年夏天买的,10年上大学之后基本上就没人用,过没两年就当二手卖给一个熟人. 弟弟小我10岁,今年刚上初一.他在我毕业前半年就整天用妈妈的手机发短信给我,问我什么时 ...
- 漫谈可视化Prefuse(四)---被玩坏的Prefuse API
这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有 ...
- <<开源硬件创客 15个酷应用玩转树莓派>>
本书共分18章,前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作,来让读者了解树莓派的前世今生,掌握树莓派基本的使用方法.第4~18章主要介绍15个以树莓派为载体的酷炫应用,大家可以按 ...
- 《玩转Bootstrap(基础)》笔记
基本的HTML模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 玩转车联网1---初识OBD和行车助手
题目取得有点大,不免有博取眼球之嫌.车联网作为物联网的一个分支,预计在2015年市场会达到1500亿,特斯拉股票balabala,谷歌无人驾驶, 当然,我们是技术类博客,得找个能够快速上手,快速落地的 ...
- 玩转ELK之三件套安装配置详解
ELK是啥子??? ELK 是elastic公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch.Logstash 和 Kibana. 特点: 收集 ...
随机推荐
- 使用font awesome制作网站常用社交工具联系方式图标
在公司项目或者个人建站时经常会有这么一个需求,就是在网站的底部以图标的形式加入自己的某些常用社交联系方式,比如QQ.微信.微博.Twitter等等,如果采用传统切图的方式去制作这些图标会有两个缺点: ...
- redis-hash
Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value) # name对应的hash中设置一个键值对(不存在,则创建:否则,修改) # 参数: # n ...
- Jmeter性能测试之关联(三)
介绍下性能测试很重要的一个知识点---关联, 很多时候程序会在上一个请求随机生成一串字符串, 作为下一个请求的入参验证点, 其实就是动态的入参, 这个时候就需要用到关联, 常用的关联技术就是正则表达式 ...
- [转] 微信小程序页面间通信的5种方式
微信小程序页面间通的5种方式 PageModel(页面模型)对小程序而言是很重要的一个概念,从app.json中也可以看到,小程序就是由一个个页面组成的. 如上图,这是一个常见结构的小程序:首页是一个 ...
- 使用navicat连接 mysql时出现client does not support auth...upgrading Mysql Client
问题报错:使用navicat时发现出现如下情况: 原因:发现是由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_native_password,而在my ...
- Maven安装配置(Windows10)
想要安装 Apache Maven 在Windows 系统上, 需要下载 Maven 的 zip 文件,并将其解压到你想安装的目录,并配置 Windows 环境变量. 所需工具 : JDK 1.8 M ...
- Linux中的 openssl-opensslv
问题 在安装内核模块系统突然出现以下错误 寻找问题 一开始我以为是openssl没有安装,故先进行openssl的检查: 输入yum info openssl 从图中可知,openssl是已经安装过了 ...
- 基于jQuery实现点击列表加载更多效果
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> < ...
- 20181115 python-第一章学习小结part1
知识点回顾: 什么是编程: 写代码,让计算机执行任务 编程语言的分类与特性: 1.机器语言,即二进制语言,最帖近于机器底层,可以由计算机直接执行,故速度最快,但不适合开发. 2.汇编语言,直接将二进制 ...
- 转 Using Async for File Access
原文:https://msdn.microsoft.com/en-us/library/jj155757.aspx using System; using System.Collections.Gen ...