Python 图片转ASCII码

转载 2017年12月13日 00:57:02


#encoding=utf-8

from PIL import Image

IMG = "D:/test.jpg"
WIDTH = 180
HEIGHT = 100
OUTPUT = "D:/test.txt"

#<-----------------处理图片-------------->

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

#字符与RGB的对应的映射关系
def get_char(r,g,b,alpha=256):
    if alpha == 0 :
        return ' '
    lenght = len(ascii_char)
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
    unit = (256.0 + 1)/lenght
    return ascii_char[int(gray/unit)]

#如果是自己执行的话,就执行下面的,如果是作为导入模块就不执行
if __name__ == '__main__':
    im = Image.open(IMG)
    #这里是转换图片的大小,然后第二个参数表示图片的质量,一共有4种,低质量Image.NEARSET,双线性Image.BILINEAR,三次样条插值Image.BICUBIC,高质量Image.ANTIALIAS
    im = im.resize((WIDTH,HEIGHT),Image.NEAREST)
    txt = ""

    for h in range(HEIGHT):
        for w in range(WIDTH):
            #im.getpixel:根据坐标取得RGB对应的r,g,b三个值,这里的getpixel((i,j))的两个括号非常重要
            txt += get_char(*im.getpixel((w,h)))
        txt += '\n'
    print(txt)

#字符输出到文件
if OUTPUT:
    with open(OUTPUT,'w') as f:
        f.write(txt)
else:
    with open("output.txt",'w') as f:
        f.write(txt)

这里写图片描述

**from PIL import Image
PIL 若无此库
解决: pip install pillow**


PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

安装Pillow
如果安装了Anaconda,Pillow就已经可用了。否则,需要在命令行下通过pip安装:

$ pip install pillow

Pillow - 廖雪峰的官方网站 http://t.cn/RK0roV6

Python——图片转字符小工具

from PIL import Image#灰度与字符的映射 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]...
  • ChenTianSaber
  • ChenTianSaber
  • 2016-08-22 21:53:14
  • 553

用Python把图片转换为ASCII字符的程序

(说明: 这是我2007年写在cublog(China Unix)上的博客,现在把它转到这里来.)         很早就有人在QQ上发表字符串构成的图片,虽然看上去乱七八糟,但是总算还是图片,而且...
  • hackjames
  • hackjames
  • 2011-11-07 14:30:56
  • 2366

Win7,64位,Python中对图片进行 Base64 编码和解码

Base64,简单地讲,就是用 64 个字符来表示二进制数据的方法。这 64 个字符包含小写字母 a-z、大写字母 A-Z、数字 0-9 以及符号"+"、"/",其实还有一个 "=" 作为后缀用途,所...
  • Huhuang
  • Huhuang
  • 2017-02-07 16:52:05
  • 5679

python学习之PIL库学习---制作ASCII风格图片

今天闲来无事在网上发现了一种奇特的图片---ascii图片,如图 (其实这是我做的成品) 放大可以发现,其实这张图完全是由字符按照不同灰度构成的(如图) 这项技术在7-8年前很时髦,于是我准备研究...
  • david500834
  • david500834
  • 2015-01-12 13:34:03
  • 718

ASCII 图形

================================================================       .-~~~~-.       / __   /      ...
  • thecrazyboy
  • thecrazyboy
  • 2007-03-17 13:33:00
  • 666

图片转换字符

****图片转换字符从实验楼学习的图片转换字符 **安装pip后,pip install pillow 开始代码ascii.pyfrom PIL import Image import argpa...
  • github_35957188
  • github_35957188
  • 2016-10-10 20:08:38
  • 1196

Python 图片转成字符图

来源:实验楼 来源地址:实验楼-Python 图片转字符画思路:将图片R,G,B转换成灰度图,再映射到定义好的字符串上。背景知识: ①PIL Imagefrom PIL import Image ...
  • qq_20824977
  • qq_20824977
  • 2017-12-28 12:12:36
  • 53

python将图片转换为字符画

写代码之前需要安装pillow库 至于如何安装可以百度 原文链接 原文是需要通过命令行运行程序 当然也是可以的 我改为直接运行了 需要固定一些参数 当然 也可以设置变量 从控制台输入  #__auth...
  • u011699990
  • u011699990
  • 2016-09-12 19:56:28
  • 1606

Python 实现图片转换为字符画

主要使用 pillow   如果没有安装 使用 pillow install pillow 安装一下 看代码: from PIL import Image import argparse #字符画所...
  • wangming520liwei
  • wangming520liwei
  • 2017-08-24 16:24:29
  • 168

Python 图片转ASCII码

#encoding=utf-8from PIL import ImageIMG = "D:/test.jpg" WIDTH = 180 HEIGHT = 100 OUTPUT = "D:/test.t...
  • yulinxx
  • yulinxx
  • 2017-12-13 00:57:02
  • 258
收藏助手
不良信息举报
您举报文章:Python 图片转ASCII码
举报原因:
原因补充:

(最多只允许输入30个字)