• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python实现图片转字符画的完整代码

    前言

    最初是在实验楼看到的一个小实验

    实验楼-Python 图片转字符画

    原文是需要通过命令行运行程序

    这里改为直接运行,需要固定一些参数

    运行平台: Windows

    Python版本: Python3.6

    IDE: Sublime Text

    1、实验准备

    pillow库的安装

    pip install pillow
    
    
    

    2、实验原理

    字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色,字符的种类越多,可以表现的颜色也越多,图片也会更有层次感。

    最终显示的是黑白色的字符画,那么彩色的图片怎么转换成黑白的呢?这里就需要了解灰度值的概念了。

    span style="font-size:16px;">灰度值:指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图片也称灰度图像。/span>

    我们利用下面的公式将像素的RGB值转换成灰度值:

    span style="color:#ff0000;">gray = 0.2126 * r + 0.7152 * g + 0.0722 * b/span>

    用不同的字符代表不同的灰度值,字符的种类和数量可以根据自己需要的效果进行调整,最好从前往后可以看到明显的变化,最后一个字符为空格符最佳:

    ascii_char = list("$@B%8WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~>i!lI;:,\"^`'. ")

    3、完整代码

    #-*- coding:utf-8 -*- 
    from PIL import Image 
     
    IMG='D:\Code\python\\test1\\ascii_dora.png' 
     
    WIDTH=60 
    HEIGHT=45 
     
    ascii_char = list("$@B%8WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~>i!lI;:,\"^`'. ") 
     
    #将256灰度映射到70个字符上 
    def get_char(r,g,b,alpha=256):#alpha透明度 
     if alpha==0: 
      return ' ' 
     length=len(ascii_char) 
     gray=int(0.2126*r+0.7152*g+0.0722*b)#计算灰度 
     unit=(256.0+1)/length 
     return ascii_char[int(gray/unit)]#不同的灰度对应着不同的字符 
     #通过灰度来区分色块 
     
    if __name__=='__main__': 
     im=Image.open(IMG) 
     im=im.resize((WIDTH,HEIGHT),Image.NEAREST) 
     txt="" 
     for i in range(HEIGHT): 
      for j in range(WIDTH): 
       txt+=get_char(*im.getpixel((j,i))) 
      txt+='\n' 
     
     print (txt) 
     #写入文件
     with open("output.txt",'w') as f: 
      f.write(txt) 
    

    4、结果

    总结

    到此这篇关于python实现图片转字符画的文章就介绍到这了,更多相关python图片转字符画内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python实现图片转字符画
    • Python 实现图片转字符画的示例(静态图片,gif皆可)
    • 基于python实现图片转字符画代码实例
    • Python实现图片转字符画的代码实例
    • 一百行python代码将图片转成字符画
    • Python将图片转换为字符画的方法
    • python Opencv将图片转为字符画
    • Python实现图片转字符画的示例
    • Python实现图片转字符画的示例代码
    • 从零学python系列之教你如何根据图片生成字符画
    • Python简单实现图片转字符画的实例项目
    上一篇:利用Python实现最小二乘法与梯度下降算法
    下一篇:python利用proxybroker构建爬虫免费IP代理池的实现
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python实现图片转字符画的完整代码 python,实现,图片,转,字符,