程序员 PK 刘畊宏 | 我用代码实现刘畊宏龙拳
程序员来挑战刘畊宏健身操了,我用代码实现了刘畊宏的龙拳和周大侠,对比原版,来看看代码版本健身操怎么样。
- 周大侠 | 程序员挑战 5千万 粉丝的健身操:https://b23.tv/K2nKMjR
- 程序员 PK 刘畊宏 | 我用代码实现刘畊宏龙拳:https://b23.tv/oJ7PhVo
我相信有很多小伙伴会好奇,视频中的字符是如何做出来的。难道是程序员一个一个字符敲出来的?
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
。
https://git.1024dhl.com/https://github.com/ryan4yin/video2chars/blob/v0.3/src/video2chars.py
PS:前缀 https://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
近期必读热门文章
- Android 11 提高 App 冷启动速度 5% 以上
- Stack Overflow 上最热门的 10 个 Kotlin 问题
- 揭秘 Kotlin 中的 == 和 ===
程序员 PK 刘畊宏 | 我用代码实现刘畊宏龙拳相关推荐
- [转]为什么程序员总是写糟糕的代码?这3个原因
原文请看:为什么程序员总是写糟糕的代码?这3个原因 我最近一直在想我们作为一个行业为什么总是产出糟糕代码的原因. 1.明显原因-- 我一下子想到的最明显的原因是,有好的程序员,也有不那么好的程序员,有 ...
- 优秀的PHP程序员至少应该了解PHP代码的优缺点(转)
我在SitePoint做面试官的时候一定会问的问题是:你认为PHP代码的优劣体现在哪里?因为这个问题可以让我大体知道应聘者是哪种类型的程序员,而不是单纯地考察他对PHP函数的掌握程度(这一点Zend的 ...
- 最受Linux程序员欢迎的7个代码编辑器的介绍及下载地址
Linux平台上的代码编辑器太少了,Linux程序员经常抱怨,自从他们使用了免费开源的系统平台后,作为一名程序员,却并没有在代码编辑器上得到足够的重视.下面我们分享了7个最受Linux程序员欢迎的代码 ...
- 企业有了程序员为什么还要用 低代码/无代码
一.备受"争议"的无代码/低代码开发 在看这篇内容时,我们要知道,技术无时无刻不在进行发展,IT技术更是如此,快速的技术更新使得程序员在进行应用开发时效率更高:我记得在十多年前,开 ...
- 别以为程序员的工作就是写代码
大家好,我是鱼皮,今天给大家分享一个开发小经验. 很多没有实际工作过的同学,可能都会认为程序员的工作只有写代码 + 和产品经理 "拉扯",也会习惯性地用代码量来评价一个程序员的工作 ...
- 拒绝经验过剩,“程序员的工作只能是代码”?
似乎软件工程师都有一个自然而然的成长过程:从缺乏经验的新手,发展到中级工程师,进而成为经验过剩的工程师.一旦软件工程师进入经验过剩阶段,他们对代码的兴趣就会降低!那么哪些迹象表明你已经经验过剩了呢? ...
- 程序员不能只会敲代码还要会投资理财
程序员不能只会敲代码,还要会理财或者说投资. 当我们步入职场,随着我们工作经验的增长我们的薪资相应的也会快速提高,很多人可能思维上还没有改变过来,不知道如何利用自己的闲钱去保值或者增值.当然现在互联网 ...
- c语言输出我爱你程序,程序员表白教程,这些代码用过的都成功了!
原标题:程序员表白教程,这些代码用过的都成功了! 作为一名程序员,如何用自己的技术向喜欢的人表白? 这篇程序员表白教程,可以让你创造出不一样的浪漫! 你值得拥有! 1. I Love You Batc ...
- 为什么中国的程序员喜欢用英文写代码,甚至注释也用英文?
为什么中国的程序员喜欢用英文写代码,甚至注释也用英文? 1.因为英语是国际通用的,用英语方便各国程序员. 2.因为英文才专业 3.因为语句只能用英文 4.因为变量名用英文方便外国同行看代码 5.因为英 ...
最新文章
- 数据驱动:新药物发现知识图
- Rational Rose打开方式
- MIT开发的一款最新Chrome插件,功能远超OCR软件,可快速识别和复制图中文字
- blockquote 引用的分析
- Part2_3 正则表达式、Excel表格相关操作
- 结构体引用_C/C++结构体完全攻略
- 常去的国外网站一览表
- 视频教程-Linux从入门到精通(全套系列)-Linux
- Go语言实战-golang操作MySQL
- 记一次结合fiddler逆向破解app注册码
- word_大纲视图/导航视图/设置标题时需要注意(不成功的原因)
- 每周全球科技十大新闻(2019.8.12-8.18)
- java虚拟机创建失败_java虚拟机创建失败的原因整理
- UWB定位算法比较TDOA和TWR究竟哪个好
- seo文章伪原创技巧(你不知道的伪原创文章处理技巧)
- vscode 忽略pep8的指定报错码
- 在git clone报错
- 一次性读懂云计算中的6大热门词汇
- 代码审计工具Checkmarx ActiveMQ 密码错误
- 墨尔本大学计算机科学硕士,墨尔本大学计算机专业硕士已经开放申请