使用Python制作表情包实现换脸功能


Posted in Python onJuly 19, 2019

使用Python制作表情包实现换脸功能

“表情包”是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓“天可不聊,图不可不斗”,几乎任何对话都会出现表情包的身影,一言不合就斗图,自己也会在聊天中发几个表情包,可是总会造成一些小误会,比如下面的图

使用Python制作表情包实现换脸功能

有好多朋友看到这个表情包之后误以为这也是我用Python做的,其实不然,这个图就是网上普通的表情包,但是今天我要用Python做几个表情包。

今天制作表情包用到的技术还是之前提到的Turtle库,可以从之前的文章除了画佩奇我们还要玩点更高级的,去学习Turtle的常用语法,然后就是PIL库,之前通过这篇文章:Python骚操作|用Python来P图也介绍过PIL的几个用法,今天的案例算是做一个小小的复习。

这是一个捂脸的表情,可以表达内心千万只 * 奔腾而过,使用Turtle来实现,可以将这个图分成以下几个部分:脸,嘴巴,牙齿,两边的眼泪,手指和手腕,完整的代码和语法不过多解释,贴一个画脸的代码。

# 画脸
turtle.speed(5)
turtle.setup(900, 600, 200, 200)
turtle.pensize(5)
turtle.right(90)
turtle.penup()
turtle.fd(100)
turtle.left(90)
turtle.pendown()
turtle.begin_fill()
turtle.pencolor("#B26A0F") # head side color
turtle.circle(150)
turtle.fillcolor("#F9E549") # face color
turtle.end_fill()

使用Python制作表情包实现换脸功能

第二个图是斜眼笑,表达的意思你懂得。

来看第三幅图,这个图是使用PIL库来生成的,其实这两个图是两张图拼起来的。首先呢,我们需要找两张图片,一张做表情包的背景,一张做表情。我们就以萌萌哒的熊猫头作为背景,然后试着在背景图上加入金馆长嘻哈表情。

现在我们要把金馆长的表情叠加在熊猫头的背景图中,需要注意的是要在代码中控制好金馆长的表情叠加位置,不然会遮盖住其他轮廓。

from PIL import Image,ImageDraw,ImageFont
img = Image.open("640.jpg")
jgz = Image.open("641.jpg")
img.paste(jgz,(63,46))

图片的下方是留有一部分空白的,我们可以添加一些文字。

from PIL import Image,ImageDraw,ImageFont
 img = Image.open("640.jpg")
 jgz = Image.open("641.jpg")
 img.paste(jgz,(63,46))
#控制表情的叠加位置
 draw = ImageDraw.Draw(img)
 font = ImageFont.truetype("simyou.TTF",24)
 draw.text((16,200),"Ahab杂货铺!", fill = (0,0,0), font = font)
 #控制文字添加位置
 img.show()
 img.save("生成的表情包.jpg")

使用Python制作表情包实现换脸功能

总结

以上所述是小编给大家介绍的使用Python制作表情包实现换脸功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python中关于字符串对象的一些基础知识
Apr 08 Python
python分析网页上所有超链接的方法
May 08 Python
Python实现的视频播放器功能完整示例
Feb 01 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
基于Python解密仿射密码
Oct 21 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
django下创建多个app并设置urls方法
Aug 02 Python
python 爬取小说并下载的示例
Dec 07 Python
python中常用的数据结构介绍
Jan 12 Python
python 三种方法提取pdf中的图片
Feb 07 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 Python
解决Django一个表单对应多个按钮的问题
Jul 18 #Python
Django工程的分层结构详解
Jul 18 #Python
django mysql数据库及图片上传接口详解
Jul 18 #Python
解决django中ModelForm多表单组合的问题
Jul 18 #Python
浅谈Django中view对数据库的调用方法
Jul 18 #Python
django-rest-framework解析请求参数过程详解
Jul 18 #Python
python Django中models进行模糊查询的示例
Jul 18 #Python
You might like
全国中波电台频率表
2020/03/11 无线电
smtp邮件发送一例
2006/10/09 PHP
php中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
PHP常用的三种设计模式
2017/02/17 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
sqlalchemy对象转dict的示例
2014/04/22 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
单位实习证明怎么写
2014/01/17 职场文书
矿泉水广告词
2014/03/20 职场文书
家长通知书教师评语
2014/04/17 职场文书
一年级评语大全
2014/04/23 职场文书
社区助残日活动总结
2014/08/29 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
运动会通讯稿200字
2015/07/20 职场文书
大队委员竞选稿
2015/11/20 职场文书