玩转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. 特点: 收集 ...
随机推荐
- git官网和安装使用教程链接
git官网 https://git-scm.com/download/win git安装教程 https://www.cnblogs.com/wj-1314/p/7993819.html
- Hive SemanticException
hive, sex='boy'); FAILED: SemanticException Line : Invalid path ''/root/data/hdata.txt'': No files m ...
- python---二叉树遍历
重学. # coding = utf-8 # 二叉树遍历 class Node: """节点类""" def __init__(self, ...
- Javascript实现的数组降维——维度不同,怎么谈恋爱(修订版)
数组的元素可能是数组,这样一层层嵌套,可能得到一个嵌套很深的数组,数组降维要做的事就是把嵌套很深的数组展开,一般最后得到一个一维数组,其中的元素都是非数组元素,比如数组[1, [2, 3, [4, 5 ...
- python数据类型——数据转换
数据类型有很多种,比如数值和字符,比如6和a,字符是需要加双引号的,下面的例子运行的结果是不一样的,数值会相加而字符会相连 print(6+6)print("6"+"6& ...
- P1525 关押罪犯 并查集
题目描述 SS城现有两座监狱,一共关押着NN名罪犯,编号分别为1-N1−N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”(一个正整数值) ...
- CodeForces 959E Mahmoud and Ehab and the xor-MST (MST+找规律)
<题目链接> 题目大意: 给定一个数n,代表有一个0~n-1的完全图,该图中所有边的边权为两端点的异或值,求这个图的MST的值. 解题分析: 数据较大,$10^{12}$个点的完全图,然后 ...
- Win10 清理自带APP
如果想一次性把它们全都删掉,请输入: Get-AppxPackage -AllUsers | Remove-AppxPackage 但是如果你先建一个账户,以上应用就会再次全部出现,不想这样的话可以输 ...
- C 小白的 thrift 环境搭建
公司有个通讯 是用的 thrift ,thrift 是个什么都东西,可以类比 webservice 吧,比 webservice 高效些,不管是啥,搞他! 先在 mac 上搞本地开发环境 网上一搜 貌 ...
- python底层原理
有同学问到了一个问题,python中存储变量是通过内存地址来存储,那么python又是如何去判断内存中的地址是什么数据类型的呢.经过查找,找到这篇文章: 原博客地址:http://www.cnblog ...