林凯优秀作者
原创内容 来源:小居数码网 时间:2024-07-31 00:49:01 阅读() 收藏:23 分享:49 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有904个文字,大小约为4KB,预计阅读时间3分钟。
前言上一篇,我们分享了给图片转成代码图片的源码,这次分享一个视频转代码动图的一个源码,需要有图像和动图像的一些基本知识。
图片来自网络
python版本: 3.6.0
代码编辑工具:pycharm
录屏软件、控制台(win+r, cmd)
项目所需要的环境安装包
pip install opencv-python
# encoding:utf-8import cv2import os
cv2:是一个强大的图像、视频处理工具包。有兴趣做图像处理或视频处理,可以稍微研究一下openCV。
os: 这里使用它文件存储和清屏功能。
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'. ")char_len = len(ascii_char)show_height = 40show_width = 80
ascii_chat 是像素值转化的代码列表,show_height 和show_width 分别是最终转化动图的高和宽。 这里为了方便演示,就把它作为全局变量。如果是实际项目,就必须用配置文件或者从数据库中读取。
def frame_process(video_path): vc = cv2.VideoCapture(video_path) # 加载一个视频 if vc.isOpened(): # 判断是否正常打开 rval, frame = vc.read() else: rval = False frame_count = 0 outputList = [] # 初始化输出列表 while rval: # 循环读取视频帧 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 使用opencv转化成灰度图 gray = cv2.resize(gray, (show_width, show_height)) # resize灰度图 text = "" for pixel_line in gray: for pixel in pixel_line: # 字符串拼接 text += ascii_char[int(pixel / 256 * char_len)] text += "rn" outputList.append(text) frame_count = frame_count + 1 if frame_count % 100 == 0: print("已处理" + str(frame_count) + "帧") rval, frame = vc.read() print("处理完毕") return outputList
视频是由一帧帧图片组成,有些视频每秒有24帧图片、有些12帧图片,帧的数量取决于视频的质量。这里处理步骤是:
1 加载视频
2 循环读取每一帧图片
3 对图片进行大小重置、灰度转化、字符转换
4 结果保存在列表中
5 返回列表结果
def output(outputList): for frame in outputList: os.system("cls") # 清屏 print(frame) print() print()
os.system("cls"): 表示把控制台所有信息清空。
模拟视频播放,一帧一帧地打印所有的图片。
if __name__ == '__main__': # 在命令行中,运行效果更明显 video_path = '跳舞.mp4' frame_list = frame_process(video_path) output(frame_list) print("OK")
随意在抖音上下载一个小姐姐的跳舞视频,作为函数的参数。
打开控制台(Win+R),输入cmd,并进入到代码所在目录。运行命令: python 视频转代码.py,再利用录屏软件录制屏幕,导出动图GIF。
不知不觉,代码库又多了一块砖。虽然代码对于老程序员来说,这代码 so easy, so simple。但是,对于新手而言,这就是一个非常好的练手小项目。不仅仅代码量少,更重要的是容易上手。如果大家有疑问,欢迎下方评论。未来编程的路还很长,放下你手中的手机,跟我们一下写代码吧!
上面就是小居数码小编今天给大家介绍的关于(抖音旋转照片的源代码)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(365)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:抖音代码教程(抖音旋转照片的源代码):http://sjzlt.cn/shuma/153069.html