使用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实现监控windows服务并自动启动服务示例
Apr 17 Python
python读取excel表格生成erlang数据
Aug 26 Python
AI人工智能 Python实现人机对话
Nov 13 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
快速了解Python开发中的cookie及简单代码示例
Jan 17 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
PyCharm 专业版安装图文教程
Feb 20 Python
在pycharm中关掉ipython console/PyDev操作
Jun 09 Python
Python私有属性私有方法应用实例解析
Sep 15 Python
基于Python实现nc批量转tif格式
Aug 14 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
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
vue中使用cropperjs的方法
2018/03/01 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
Python输出带颜色的字符串实例
2017/10/10 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
Python 加密与解密小结
2018/12/06 Python
使用python实现kNN分类算法
2019/10/16 Python
Pytorch的mean和std调查实例
2020/01/02 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
会计专业毕业生求职信分享
2014/01/03 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
卫校毕业生个人自我鉴定
2014/04/28 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python