Hi 大家好,我是 DHL。公众号:ByteCode ,分享有用、有趣的硬核原创内容,Kotlin、Jetpack、性能优化、系统源码、算法及数据结构、动画、大厂
程序员来挑战龙拳了,我用代码实现了刘畊宏的龙拳,对比原版,来看看字符版龙拳怎么样。
播放地址:https://www.bilibili.com/video/BV1hr4y1J7At?spm_id_from=333.880.my_history.page.click
我相信有很多小伙伴会好奇,视频中的字符是如何做出来的。难道是程序员一个一个字符敲出来的?
No,No,No,这肯定不是一个一个字符敲出来的,如果真是一个一个字符敲出来的,那么不吃不喝也得花好几年的时间,如果不是敲出来的那么肯定是通过某些软件或者技术实现的。我们先来看看如何实现一个字符视频。大概分为三步。
- 将视频的每一帧转成图片
- 将生成图片转成 ASCII 图形(字符化)
- 最后将步骤 2 生成的图片作为序列帧,一帧一帧播放
想要实现上面三步,大概有两种方式:
- 通用方式,通过软件实现(适合所有人)
- 通过代码实现(适合程序员)
通用方式,通过软件实现字符视频
这里需要用到两款软件 Adobe Premiere Pro
、Ascgen2
- 首先使用
Adobe Premiere Pro
将视频每一帧转成图片 - 然后通过 Ascgen2 将上一步生成的图片转换为 ASCII 文本图形(字符化),如下图所示
- 最后将生成的 ASCII 文本图形,通过
Adobe Premiere Pro
以序列帧的方式导入
这种方式适用于所有人,但是费电脑,因为 Adobe Premiere Pro
对电脑的配置有要求,另外 Adobe Premiere Pro
是收费软件,如果对这种方式感兴趣的小伙伴,可以在后台回复,我会在出一期教程。今天这篇文章主要介绍如何通过代码实现字符视频。
通过代码实现字符视频
这里我直接使用开源库中的 python
脚本 video2chars.py
。
git.1024dhl.com/https://git…
PS:前缀 git.1024dhl.com 是 GitHub 的加速器,在 GitHub 地址前面添加这个前缀,提高 GitHub 访问速度和下载速度,我会在后面的文章和视频中介绍
想要运行上面的 python
脚本,还需要安装 opencv-python
,执行下面的命令即可安装。
pip3 install opencv-python===3.4.13.47 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
注意这里需要指定 opencv-python
版本号,如果不指定默认安装最新版本,最新版本无法正常编译。我将安装过程中遇到的错误,做了一个汇总,放在文末了,如果你在安装过程中遇到了问题,可以在评论区分享。
opencv-python
安装成功之后,执行下面命令,运行 python
脚本即可。
pthton3 video2chars.py
我将安装过程中遇到的错误,做了一个汇总,如果你在安装过程中遇到了其他问题,可以在评论区分享,一起讨论。
安装 opencv-python 遇到的错误
错误一
ERROR: No matching distribution found for numpy
出现这个问题,我猜测是因为国内网络环境的原因,通过 -i
指定 aliyun
的仓库下载即可。
pip3 install opencv-python===3.4.13.47 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
错误二
ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly
上面的错误,是因为没有指定 opencv-python
版本号,默认使用最新版本导致的,执行下面命令即可解决。
pip3 install opencv-python===3.4.13.47 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
如果有帮助点个赞就是对我最大的鼓励
欢迎关注公众号:ByteCode,分享有趣硬核原创内容
标签:字符,mirrors,python,刘畊宏,刘畊宏龙拳,opencv,aliyun,PK,com From: https://blog.51cto.com/u_13238266/5929144