龙空技术网

yyds干货盘点#Python实战案例,CV2模块,Python实现抖音字符视频

风度翩翩的Python 142

前言:

现在咱们对“python怎么装cv2库”可能比较看重,兄弟们都需要知道一些“python怎么装cv2库”的相关知识。那么小编在网络上汇集了一些关于“python怎么装cv2库””的相关资讯,希望朋友们能喜欢,兄弟们快快来学习一下吧!

原文

前言

利用Python实现抖音字符视频。废话不多说。

让我们愉快地开始吧~

开发工具

Python版本:3.6.4

相关模块:

cv2模块;

PIL模块;

numpy模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

主要用到的库有cv2,pillow库。

原视频如下,直接抖音下载的。

视频转图片

运行下面这个命令,即可成功安装cv2这个库。

pip3 install opencv-python

或者下个.whl格式来安装

代码实现如下:

import cv2import os# 在当前目录下新建文件夹folder_path = "img_bear/"os.makedirs(folder_path)# 进行视频的载入vc = cv2.VideoCapture('bear.mp4')c = 0# 判断载入的视频是否可以打开ret = vc.isOpened()# 循环读取视频帧while ret:    c = c + 1    # 进行单张图片的读取,ret的值为True或者Flase,frame表示读入的图片    ret, frame = vc.read()    if ret:        # 存储为图像        cv2.imwrite('img_bear/'+str(c) + '.jpg', frame)        # 输出图像名称        print('img_bear/'+str(c) + '.jpg')        # 在一个给定的时间内(单位ms)等待用户按键触发,1ms        cv2.waitKey(1)    else:        break# 视频释放vc.release()

生成了369张图片

图片转字符

普通图片转字符图片主要使用了pillow库。

对图片做灰度处理,然后根据图片像素点的灰度值,添加对应的字符。

代码实现

from PIL import Image, ImageDraw, ImageFontimport numpy as npimport os# 创建字符图片文件夹folder_path = "bear/"os.makedirs(folder_path)for i in range(1, 1000):    filename = 'img_bear/' + str(i) + '.jpg'    # 字符列表    ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~            <>i!lI;:,\"^`'. ")    # 判断图片是否存在    if os.path.exists(filename):        # 将图片转化为灰度图像,并重设大小        img_array = np.array(Image.open(filename).resize((70, 70), Image.ANTIALIAS).convert('L'))        # 创建新的图片对象        img = Image.new('L', (560, 560), 255)        draw_object = ImageDraw.Draw(img)        # 设置字体        font = ImageFont.truetype('consola.ttf', 10, encoding='unic')        # 根据灰度值添加对应的字符        for j in range(70):            for k in range(70):                x, y = k * 8, j * 8                index = int(img_array[j][k] / 4)                draw_object.text((x, y), ascii_char[index], font=font, fill=0)        name = 'bear/' + str(i) + '.jpg'        print(name)        # 保存字符图片        img.save(name, 'JPEG')

生成了369字符图片

字符转视频

使用cv2库,将字符图片转化为视频。

代码实现

import cv2import os# 设置视频编码器,这里使用使用MJPG编码器fourcc = cv2.VideoWriter_fourcc(*'MJPG')# 输出视频参数设置,包含视频文件名、编码器、帧率、视频宽高(此处参数需和字符图片大小一致)videoWriter = cv2.VideoWriter('bear_character.avi', fourcc, 20.0, (560, 560))for i in range(1, 1000):    filename = 'bear/'+str(i)+'.jpg'    # 判断图片是否存在    if os.path.exists(filename):        img = cv2.imread(filename=filename)        # 在一个给定的时间内(单位ms)等待用户按键触发,100ms        cv2.waitKey(100)        # 将图片写入视频中        videoWriter.write(img)        print(str(i) + '.jpg' + ' done!')# 视频释放videoWriter.release()

成功生成字符视频

标签: #python怎么装cv2库