用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

文章来源地址https://uudwc.com/A/jYDz

原文地址:https://blog.csdn.net/codeshits/article/details/127165623

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月13日 09:46
吴恩达机器学习课程资源(笔记、中英文字幕视频、课后作业,提供百度云镜像!)
下一篇 2023年06月13日 09:46