Pillow库的枯燥玩法

将图片字符化

Python作为一款“办公自动化”的语言,备受职场青年们的喜爱,对于Python的学习也引发了一股热潮。作为一位想要尽快进入职场的励志青年,我也是仓促的顺流而进。

J1wdat.jpg

在学习Python时,我注意到了一个很有趣的库:pillow。它可以将图片中的每一项素转换成自定义的字符,这简直是装*打发时间的神器。

😀当然,这不是什么神奇的操作了,应该说这种是很落后的一种技术了。但pillow的用处可不止这一种,说不准下次有了灵感。整体的思路是将图片灰度处理,得到每个像素的灰度值(0~255),然后进行字符的替换。


首先,电脑💻是要有Python运行环境的,这里不详细赘述,不清楚🔍。

  1. 使用cmd命令安装pillow

    pip install pillow

  2. 使用Python Shall,进行命令操作

    #使用pillow库中的Image
    from PIL import Image
    
    #demo.jpg是放在Shall文件目录下的,可以自加路径
    img = Image.open("demo.jpg")     
    
    #将彩图变灰色
    out = img.convert("L")
    
    out.show()
    
  3. 我们在选取照片的时候尽量不要太大像素的,可以进行适当地压缩,这样可以帮助我们进行打印。

    out.size
    #(500, 282),这是demo照片的尺寸
    
    width,height = out.size
    
    #将照片进行1/4缩小
    out = out.resize((int(width * 0.5),int(height * 0.25)))
    width,height = out.size
    
  4. 字符要尽量选择对比明显的,这样更容易显示

    asciis = "@%#*+=-. " #最后一位是空格
    
    for row in range(height):
        for col in range(width):
            gray = out.getpixel((col,row))
            texts += asciis[int(gray / 255 * 8)]
            texts += "\n"
    #使用循环把像素进行替换
    
  5. 最后输出到你指定的位置

    #我是输出到TXT文件里
    with open("C:/Users/Mather/Desktop/01.txt","w") as file:
    	file.write(texts)
    
  6. 结果

    这是原图

    J16pSP.md.png

    这是TXT文件截图

    J16dOO.md.png


    以上就是这次的分享,学到即是赚到。当然,重要的是可口可乐

posted @ 2020-04-20 21:14  zhaojia1024  阅读(141)  评论(0)    收藏  举报