520到了! 我用Python拜托周董为我和女友送上祝福!
大家好,我是菜鸟哥!这是我第482篇原创!
今天是5月20号,520意为”我爱你“的谐音,5月20日也被认为是网络情人节。在这一天,情侣们都要为彼此送上礼物,来度过美好的一天。作为程序员的我们,自然有着属于自己的节日礼物。
今天,菜鸟哥就通过80行代码,来让女友喜欢的歌星送上对于情侣们的祝福,一起来看看吧。
实现目的
首先,我们通过结果的展示来看一下实现的效果:
从上图可以看到,左侧给出的是情侣合照,而右侧则是周董的帅气照片。在人物照的周围,布满了漂亮的词云装饰图。
仔细观察词云图可以发现,词云的内容是周杰伦的歌曲《告白气球》。大家可以通过程序来制作一款520纪念相册,来用不同的歌曲词云图来装饰和伴侣之间的图片,亦或是情侣们喜欢的歌星的图片。
在520这一天,亲手送给对方。非常具有纪念意义。
程序实现
为了更好的帮助大家对程序有更加详尽的了解,我们通过程序的讲解来进一步深度理解。程序的实现可以分为以下的几个步骤,这几个步骤之间是环环相扣。
图片背景图的提取
词云图的制作
词云图和原图的融合
图片背景图的提取
对于背景图片的提取,也就是将人像分割出来,其余的部分作为背景图,用来后续及逆行词云图的制作,其程序如下所示:
对于背景图像的提取,可以利用百度AI的接口来进行实现,程序首先以二进制的形式读取要进行人像分割的图片,然后利用百度AI的接口进行人像分割,返回”labelmap“,也就是人像分割的结果。
对于分割的结果,需要通过numpy和opencv进行二次的处理后,才能保存到本地的self.forground_path文件中。其分割出来的效果如下图所示。
分割的结果中,人像呈现黑色,而背景图则是灰色。
词云图的制作
得到了背景图之后,接下来就可以利用stylecloud库来进行词云图的制作。程序如下图所示:
程序首先读取歌词信息,然后利用jieba库进行分词处理,通过设置stop_words来去除分词结果中的无用词语。最后通过stylecloud库来生成词云图。
可以看到gen_stylecloud函数中的mask_path传入的正是我们上面生成的背景图。最后我们将生成的词云图在保存到self.forground_path文件中。
其词云图的结果如下图所示:
可以看到,词云图中以人像的背景图作为mask,生成了词云图,接下来就是将我们的词云图与原始的输入图像进行融合,得到最终的结果图。
词云图和原图的融合
得到词云的结果后,接下来就是将词云和原图进行结合,得到最终的结果,程序如下图所示:
程序通过opencv库,将词云图进行二值化处理,提取处词云图中的词云数据,然后通过”与操作“,分别保留了原图中除去词云之外的图像信息,命名为img1_bg,保留词云图中的词云数据,命名为img2_fg。最后将img1_bg和img2_fg相加,即可得到最终的结果图:
总结:
以上就是小编为大家带来的520分享礼物,大家可以按照上述的程序,制作属于自己的520礼物。当然了,对比这样的礼物,能够给伴侣来一场购物大狂欢是更加实际的!
关于520,大家有什么想说的,欢迎在留言区吱一声~,记得给个三连哦!
如何获取源码:
可以在本公众号「菜鸟学Python」后台输入:小助手,找他获取,暗号:520
推荐阅读:入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片
520到了! 我用Python拜托周董为我和女友送上祝福!相关推荐
- Python实现词云生日祝福图片,快拿去给心爱的人送上祝福
前言 程序员也是懂浪漫的,比如说很常见的一个生成玫瑰花的小项目,就可以哄自己喜欢的人开心好久,那么如果能够在她生日的时候,送上一个有词云组成的生日祝福,对方肯定会更加的开心,程序员也可以稳稳地拿捏住自 ...
- 今天元宵节啦,给大家用Python送上祝福
目录 第一步 获取 总结代码 元宵节的来历 写在最后 今天是正月十五,首先祝大家元宵节快乐! 这是通过 python 编程生成的.怎么样,要不要来试下呢? 涉及的原理并不复杂,接下来我们一步步来说明. ...
- 用python庆祝生日_吃重庆小面 庆祖国华诞丨我们用重庆特色,为祖国母亲送上祝福...
为庆祝中华人民共和国成立71周年,南岸区教育系统组织辖区各校开展"吃重庆小面 庆祖国华诞"主题活动,下面跟随南南一起去看看吧! 珊瑚幼儿园 山河壮丽,岁月峥嵘:江山不老,祖国常青! ...
- Python基于周立功盒子的二次开发的封装和调用
Python基于周立功盒子的二次开发的封装和调用 一.介绍 前面我们介绍如何拿到官网给的例程并使用起来,但在使用的过程中,我们发现官网给的例子非常的冗长,可读性不好,于是我进行分解和封装,使得 ...
- python第二周day3
python第二周day3(9.24) 1.day7字典作业更改版 # 定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名.年龄.成绩(单科).电话.性别(男.女.不明) ) stude ...
- python第二周day2
python第二周day2(9.23) 1.day6列表作业更改版 import random # 随机操作 # random.randint(0, 100) # **1.创建一个列表,列表中有10个 ...
- python第二周day5
python第二周day5(9.27) 1.day9字符串作业更改版 # *1.1输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7-位上的字符) # 例如: 输入**'abcd1234 ' ...
- Python 实现 周志华 《机器学习》 BP算法
习题5.5: 试编程实现标准BP算法和累积BP算法,在西瓜数据集3.0上分别用这两个算法训练一个单隐层网络,并进行比较 算法的主要思想来自周志华<机器学习>上讲BP算法的部分,实现了书上介 ...
- Python 实现 周志华 《机器学习》 BP算法(高级版)
习题5.5: 试编程实现标准BP算法和累积BP算法,在西瓜数据集3.0上分别用这两个算法训练一个单隐层网络,并进行比较 算法的主要思想来自周志华<机器学习>上讲BP算法的部分,实现了书上介 ...
最新文章
- 引导直觉解决数学猜想难题,DeepMind登上《Nature》封面
- 动态追踪技术思想及应用
- javascript里你绝对用的上的字符分割函数--原创
- ReactNative-触摸事件
- 自定义注解--Annotation
- 登陆获取cookie
- jQuery具体实例介绍什么时候用ajax,ajax应该在什么地方使用
- 原生JS封装拖动验证滑块方法
- linux bsd格式,Linux系统日志管理_Linux/BSD系统
- 房屋托管平台“朴邻”签约法大大,电子合同提升客户签约体验
- [ - OpenGLES3.0 - ] 第一集 主线 - 打开新世界的大门
- java校园二手书交易管理系统springboot+Vue
- smartUpload上传图片的用法
- 小白学习,歌词解析(全)
- 【Ubuntu】安装 ibus 中文拼音输入法
- 人力资源管理的现状及发展趋势
- 从零开始在云服务器上搭建个人博客
- MySQL----数据库概述
- 【树莓派】树莓派TXD、RXD的配置与使用可实现与STM32的通信
- Java与C语言中的锁