让何同学翻车的项目是什么来头?

news/2025/2/26 18:03:32/文章来源:https://www.cnblogs.com/PeterJXL/p/18564780

背景

最近, 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;但是由于该事件瞬间出圈,翻了六倍 🤣,也算因祸得福了?

使用教程

该项目用起来也很简单:

  1. 配置好依赖环境:python 3.6​,cv2​,PIL​,numpy
  2. 下载项目:git clone https://github.com/your-username/ASCII-generator.git
  3. 安装依赖:pip install -r requirements.txt

然后就可以运行了,例如用 img_to_ascii.py ​将图像文件转换为 ASCII 码。

有什么用?

那么,这种工具有没用呢?个人想到的有两个场景:

一、适用于纯文字场景

在写文章的过程中,图片是比较麻烦的一个点。文件比纯文本大很多,消耗带宽,容易失效...

有一些论坛就不支持使用图片,例如知名的 Hacker News。

因此,我个人倾向于不滥用图片,精简即可。例如,我在写 Git 教程分支管理的时候,通过文本字符的组合,也能达到图片的效果:

                 master││▼
┌───┐    ┌───┐    ┌───┐    ┌───┐
│   │───→│   │───→│   │───→│   │
└───┘    └───┘    └───┘    └───┘▲││dev▲││HEAD

我之前有个文章《一些有趣的代码注释》里提到不少注释,其中部分就是用图片转 ASCII 码得到的:

/***                             _ooOoo_*                            o8888888o*                            88" . "88*                            (| -_- |)*                            O\  =  /O*                         ____/`---'\____*                       .'  \\|     |//  `.*                      /  \\|||  :  |||//  \*                     /  _||||| -:- |||||-  \*                     |   | \\\  -  /// |   |*                     | \_|  ''\---/''  |   |*                     \  .-\__  `-`  ___/-. /*                   ___`. .'  /--.--\  `. . __*                ."" '<  `.___\_<|>_/___.'  >'"".*               | | :  `- \`.;`\ _ /`;.`/ - ` : | |*               \  \ `-.   \_ __\ /__ _/   .-` /  /*          ======`-.____`-.___\_____/___.-`____.-'======*                             `=---='*          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*                     佛祖保佑        永无BUG*            佛曰:*                   写字楼里写字间,写字间里程序员;*                   程序人员写程序,又拿程序换酒钱。*                   酒醒只在网上坐,酒醉还来网下眠;*                   酒醉酒醒日复日,网上网下年复年。*                   但愿老死电脑间,不愿鞠躬老板前;*                   奔驰宝马贵者趣,公交自行程序员。*                   别人笑我忒疯癫,我笑自己命太贱;*                   不见满街漂亮妹,哪个归得程序员?
**/

二、好玩

何同学 2020 年还发过一个视频:我用一万行备忘录做了个动画...,看上去确实挺好玩的。

B 站还有个视频 【C 语言】使用控制台播放「使一颗心免于哀伤」,其原理也差不多,用的图片转文本:

甚至还有“华强买瓜”...

扩展阅读

如果你想了解什么是 ASCII 码,以及背后的原理,不妨看看我之前写的科普文章:

  • 简单聊聊字符编码
  • 汉字是如何编码的
  • 简单聊聊 Unicode
  • 手持两把锟斤拷,口中疾呼烫烫烫
  • 编程语言与字符编码

我在《一些有趣的代码注释》里也列了一些图片转 ASCII 的工具,这里重复下:

在线网站:

  • https://asciiflow.com
  • https://drawisland.com
  • https://patorjk.com/software/taag

软件/插件:

  • fun-comment:VSCode 插件,开源在:https://github.com/5A59/fun-comment
  • koro1FileHeader:VSCode 插件,文档齐全,配置灵活,开源在:https://github.com/OBKoro1/koro1FileHeader
  • ASCII Art Studio:一款 Windows 软件
  • Monodraw:macOS 下的软件,在写 Git 教程时用的就是这个

