Python受欢迎的原因之一就是其计算生态丰富,据不完全统计,Python 目前为止有约13万+的第三方库。
本系列将会陆续整理分享一些有趣、有用的第三方库。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/1FSGLd7aI_UQlCQuovVHc_Q?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_Ecosystem
该开源项目的开发者为一位越南老哥,因此前一段时间的B站何同学视频事件(使用该开源项目但未主动声明),收获了大量的关注和Star,并在github主页中表示了对中国开发者的感谢:
Recently, this repository has been protected and supported by the Chinese community in relation to a copyright issue. A million thanks to Chinese netizens in particular, and the Chinese community in general
https://github.com/vietnh1009/ASCII-generator
cv2
PIL
numpy
需要注意的是,如果本地安装的Pillow库的版本>9.5,运行时会报以下错误,这是因为在新版本的Pillow库中getsize()方法被弃用,需要将代码中的getsize()方法替换为getbbox()或getlength()方法。
AttributeError: 'FreeTypeFont' object has no attribute 'getsize'
下载好代码并安装相关的库以后,只需要一行命令就可以把图片或视频转成ASCII艺术风格。可以直接通过命令行运行,也可以修改对应的py文件来运行。
-
图像转ASCII文本:将输入的图像转换为ASCII字符文本格式,支持多种语言字符集,包括英文、日文、韩文、中文等。对应文件夹中的img2txt.py文件。 -
图像转ASCII图像:将输入的图像转换为ASCII字符图像格式,可选择不同的背景和字符颜色。对应文件夹中的img2img_color.py、img2img.py文件。 -
视频转ASCII视频:将输入的视频转换为ASCII字符视频格式,支持灰度和彩色输出。对应文件夹中的video2video.py、video2video_color.py文件。
使用时,允许用户设置相应参数,例如指定输入图像路径(input)、输出文本路径(output)、字符集模式(mode,复杂字符集包含更多的字符以提高细节表现)、输出字符画的宽度(num_cols)等。具体的参数信息可以查看对应的py文件中的get_args()函数部分:
# img2img_color.py
def get_args():
parser = argparse.ArgumentParser("Image to ASCII")
parser.add_argument("--input", type=str, default="data/input.jpg", help="Path to input image")
parser.add_argument("--output", type=str, default="data/output.jpg", help="Path to output text file")
parser.add_argument("--language", type=str, default="english")
parser.add_argument("--mode", type=str, default="standard")
parser.add_argument("--background", type=str, default="black", choices=["black", "white"],help="background's color")
parser.add_argument("--num_cols", type=int, default=300, help="number of character for output's width")
parser.add_argument("--scale", type=int, default=2, help="upsize output")
args = parser.parse_args()
return args
本次将测试图片(city.jpg)放在data文件夹下:

使用命令行工具将图片转换为彩色的ASCII 图像,并将转换后的图片存放在data文件夹中,输入命令如下:
python img2img_color.py --input data/city.jpg --output data/output.jpg --mode complex --background white --num_cols 100
生成如下图片(output.jpg):



本篇文章来源于微信公众号: 码农设计师