python3 image图片转字符画

    xiaoxiao2023-11-01  154

    from PIL import Image #导入PIL IMG='d.jpg' width=60 heigth=45 ascii_char=list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") def get_char(r,g,b,alpha=256): if alpha==0 : return ' ' length=len(ascii_char)#计算准备替换的字符长度 gray=int(0.2126*r+0.7152*g+0.0722*b)#把图片转换成灰度值 unit=(256.0+1)/length#灰度值与字符长度的比值 确定字符 #ascii_char 把ascii转换成字符 return ascii_char[int(gray/unit)] if __name__=='__main__': im=Image.open(IMG)#打开图片 #从新定义图片大小 质量 im=im.resize((width,heigth),Image.NEAREST) txt=""#空字符 写入前准备 for i in range(heigth): for j in range(width): #*im.getpixel返回3个参数[元组] *号对元组拆分 对应RGB值 txt+=get_char(*im.getpixel((j,i)))#循坏获取像素\写入ascii字符的值 txt+='\n' print(txt)#打印出结果 #保存文件 with open("output.txt",'w')as f: f.write(txt)

     

    最新回复(0)