抖音动图怎么制作视频,抖音怎么制作动图视频教程
文/IT可达鸭
图/IT可达鸭、网络
前言
上一篇,我们分享了给图片转成代码图片的源码,这次分享一个视频转代码动图的一个源码,需要有图像和动图像的一些基本知识。
p>抖音动图怎么制作视频,抖音怎么制作动图视频教程
文/IT可达鸭
图/IT可达鸭、网络
前言
上一篇,我们分享了给图片转成代码图片的源码,这次分享一个视频转代码动图的一个源码,需要有图像和动图像的一些基本知识。
图片来自网络
python版本: 3.6.0
代码编辑工具:pycharm
录屏软件、控制台(win+r, cmd)
项目所需要的环境安装包
pip install opencv-python
第一步:导入相关的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 += "\r\n" 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。但是,对于新手而言,这就是一个非常好的练手小项目。不仅仅代码量少,更重要的是容易上手。如果大家有疑问,欢迎下方评论。未来编程的路还很长,放下你手中的手机,跟我们一下写代码吧!
如果有疑问想获取源码,可以关注后,在后台私信我,回复:python代码视频。 我把源码发你。持续关注"IT可达鸭" ,每天分享有趣Python源码。如果觉得我的文章有意思,就顺手点个赞吧。最后,感谢大家的阅读,祝大家工作生活愉快!
以上内容来自网络,目的只是为了学习参考和传递资讯。
其版权归原创作者所有,如不慎侵犯了你的权益,请联系我们【qq123456】告知,我们将做删除处理!