让何同学翻车的项目是什么来头?
# 让何同学翻车的项目是什么来头?
吃个瓜,再顺便科普下 ASCII-generator 项目
# 背景
最近, B 站知名 UP 主何同学(1207 万粉丝)因涉嫌抄袭开源项目 ASCII generator
而引发争议。
视频《我用 36 万行备忘录做了个动画…》从 11 月 15 号发布,获得几百万播放,热度相当高。
他提到团队专门写了一个软件,但实际上该软件基于越南开发者 vietnh1009 在 GitHub 上发布的开源项目。
面对网友质疑,何同学迅速在评论区道歉,承认表述不准确,并解释是团队合作过程中的疏忽所致。最后该视频被下架。
# 作者回复
目前 Github 上相关开源代码原作者 vietnh1009 已经站出来发声:
“多亏了 GitHub 上的中国朋友,我才知道你们(何同学团队)在使用我的个人项目,并声称是你们自己编写的代码。我甚至还在油管上制作了两个视频,免费指导我的观众如何编写这个 Python 代码。你们不仅在窃取他人的作品,还在对你们的订阅者撒谎。我想我不是第一个被你们盗用作品的人。对我来说,我并不介意,但请不要以此牟利,因为这不是你们的作品,你们的观众值得看到更好的内容。他们为你的创造力和努力付费,而不是为了你从网上偷来的东西。”
该项目的开源协议是 MIT,可以说是非常宽松的协议了,还要把源作者的信息删去实在不太好。
接下来我们重点介绍下 ASCII-generator 项目。
# 是什么
ASCII-generator 是一个功能丰富的开源工具,它能够将图像和视频转换成 ASCII 码。
简单来说,就是将图片、视频转为文字字符。
项目地址:https://github.com/vietnh1009/ASCII-generator,目前已有 6.5k Star
项目特点:
- 图像转换:将 JPEG、PNG 等格式的图像文件转换成 ASCII 码
- 视频转换:将视频文件转换成连续的 ASCII 帧,生成动态 ASCII 艺术
- 批量处理:支持多文件操作,提高转换效率
- 参数定义:用户可以根据需要调整亮度、对比度等参数,以达到最佳视觉效果
- 输出格式:支持输出为文本文件、图像甚至 HTML,方便分享和展示
这里不得不提一句,本来该项目 Star 数量不多,才 1.6k;但是由于该事件瞬间出圈,翻了几倍 🤣,也算因祸得福了?
# 使用教程
该项目用起来也很简单:
- 配置好依赖环境:
python 3.6
,cv2
,PIL
,numpy
- 下载项目:
git clone https://github.com/your-username/ASCII-generator.git
- 安装依赖:
pip install -r requirements.txt
然后就可以运行了,例如用 img_to_ascii.py
将图像文件转换为 ASCII 码。
# 效果
这里放几张官网的效果图:
# 有什么用?
那么,这种工具有没用呢?个人想到的有三个场景:
# 一、适用于纯文字场景
在写文章的过程中,图片是比较麻烦的一个点。文件比纯文本大很多,消耗带宽,容易失效...
有一些论坛就不支持使用图片,例如知名的 Hacker News (opens new window)。
因此,我个人倾向于不滥用图片,精简即可。例如,我在写 Git 教程的时候,通过文本字符的组合,也能达到图片的效果:
master
│
│
▼
┌───┐ ┌───┐ ┌───┐ ┌───┐
│ │───→│ │───→│ │───→│ │
└───┘ └───┘ └───┘ └───┘
▲
│
│
dev
▲
│
│
HEAD
2
3
4
5
6
7
8
9
10
11
12
13
14
15
甚至可以画流程图:
我之前有个文章《一些有趣的代码注释》里提到不少注释,其中部分就是用图片转 ASCII 码得到的:
/**
* _ooOoo_
* o8888888o
* 88" . "88
* (| -_- |)
* O\ = /O
* ____/`---'\____
* .' \\| |// `.
* / \\||| : |||// \
* / _||||| -:- |||||- \
* | | \\\ - /// | |
* | \_| ''\---/'' | |
* \ .-\__ `-` ___/-. /
* ___`. .' /--.--\ `. . __
* ."" '< `.___\_<|>_/___.' >'"".
* | | : `- \`.;`\ _ /`;.`/ - ` : | |
* \ \ `-. \_ __\ /__ _/ .-` / /
* ======`-.____`-.___\_____/___.-`____.-'======
* `=---='
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* 佛祖保佑 永无BUG
* 佛曰:
* 写字楼里写字间,写字间里程序员;
* 程序人员写程序,又拿程序换酒钱。
* 酒醒只在网上坐,酒醉还来网下眠;
* 酒醉酒醒日复日,网上网下年复年。
* 但愿老死电脑间,不愿鞠躬老板前;
* 奔驰宝马贵者趣,公交自行程序员。
* 别人笑我忒疯癫,我笑自己命太贱;
* 不见满街漂亮妹,哪个归得程序员?
**/
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 二、好看/定制 Logo
程序员在开发过程中,启动项目时,经常能看到一些 Banner 信息。例如 SpringBoot:
这个其实也是文本字符,只是转换后更大、更好看一点。有不少在线网站支持文本转 ASCII 艺术码:
因此,你可以替换 SpringBoot 默认的 Banner 信息,例如换成为自己项目定制的 Banner,又或者换成公司所需的 Banner。
# 三、好玩
何同学 2020 年还发过一个视频:我用一万行备忘录做了个动画... (opens new window),看上去确实挺好玩的。
B 站还有个视频 【C 语言】使用控制台播放「使一颗心免于哀伤」 (opens new window),其原理也差不多,用的图片转文本:
甚至还有“华强买瓜 (opens new window)”...
# 扩展阅读
如果你想了解什么是 ASCII 码,以及背后的原理,不妨看看我之前写的科普文章:
我在《一些有趣的代码注释》里也列了一些图片转 ASCII 的工具,这里重复下:
在线网站:
网站名 | 网址 | 说明 |
---|---|---|
ASCIIFlow | https://asciiflow.com | |
Drawing tool - Drawisland | https://drawisland.com | 需魔法上网 |
Text to ASCII Art Generator(TAAG) | https://patorjk.com/software/taag | |
FIGlet Fonts Library | http://www.jave.de/figlet/fonts.html | |
Textik - ASCII diagrams editor | https://textik.com |
软件/插件:
- fun-comment:VSCode 插件,开源在:https://github.com/5A59/fun-comment
- koro1FileHeader:VSCode 插件,文档齐全,配置灵活,开源在:https://github.com/OBKoro1/koro1FileHeader
- ASCII Art Studio (opens new window):一款 Windows 软件
- Monodraw (opens new window):macOS 下的软件,在写 Git 教程时用的就是这个