用Python实现视频字符化(蔡徐坤唱跳Rap视频)

用PyCharm运行代码,若未安装可去官网下载社区版

教程如下:

1. 安装cv2库和numpy库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy 

         可以选择在PyCharm的Terminal中输入这段代码,也可以在cmd中输入python后再输入这段代码

2.视频字符化代码

import cv2
import numpy as np

def readVideo(path):
    videoCapture = cv2.VideoCapture()
    videoCapture.open(path)
    frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)
    fps = videoCapture.get(cv2.CAP_PROP_FPS)
    for i in range(int (0),int(fps*10)):
        ret,frame = videoCapture.read()
        #ret是bool类型,frame是image ndarray类型
        src = cv2.resize(frame,(int (frame.shape[1]*0.6),int (frame.shape[0]*0.6)))
        src = imageToChar(src)
        cv2.imshow('frame',src)
        cv2.waitKey(1)
     
def imageToChar(img):   
    string = "&*@#%qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
    count = len(string)
    u, v, _= img.shape
    c = img*0 + 0
    # c = np.zeros((u,v))
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # cv2.imshow('output', c)
    for i in range(0, u-1,10):
        for j in range(0, v-1,10):
            pix = gray[i, j]
            b, g, r = img[i, j]
            zifu = string[int(((count - 1) * pix) / 256)]
            cv2.putText(c, zifu, (j, i), cv2.FONT_HERSHEY_COMPLEX, 0.5,(int(255),int(255),int(255)))
    return c
readVideo('image/test.mp4')
cv2.waitKey(0)

3.放入视频

        在安装PyCharm的目录下新建一个名为image的文件夹,再在这个文件夹下面放入视频,视频名字命名为test.mp4,若运行失败,则将倒数第二行的代码readVideo('image/test.mp4)改为readVideo('../image/test.mp4)

蔡徐坤唱跳Rap 4K高清视频地址:

4K 蔡徐坤原版

 (可以用手机端进入链接下载视频)

 4.结果展示

唱跳Rap

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ability Power

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值