[Python]图片转字符画——这就是我的表情!!!!!!

背景

偶尔看到一些视频,他们把图片转字符画,平常也没有去关注,今天来捣鼓一下。
研究了一下发现超级简单。
网上也有很多教学。


代码实现

from PIL import Image
# 表示字符颜色,由深到浅(可自定义)
ascii_chars = " .,:-=+o*Oθ%@■▇"
# 像素点 转 字符
# 根据像素点颜色 选取 字符
def pixel_to_char(pixel):
    gray = int(0.2126 * pixel[0] + 0.7152 * pixel[1] + 0.0722 * pixel[2])
    unit = 256 / len(ascii_chars)
    return ascii_chars[int(gray / unit)]
    
# 图片 转 字符画
# 参数:
#     image_path:图片路径,
#	  output_width : 图片大小
def image_to_ascii(image_path, output_width=100):
    img = Image.open(image_path)
    width, height = img.size
    output_height = int(output_width * height / width * 0.55)
    img = img.resize((output_width, output_height))
    ascii_img = ''
    for i in range(output_height):
        for j in range(output_width):
            pixel = img.getpixel((j, i))
            ascii_img += pixel_to_char(pixel)
        ascii_img += '\n'
    return ascii_img
# 调用
print(image_to_ascii(你图片的路径, 180))

效果

[Python]图片转字符画——这就是我的表情!!!!!!_第1张图片
[Python]图片转字符画——这就是我的表情!!!!!!_第2张图片
[Python]图片转字符画——这就是我的表情!!!!!!_第3张图片
[Python]图片转字符画——这就是我的表情!!!!!!_第4张图片
[Python]图片转字符画——这就是我的表情!!!!!!_第5张图片

你可能感兴趣的:(其他,python,开发语言,图片转字符画)