主页 > 知识库 > python实现图片转字符画的完整代码

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

热门标签:柳州正规电销机器人收费 镇江人工外呼系统供应商 腾讯地图标注有什么版本 高德地图标注字母 深圳网络外呼系统代理商 千呼ai电话机器人免费 外呼系统前面有录音播放吗 申请办个400电话号码 400电话办理费用收费

前言

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

实验楼-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,实现,图片,转,字符,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《python实现图片转字符画的完整代码》相关的同类信息!
  • 本页收集关于python实现图片转字符画的完整代码的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章