开源
https://www.zhihu.com/question/4389622860/answer/35811687913
如果这次风波能让一个三年未更新的项目重新活跃起来,那对于开源社区也是件好事。
赌一次吧。
如果有兴趣的话,点个赞。
超过 50 个的话,我会把此项目 fork 一份到 gitee,继续对其进行维护。
俩赞了,一会看看项目内容和大小,评估一下。
一小时就四赞了,还是凌晨,有点意思。把源码下来,用scc看了下代码量:
Language Files Lines Blanks Comments Code Complexity
───────────────────────────────────────────────────────────────────────────────
Python 7 552 46 16 490 58
Plain Text 3 179 18 0 161 0
License 1 21 4 0 17 0
Markdown 1 119 23 0 96 0
───────────────────────────────────────────────────────────────────────────────
Total 12 871 91 16 764 58
应该可以挺快消化。接下来看看它的当前功能和维护情况。
在 pypi 未找到发布版。项目内没找到功能说明文档。看下代码,utils 应该是公用部分,alphabets 是各种语言的文字。其他几个脚本看起来是 图片(image) 和视频(video) 转为 图片或文字,感觉有不少类似内容,重构空间不小。
打算尝试最基本的图片转文字功能,用中文文字。
依赖项
- py3.6,机上只有 3.7,先碰一下运气吧。
- cv2 网上搜了一下才发现是这个:
% pip install opencv-python
卡在这步下不去:Building wheel for opencv-python (pyproject.toml) ... |
参考此文 在mac m1本 py3.7 上,费时二十多分钟构建;在老机器(最新版deepin)上,py3.9下,不用构建瞬间装好。
- PIL:
pip install pillow
已装 - numpy已装
运行
python img2txt.py
,成功得到文本文件 output.txt 如下:
三小时十赞~
看了 data/input.jpg 112K,生成的文本文件 6K,比想象中的压缩比小些,不过也算可观,尤其如果压缩后估计能再小几倍。
运行如下生成中文字符图:
% python img2img.py --language chinese
img2img.py:44: DeprecationWarning: getsize is deprecated and will be removed in Pillow 10 (2023-07-01). Use getbbox or getlength instead.
char_width, char_height = font.getsize(sample_character)
貌似这几个脚本是新老版本并存,待研究。而且如何生成文本文件而不生成图片呢?
四小时二十赞~
粗看了一遍项目历史issue 和代码,暂未看到转文本的语言选项,虽然首页说明支持:
- Given input image, we could generate ASCII art stored under text format in different languages (.txt)
不过既然 img2img.py 能生成图片,估计修改后可以支持生成文本文件。
初步评估项目状态
- 最基本功能至少在 py3.6-3.9 仍有效。
- 无自动测试代码,因此需手工测试。
- 无pypi发布版。
- 文档与实际可能有些许出入
- 作者在issue中回应是2019年,最近一次代码提交在2021年
开源许可证
这是我一直不甚了解的领域。至今维护最久的项目也只是当初随手挑了一个。如有误解请不吝赐教。
根目录下 LICENSE 是原版 MIT。fonts/DejaVu Fonts License.txt
与该系列字体相关,略读下似乎与 MIT 类似。
还有两个字体文件不确定授权情况:
- fonts/simsun.ttc
- fonts/arial-unicode.ttf
图片、视频文件不确定版权情况:
- data/input.jpg 貌似来源于某古装剧
- data/input.mp4 实拍多名未知人物交谈
如果直接 fork 不动任何原资源和许可证的话,是否没有问题?
五小时 34 赞~
在gitee发现一位已经fork了该项目,尝试接触中。
如果着手维护,一些个人想到的非功能修改任务,欢迎补充:
- 确认所有资源相关许可,如果无法确认则替代或删除。感谢评论区:“这两个字体都是微软系统自带的,原则上不能二进制重发布。建议换成Noto之类的开源字体。”
- 完善中文文档
- 结合现有演示,添加运行示例
- 逐步添加常见实用问题与解决
- 在 pypi 发布版本,便于试用
七小时 53 赞~
着手准备fork。刚发现原库clone下来后有 1.16 GB。本来最好是保留原始 git 历史,但为方便开发考虑,打算在本地清理过后尽量减小体积后再push第一个提交,这样参与者下载会快不少。当然会在首页说明从何而来并保留原始许可证。
优先考虑清理的资源:
- demo下的gif 500M 左右
- 有许可证潜在问题的字体(见上)
- data/input.mp4
如果代码中用到,会附加文档说明出处,方便开发者按需取用。
想了想还是先把原库直接导入。作为起点先开始商讨细节吧:
https://gitee.com/zhishi/ASCII-generator/
九小时 62 赞
已建 第一个issue。
美西时间晚十点,下线休息,明儿见。
11-20:79赞
原仓库有一个新pr,看看作者是否会继续维护。如果是自己已不用很久的工具,很少会重新开始维护,尤其是意识到为何而火的情况下。
个人对此项目有兴趣的原因:
- python 时不时会用
- 希望探索低成本创作图片、动画的方法
- 尝试用更低维护成本复活开源库,这个体量比较合适
- 先着手清理,有阶段进展会继续更新。
刚看到作者分享了 何同学与他的电邮交流,原库是否会继续维护待观察。
在此前 gitee 任务仍会抽空推进。