经常在 b 站、贴吧、steam 等平台评论区看到用字符组成的图片,像下面这种,算是评论区写生的一种(还有些用 emoji 或者 ascii 写生)。
想着这种东西应该不是一个字符一个字符的敲出来的,但苦于不知道用什么关键词搜索,一直没有找到生成工具,索性就自己写一个吧。
思路是这样的,灰度化->尺寸变化->二值化->分块映射字符。图片处理操作都很简单,字符映射一开始准备写 255 条映射(像这样的八饼字符有 255 个,除去一个空白字符),后来发现这些字符排列是有序的,把每个点当成二进制位,所表示的数字就是该字符序号与第一个空白字符序号的差。二进制位顺序大概是下面这样的。
0 4 1 5 2 6 3 7
做出图片转文字之后,既然视频是一帧一帧图片组成的,又做了一个视频转文字功能,还可以在支持 unicode 的终端(我用的 windows terminal)播放视频,具体内容欢迎大家去 github 查看。
github 仓库地址: https://github.com/bestcondition/image2text
欢迎大家使用本工具在评论区写生!
![]() | 1 koor 2022-05-07 23:14:18 +08:00 这个学名叫 ascii art ,另外本帖的 tag 有点意思 |
2 bestcondition OP 大家别只加 star ,留个评论呗 |
3 bestcondition OP @koor 原来如此,刚去搜了一下 ascii art 。 我也想吐槽一下这个 tag ,怎么改呀,第一次发帖,没找到加 tag 的功能 |
4 Hansah 2022-05-08 07:58:22 +08:00 via Android ???我以为回到 20 年前了 十几二十年前还有人没见过 ASCII 表情和动画的吗? |
5 HENQIGUAI 2022-05-08 10:32:33 +08:00 有屏幕的地方就有 Bad apple ! |
![]() | 6 mxalbert1996 2022-05-08 11:10:58 +08:00 via Android 其实已经有不少工具可以生成 ASCII Art ,其中比较有名的是 libcaca: https://github.com/cacalabs/libcaca 想用 ASCII Art 播放视频的话可以用 mpv 的 caca 输出: https://mpv.io/manual/stable/#video-output-drivers-caca |
![]() | 7 KMpAn8Obw1QhPoEP 2022-05-08 13:15:28 +08:00 via Android 烂苹果好评 |