2023.6.3 python小项目 图片转字符画小工具 | 您所在的位置:网站首页 › 像素画转换网站 › 2023.6.3 python小项目 图片转字符画小工具 |
1.项目结构 2.项目需求 用 Python 代码完成图片转字符画小工具3.知识点 1.使用灰度值公式将像素的 RGB 值映射到灰度值,然后在映射到对应的字符上 gray = 0.2126 * r + 0.7152 * g + 0.0722 * b2.使用 argparse 处理命令行参数,目标是获取输入的图片路径、输出字符画的宽和高以及输出文件的路径 parser = argparse.ArgumentParser() # 定义输入文件、输出文件、输出字符画的宽和高 parser.add_argument('file') #输入文件 parser.add_argument('-o', '--output') #输出文件 parser.add_argument('--width', type = int, default = 80) #输出字符画宽 parser.add_argument('--height', type = int, default = 80) #输出字符画高3.用im.getpixel((j, i))获取对应i,j位置上的RGB三色值,再进行处理获取对应的灰度值 #获取对应的灰度值 def get_char(r, g, b, alpha=256): # 判断 alpha 值 if alpha == 0: return ' ' # 获取字符集的长度,这里为 70 length = len(ascii_char) # 将 RGB 值转为灰度值 gray,灰度值范围为 0-255 gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b) # 灰度值范围为 0-255,而字符集只有 70 # 需要进行如下处理才能将灰度值映射到指定的字符上 unit = (256.0 + 1) / length # 返回灰度值对应的字符 return ascii_char[int(gray / unit)]
|
CopyRight 2018-2019 实验室设备网 版权所有 |