使用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 相关文章推荐
压缩包密码破解示例分享(类似典破解)
Jan 17 Python
python自动zip压缩目录的方法
Jun 28 Python
python爬取NUS-WIDE数据库图片
Oct 05 Python
python模块之re正则表达式详解
Feb 03 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
python pandas 时间日期的处理实现
Jul 30 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
python-视频分帧&多帧合成视频实例
Dec 10 Python
jupyter notebook的安装与使用详解
May 18 Python
python 如何快速复制序列
Sep 07 Python
python开发实时可视化仪表盘的示例
May 07 Python
python异常中else的实例用法
Jun 15 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
多重?l件?合查?(二)
2006/10/09 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python循环实现n的全排列功能
2019/09/16 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
外贸采购员岗位职责
2014/03/08 职场文书
促销活动总结范文
2014/04/30 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
人事专员岗位说明书
2014/07/29 职场文书
离婚上诉状范文
2015/05/23 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技