首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ASCII-generator这库是干嘛的?

ASCII-generator这库是干嘛的?

作者头像
Crossin先生
发布2026-06-25 19:48:38
发布2026-06-25 19:48:38
900
举报

大家好,欢迎来到 Crossin 的编程教室。

我们都知道,系统的控制台是无法显示图片和视频的。这对于经常需要在服务器上摸鱼刷视频进行开发运维的朋友来说,可能会有一些不方便。

于是就有人想出了一个办法,把图片转成ASCII码的字符阵列,这样就能在控制台中显示出来了。

这种方法的原理其实挺简单,就是将图片划分成许多小格子,每个格子再根据其灰度值,对应到一组深浅不一的字符上。

我以前也写过类似的一个程序 >>> 超不清视频播放器

不过相比于实用价值,这种转换更多时候是出于艺术风格化的目的。

而如果你也想在自己的视频或者课程作业中用上这样的效果,很简单,直接用别人写好的开源工具即可。比如 github 上的这个 ASCII-generator,只需要一行命令,就可以把图片或视频转成字符阵列。

项目地址:

https://github.com/vietnh1009/ASCII-generator

ASCII-generator是一个Python程序,所以要使用它,首先确保你的电脑上已经安装好了Python环境。(还没有安装Python的请参考入门教程中「安装」一节)

然后打开项目的Github页面,复制项目地址,通过git clone命令将项目克隆到本地。

或者直接下载zip压缩包到本地后解压。

接下来,你就可以运行代码进行转换了。

项目中的 img2txt,img2img,video2video 分别对应着图片转文本,图片转图片,和视频转视频。

后面带 _color 的是转成彩色的版本。

此外,你还可以通过运行参数,指定输入和输出的文件地址,字符数量的多少,背景色,阵列的宽度等等。

代码语言:javascript
复制
python video2video_color.py --input test.mp4 --mode complex --background white --num_cols 50

之前有博主因为在视频中用到了这个项目而没有主动说明,受到了不少批评。

那么如果你也想用网上的代码,应该注意些什么呢?

首先你需要明确一点,开源软件并不等同于免费软件,更不是随便想怎么用就怎么用。开源软件的使用规范取决于这个软件使用了怎样的开源许可证。开源许可证有很多种,ASCII-generator使用的是其中相对宽松的一种:MIT许可证。它允许免费使用,也允许商用、修改和销售,但唯一的要求就是在代码中保留署名和原有的MIT声明。

那么问题来了,如果我拿它处理了一张图片,并把结果用在了我的视频里,是否需要说明呢?

理论上来说,如果只是用到代码处理的图片,即代码的衍生产物,不声明也并不违反协议。

但如果你发布的是代码或是基于代码构建的软件产品,是需要的。甚至像用到 numpy、requests 这样的底层库,也应当在介绍或附加文档中注明。比如这是某知名聊天软件在许可协议中列出其用到的开源代码。

而当你代码的大部分核心功能都是基于别人的代码时,于情于理都更应该给出明确的来源说明,而不是含糊其辞,让别人误解这完全是你自己编写的。

关注编程教室较早的朋友应该知道,我本人就是类似行为的受害者,代码曾经被全网营销号不署名搬运,甚至还有一些机构还拿去作为教学案例 >>> 一天之内我被全网上百个编程营销号抄袭!记录一下这个魔幻的时刻

所以,如果你想成为一名体面的开发者,请养成良好习惯,保留别人代码中的版权信息,遵守授权许可的要求,并尽可能注明所用到的开源代码。

互联网上的任何一行代码都不是天上掉下来的,背后都是开发者的付出。使用开源,尊重开源,参与开源,社区将因你而更美好。

如果本文对你有帮助,欢迎点赞、评论、转发。你们的支持是我更新的动力~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档