使用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 相关文章推荐
Django集成百度富文本编辑器uEditor攻略
Jul 04 Python
Python中使用Tkinter模块创建GUI程序实例
Jan 14 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
Python的Django框架安装全攻略
Jul 15 Python
http请求 request失败自动重新尝试代码示例
Jan 25 Python
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
Django中自定义admin Xadmin的实现代码
Aug 09 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
如何用Python绘制3D柱形图
Sep 16 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
咖啡与水的关系
2021/03/03 冲泡冲煮
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
php身份证号码检查类实例
2015/06/18 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
JavaScript的词法结构精华篇
2018/10/17 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
python调用cmd复制文件代码分享
2013/12/27 Python
python实现给数组按片赋值的方法
2015/07/28 Python
Python算法应用实战之队列详解
2017/02/04 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
Django REST framework 视图和路由详解
2019/07/19 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
应届毕业生求职自荐书
2014/01/03 职场文书
2014政务公开实施方案
2014/02/19 职场文书
社区食品安全实施方案
2014/03/28 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python
Oracle中DBLink的详细介绍
2022/04/29 Oracle