用Python做一个词云跳舞视频_会跳动的词云

85 阅读3分钟

在这里插入图片描述

以下是具体项目:

本文将以哔哩哔哩–乘风破浪视频为例,you-get下载视频。

同时利用 python 爬取 B 站视频弹幕,并利用 opencv 对视频进行分割,百度 AI 进行人像分割,moviepy 生成词云跳舞视频,并添加音频。

导入模块

下载所需模块

我们需要下载很多的模块,所以我们可以使用os.system()方法来自动安装所需模块,当然也有可能下载失败,特别是opencv-python,多安装几次就好啦.

####Python学习交流Q群:906715085###
import os
import time
libs = {
 "lxml","requests","pandas","numpy","you-get","opencv-python","pandas","fake\_useragent","matplotlib","moviepy"}
try:
    for lib in libs:
        os.system(f"pip3 install -i https://pypi.doubanio.com/simple/ {
 lib}")
        print(lib+"下载成功")
except:
    print("下载失败")

导入模块

在这里统一先导入所需的模块

####Python学习交流群:906715085###
import os
import re
import cv2
import jieba
import requests
import moviepy
import pandas as pd
import numpy as np
from PIL import Image
from lxml import etree
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from fake_useragent import UserAgent

视频处理

下载视频

从B站视频下载舞蹈视频。

可以使用 you-get,用它可以下载视频,先安装:

pip install you-get

找到想要下载视频的连接,使用如下指令,就可以下载:

you-get -i https://www.bilibili.com/video/BV11C4y1h7nX

标有 DEFAULT 为默认画质。

在这里插入图片描述

下载完的视频。

在这里插入图片描述

在这里插入图片描述

视频分割

使用opencv,将视频的分隔为图片,本文截取 800 张图片来做词云。

opencv中通过VideoCaptrue类对视频进行读取操作以及调用摄像头

代码展示

#-\*- coding:utf-8 -\*-
import cv2
cap = cv2.VideoCapture(r"无价之姐~让我乘风破浪~~~.flv")
num = 1
while 1:
    # 逐帧读取视频 按顺序保存到本地文件夹
    ret,frame = cap.read()
    if ret:
        cv2.imwrite(f".\pictures\img\_{
 num}.jpg",frame)   
    else:
        break
cap.release()   # 释放资源

##结果展示
在这里插入图片描述

人像分割

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

了解详情:docs.qq.com/doc/DSnl3ZG…