喜欢就点个「赞」吧

原文:让何同学翻车的项目是什么来头?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/839925.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium模块,web自动化,元素定位

1. 元素定位 查看网页元素 右键-->检查from selenium.webdriver.common.by import By # 元素定位包# 使用 test.find_element(By.XXX) 1)定位元素ID--对应浏览器id# 定位一个元素 a = test.find_element(By.ID, value="wrapper") print(a) # 定位多个元素(返回列…

22207321-王郅坚-BLOG2

前言 这三次题目集涉及了不同的知识点、编程技巧及而算法逻辑,从简单的基础题目逐步过渡到复杂的业务逻辑模拟。三次题目集不仅是单单考核独立的编程任务,其实它们有明确的迭代关系,逐步递进并且不断添加复杂度。题目集1是针对前三次的题目再进行迭代升级,题目集2开始了一个…

ffmpeg 时基转换

1:av_q2d(AVRational a)函数av_q2d(AVRational);该函数负责把AVRational结构转换成double,通过这个函数可以计算出某一帧在视频中的时间位置 timestamp(秒) = pts * av_q2d(st->time_base); 计算视频长度的方法: time(秒) = st->duration * av_q2d(st->…

2024-2025-1学号20241309《计算机基础与程序设计》第九周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第九周作业这个作业的目标|作业正文|2024-2025-1学号20241309《计算机基础与程序设计》第九周学习总结 教材学习内容总结 《计算机科学概论》第十章: (一)…

docker网络互通实验

需求:创建两个自定义容器,分别使用自定义网络,使其互通1. 创建容器 docker run -d --name web1 -p 80:80 httpd 2. 创建网络 docker network create --driver bridge --subnet 192.168.1.0/24 net1 docker network create --driver bridge --subnet 171.16.1.0/24 net2 …

Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

第一步:下载Tesseract OCR引擎安装包 访问Tesseract的GitHub发布页面(https://github.com/tesseract-ocr/tesseract)或第三方下载站点(https://digi.bib.uni-mannheim.de/tesseract/),下载适合你操作系统的版本(最新版本)。 推荐使用第三方下载:第二步:详细阐述一下第…

海思 uboot 编译

用默认配置烧录:本文来自博客园,作者:封兴旺,转载请注明原文链接:https://www.cnblogs.com/fxw1/p/18564721

java-BLOG-2

1.前言: 第四次题目集: 这次题目集的第一和第二个题目比较简单,很容易可以做出来,只是用到了一个新的知识点——继承,继承(Inheritance)是面向对象编程的核心特性之一。它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码复用和功能扩展。继承是通过e…

用Java实现AI人脸比对

AI人脸比对技术百度智能云注册 https://login.bce.baidu.com/?account=&redirect=https%3A%2F%2Fconsole.bce.baidu.com%2Fiam%2F#/iam/baseinfo 选择人工智能-->人脸识别认证选择-->立即使用选择免费尝鲜(领取之后五分钟就可以在我的应用里查看了,里面勾选所有的…

NR中各种ID

NCGI(NR CELL Global Identifier):全球标识一个 NR 小区的号码PLMN(Public Land Mobile Network):国家码 MCC(Mobile Country Code)+网络码 MNC(Mobile NetWork Code),此号码唯一标识了某一个国家的某一个运营商NCI(NR CELL ID):标识 NR 中的一个 CELL GNBID:唯一标识一个基…

OOPTA4-6习题集总结

(1)前言 这三次作业算是一个渐进和转折的过程,题目渐渐减少,主要还是要写迭代题,对我来说5-6难度还是蛮大的。4是让我学会了不少更新功能的思路和调试的方法。5-6则让我明白了代码结构的重要性。题目内容主要涉及类的设计等等,以及主要的答题判题程序还有电路系统的编写与…