b站小姐姐词云视频制作学习记录

这篇博客记录了作者使用Python制作B站舞蹈视频词云的过程,包括视频下载处理、人像分割、生成词云图片,以及将词云图片转化为视频并插入音频的详细步骤。
摘要由CSDN通过智能技术生成

开头

前几天看了 宅男福利!我用Python做了一个B站跳舞的小姐姐,满屏的美腿!.就试着做了一下,参考了很多网上的资料,写一下算是记录过程。

视频下载及处理

视频是 【欣小萌】Yes OK!想住进你的心里呀.
我下载了竖屏版
接下来处理视频

"""
@Author       : xrd
@Email        : 
@Project      : interest
"""
import cv2
from moviepy.editor import VideoFileClip
from xlwings import ret
import os

videoCrop = VideoFileClip(r"C:\python\bilibili\video\test.mp4").subclip(18, 33) #截15秒
videoCrop.write_videofile(r"C:\python\bilibili\video\subvideo.mp4")

cap = cv2.VideoCapture(r"C:\python\bilibili\video\subvideo.mp4")
num = 0
while 1:
    ret, frame = cap.read()
    if ret:
        cv2.imwrite("imgs" + '%d.jpg' % num, frame)
        num += 1
    else:
        break
cap.release()

最后生成450张图片
如果生成的图片数不同可能是视频帧率不同,后续可以自行修改。
截取的图片如下
在这里插入图片描述

人像分割转化为二值图

原文中是利用百度AI来人像分割转化为二值图,试着使用普通的分割方法

# 手动指定阈值的分割方法,自己设定阈值th_val
# 注意,此时,不指定自动方法
def threshold_manualset(img, th_val):
    gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
    ret, binary = cv.threshold(gray, th_val, 255, cv.THRESH_BINARY)
    # (1)注意,下面的方法是反色的分割,黑白颠倒过来,可以试下
    # ret, binary = cv.threshold(gray, th_val, 255, cv.THRESH_BINARY_INV)
    # (2)注意,下面的方法是截断的阈值分割,小于th_val的都赋值th_val,可以试下
    # ret, binary = cv.threshold(gray,th_val,255,cv.THRESH_TRUNC)
    # (3)注意,下面的方法是截断清零的阈值分割,小于th_val的都赋值0,可以试下
    # ret, binary = cv.threshold(gray,th_val,255,cv.THRESH_TOZERO)
    # ret, binary = cv.threshold(gray,th_val,255,cv.THRESH_TOZERO_INV)

    print("threshold_otsu %s" % ret)
    return binary

但效果很不理想。
在这里插入图片描述

还是使用的百度AI作成 参考: 百度人像分割API调用——一键抠图<

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值