未加星标

Python3 & OpenCV 视频转字符动画教程

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二05 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

Python3 & OpenCV 视频转字符动画教程

教程简介:本教程使用 OpenCV 处理图片视频,将视频转为字符画序列,再在终端中播放字符动画。除了 OpenCV 的操作,本教程还会了解光标定位转义编码的使用。

本项目教程由FrostSigh发布在 实验楼 ,完整教程及在线练习地址: python3 & OpenCV 视频转字符动画

一、项目简介

在介绍如何用 Python3 & OpenCV 将视频转成字符动画之前,先简单的介绍一下 OpenCV 吧,毕竟可能很多小伙伴不太了解:

百度百科:

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在linuxwindows和Mac OS操作系统上。它轻量级而且高效――由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

1.1. 知识点 OpenCV 编译 使用 OpenCV 处理图片、视频 图片转字符画原理 守护线程 光标定位转义编码 1.2. 效果展示

接着来看看效果展示,很可爱又很酷炫:(动画截图)


Python3 & OpenCV 视频转字符动画教程
Python3 & OpenCV 视频转字符动画教程

播放停止后的效果,注意终端中并无残留的动画字符:


Python3 & OpenCV 视频转字符动画教程
二、项目原理

大家应该都明白视频其实可以看作一系列图片组成的,因此视频转字符动画最基本的便是图片转字符画,这一部分内容也在 Python 图片转字符画 课程中有讲过。

在这里简单的说一下图片转字符画的原理:首先将图片转为灰度图,每个像素都只有亮度信息(用 0~255 表示)。然后我们构建一个有限字符集合,其中的每一个字符都与一段亮度范围对应,我们便可以根据此对应关系以及像素的亮度信息把每一个像素用对应的字符表示,这样字符画就形成了。

字符动画要能播放才有意义。最最简单粗暴的,用文本编辑器打开字符动画文本文件,然后狂按 PageDown 键就能播放。然而这真的太简单太粗暴了,一点都不优雅。

我们还是在终端里面播放字符动画,只需要一帧一帧输出就能达到动画的效果了,然而这却有一个很大的弊端:播放时,你会发现终端右边的滚动条会越来越小(如果有的话);播放完毕后,在终端中往上翻页,全是之前输出的字符画,播放前的命令历史全部被挤占掉了。在本实验后面提供了这个问题的解决办法。

三、实验环境及OpenCV的编译安装

在线练习环境:


Python3 & OpenCV 视频转字符动画教程

实验楼为本项目提供了 在线环境 。本课程的实验中使用了 OpenCV 3.1,因此我们需要编译安装它。首先我们需要处理一个问题:当前实验楼的环境中 python3 命令使用的 python 版本为 3.5,我们需要将 python3 命令使用的 python 版本切换为 3.4。

$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 70 --slave /usr/bin/python3m python3m /usr/bin/python3.4m

然后安装一些依赖的包:

$ sudo apt-get update $ sudo apt-get install python3-dev $ sudo pip3 install numpy $ sudo apt-get install cmake libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

现在可以开始编译 OpenCV 3.1 了,下面是在实验楼环境中编译 OpenCV 3.1 所需的命令,其他环境中的编译请参考官网。

$ wget https://github.com/Itseez/opencv/archive/3.1.0.zip $ unzip 3.1.0.zip && cd opencv-3.1.0/ $ mkdir build && cd build $ cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr/local \ PYTHON3_EXECUTABLE=/usr/bin/python3 \ PYTHON_INCLUDE_DIR=/usr/include/python3.4 \ PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.so \ PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/dist-packages/numpy/core/include .. $ make -j4

不想自己编译的同学请下载编译好的二进制文件,然后解压并进入 opencv-3.1.0/build 目录。

本项目的完整代码、详细步骤及demo,可以在 实验楼 查看并在线完成: Python3 & OpenCV 视频转字符动画

更多Python经典项目: Python全部 - 课程


Python3 & OpenCV 视频转字符动画教程

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

分页:12
转载请注明
本文标题:Python3 & OpenCV 视频转字符动画教程
本站链接:http://www.codesec.net/view/482123.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(43)