宅男福利!我用Python做了一个B站跳舞的小姐姐,满屏的美腿!_python 舞蹈视频处理

在这里插入图片描述
周末在家,天气好冷好冷啊,我们这边都下雪了!宅在家里没有啥事情,于是炖了只老母鸡,补补身子。

一边炖鸡汤,一边用Python码些好玩的脚本。辛苦了一个周末,菜鸟哥写了一个好玩的小脚本,赶紧跟大家分享一下。

B站上的漂亮的小姐姐真的好多好多,今天我们来玩一个来抓取B站上跳舞的小姐姐视频,并利用视频中大家的弹幕来绘制一个跳动弹幕的舞蹈视频,非常炫酷~~一起来看看吧。

1、弹幕抓取

首先,我们选定一个弹幕比较多的小姐姐舞蹈视频,并下载该视频,同时,利用以下程序来抓取小姐姐视频中的弹幕信息。

在这里插入图片描述

上述程序中,首先构造指定日期的弹幕url链接,由于弹幕链接是静态网页,所以直接采用requests来请求网页源代码,并提取弹幕信息,将提取到的弹幕信息进行去重并写入到本地文件即可。

2、视频转化成图片

接下来我们将视频转化为图片,由于视频过长,所以需要提取视频中的一部分,来作为接下来的处理视频,程序如下:

videoCrop = VideoFileClip("video.flv").subclip(18, 33)videoCrop.write_videofile("subvideo.mp4")

上述的程序中,提取了完整视频的18秒到33秒的视频,并保存为mp4文件。提取视频之后,接下来是将视频的每一帧转化为图片并保存到本地的文件夹下,程序如下所示:

在这里插入图片描述

上述的程序中,利用opencv来逐帧的读取视频,并按照顺序保存到本地的文件夹中,转化的图片如下图所示。

在这里插入图片描述

3、利用百度AI来人像分割转化为二值图

进行完视频转化图片之后,接下来需要进行人像的分割,将小姐姐转化为二值图像,实现人像和背景的分离,这里,可以使用百度AI的人像分割接口,程序如下所示。

在这里插入图片描述

上述程序中,利用百度AI的接口来进行人像分割,这里只需要返回二值化的结果即可,我们将返回的二值结果进行处理,并保存为png格式的图片。

4、小姐姐词云生成

有了小姐姐的二值化分割图后,接下来就是利用这些图作为mask,来生成词云图,程序如下所示:

在这里插入图片描述

程序中,首先将图片以二进制的形式读入,然后利用jieba来分词并去除分词结果中我们不希望出现的词组;将分好的词组利用stylecloud来进行词云的制作。

这里需要注意的是,stylecloud的源码中是不支持自定义mask的,所以我们需要自己在stylecloud的源码中进行修改添加,让它支持自定义mask。制作好的词云图如下所示。

在这里插入图片描述

可以看到,大家的弹幕信息中,大多是对于小姐姐绝妙身材的羡慕和喜欢。接下来我们看一下,如何利用程序将词云制作成视频,并结合原音频进行展示。

5、合成视频

程序首先设置了输出视频的名称和帧率,然后利用opencv,将图片写入到视频文件中去,形成词云视频,最后将词云视频和原视频的音频进行合并,形成我们最终的小姐姐词云视频。

以上就是今天为大家带来的小姐姐词云舞蹈视频,大家也可以自己来做一个喜欢的动态词云视频,合成自己最喜欢的视频。

在这里插入图片描述

【读者福利】

如果你对Python感兴趣,学好 Python 不论是就业、副业赚钱、还是提升学习、工作效率,都是非常不错的选择,但要有一个系统的学习规划。

小编是一名Python开发工程师,自己整理了一套 【最新的Python系统学习教程】,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。

如果你是准备学习Python或者正在学习,下面这些你应该能用得上:

1、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值