程序员来挑战刘畊宏健身操了,我用代码实现了刘畊宏的龙拳和周大侠,对比原版,来看看代码版本健身操怎么样。

  • 周大侠 | 程序员挑战 5千万 粉丝的健身操:https://b23.tv/K2nKMjR
  • 程序员 PK 刘畊宏 | 我用代码实现刘畊宏龙拳:https://b23.tv/oJ7PhVo

我相信有很多小伙伴会好奇,视频中的字符是如何做出来的。难道是程序员一个一个字符敲出来的?

No,No,No,这肯定不是一个一个字符敲出来的,如果真是一个一个字符敲出来的,那么不吃不喝也得花好几年的时间,如果不是敲出来的那么肯定是通过某些软件或者技术实现的。我们先来看看如何实现一个字符视频。大概分为三步。

  1. 将视频的每一帧转成图片

  2. 将生成图片转成 ASCII 图形(字符化)

  3. 最后将步骤 2 生成的图片作为序列帧,一帧一帧播放

想要实现上面三步,大概有两种方式:

  • 通用方式,通过软件实现(适合所有人)

  • 通过代码实现(适合程序员)

通用方式,通过软件实现字符视频

这里需要用到两款软件 Adobe Premiere ProAscgen2

  • 首先使用 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 刘畊宏 | 我用代码实现刘畊宏龙拳相关推荐

  1. [转]为什么程序员总是写糟糕的代码?这3个原因

    原文请看:为什么程序员总是写糟糕的代码?这3个原因 我最近一直在想我们作为一个行业为什么总是产出糟糕代码的原因. 1.明显原因-- 我一下子想到的最明显的原因是,有好的程序员,也有不那么好的程序员,有 ...

  2. 优秀的PHP程序员至少应该了解PHP代码的优缺点(转)

    我在SitePoint做面试官的时候一定会问的问题是:你认为PHP代码的优劣体现在哪里?因为这个问题可以让我大体知道应聘者是哪种类型的程序员,而不是单纯地考察他对PHP函数的掌握程度(这一点Zend的 ...

  3. 最受Linux程序员欢迎的7个代码编辑器的介绍及下载地址

    Linux平台上的代码编辑器太少了,Linux程序员经常抱怨,自从他们使用了免费开源的系统平台后,作为一名程序员,却并没有在代码编辑器上得到足够的重视.下面我们分享了7个最受Linux程序员欢迎的代码 ...

  4. 企业有了程序员为什么还要用 低代码/无代码

    一.备受"争议"的无代码/低代码开发 在看这篇内容时,我们要知道,技术无时无刻不在进行发展,IT技术更是如此,快速的技术更新使得程序员在进行应用开发时效率更高:我记得在十多年前,开 ...

  5. 别以为程序员的工作就是写代码

    大家好,我是鱼皮,今天给大家分享一个开发小经验. 很多没有实际工作过的同学,可能都会认为程序员的工作只有写代码 + 和产品经理 "拉扯",也会习惯性地用代码量来评价一个程序员的工作 ...

  6. 拒绝经验过剩,“程序员的工作只能是代码”?

    似乎软件工程师都有一个自然而然的成长过程:从缺乏经验的新手,发展到中级工程师,进而成为经验过剩的工程师.一旦软件工程师进入经验过剩阶段,他们对代码的兴趣就会降低!那么哪些迹象表明你已经经验过剩了呢? ...

  7. 程序员不能只会敲代码还要会投资理财

    程序员不能只会敲代码,还要会理财或者说投资. 当我们步入职场,随着我们工作经验的增长我们的薪资相应的也会快速提高,很多人可能思维上还没有改变过来,不知道如何利用自己的闲钱去保值或者增值.当然现在互联网 ...

  8. c语言输出我爱你程序,程序员表白教程,这些代码用过的都成功了!

    原标题:程序员表白教程,这些代码用过的都成功了! 作为一名程序员,如何用自己的技术向喜欢的人表白? 这篇程序员表白教程,可以让你创造出不一样的浪漫! 你值得拥有! 1. I Love You Batc ...

  9. 为什么中国的程序员喜欢用英文写代码,甚至注释也用英文?

    为什么中国的程序员喜欢用英文写代码,甚至注释也用英文? 1.因为英语是国际通用的,用英语方便各国程序员. 2.因为英文才专业 3.因为语句只能用英文 4.因为变量名用英文方便外国同行看代码 5.因为英 ...

最新文章

  1. 数据驱动:新药物发现知识图
  2. Rational Rose打开方式
  3. MIT开发的一款最新Chrome插件,功能远超OCR软件,可快速识别和复制图中文字
  4. blockquote 引用的分析
  5. Part2_3 正则表达式、Excel表格相关操作
  6. 结构体引用_C/C++结构体完全攻略
  7. 常去的国外网站一览表
  8. 视频教程-Linux从入门到精通(全套系列)-Linux
  9. Go语言实战-golang操作MySQL
  10. 记一次结合fiddler逆向破解app注册码
  11. word_大纲视图/导航视图/设置标题时需要注意(不成功的原因)
  12. 每周全球科技十大新闻(2019.8.12-8.18)
  13. java虚拟机创建失败_java虚拟机创建失败的原因整理
  14. UWB定位算法比较TDOA和TWR究竟哪个好
  15. seo文章伪原创技巧(你不知道的伪原创文章处理技巧)
  16. vscode 忽略pep8的指定报错码
  17. 在git clone报错
  18. 一次性读懂云计算中的6大热门词汇
  19. 代码审计工具Checkmarx ActiveMQ 密码错误
  20. 墨尔本大学计算机科学硕士,墨尔本大学计算机专业硕士已经开放申请

热门文章

  1. postgre基本用法(一)
  2. 【通信系统】移动通信系统基础知识
  3. 用ChatGPT创建虚拟小镇,或许《西部世界》已经成为现实
  4. SM2椭圆曲线公钥密码算法(Python实现)
  5. 测试域名是否可用命令
  6. matlab在centos7中安装的提示错误
  7. coding随笔 | 点绕向量旋转
  8. MBR磁盘和GPT磁盘的基本磁盘和动态磁盘,FAT和NTFS文件系统——小结
  9. 航空遥感数据集、无人机航拍数据集
  10. 锁定计算机后点鼠标屏幕无反应,电脑鼠标点桌面没反应怎么办