以下是具体项目:
本文将以哔哩哔哩–乘风破浪视频为例,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 学习路线规划