抖音旋转照片的源代码(抖音代码教程)

前言

上一篇,我们分享了给图片转成代码图片的源码,这次分享一个视频转代码动图的一个源码,需要有图像和动图像的一些基本知识。

抖音旋转照片的源代码(抖音代码教程)

图片来自网络

 

  • 环境配置

python版本: 3.6.0

代码编辑工具:pycharm

录屏软件、控制台(win+r, cmd)

项目所需要的环境安装包

pip install opencv-python

第一步:导入相关的python包

# encoding:utf-8
import cv2
import os

cv2:是一个强大的图像、视频处理工具包。有兴趣做图像处理或视频处理,可以稍微研究一下openCV。

os: 这里使用它文件存储清屏功能。

抖音旋转照片的源代码(抖音代码教程)

第二步:全局变量

ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'. ")
char_len = len(ascii_char)
show_height = 40
show_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。但是,对于新手而言,这就是一个非常好的练手小项目。不仅仅代码量少,更重要的是容易上手。如果大家有疑问,欢迎下方评论。未来编程的路还很长,放下你手中的手机,跟我们一下写代码吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论