python图片转字符

首先安装pip
$ sudo apt-get install python-pip python-dev build-essential

$ sudo pip install –upgrade pip

$ sudo pip install –upgrade virtualenv

#coding=utf-8
#灰度值公式:灰度值 = 0.2126 * r + 0.7152 * g + 0.0722 * b

from PIL import Image
import argparse

#获取参数
IMG = '/home/xuhang/桌面/new/python小程序/画转字符/1.png'
WIDTH = 80
HEIGHT = 60
OUTPUT = '/home/xuhang/桌面/new/python小程序/画转字符/p2c.txt'
#所用的字符
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")


# 将256灰度映射到70个字符上
def get_char(r,b,g,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
    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

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

原图:
这里写图片描述
结果



                                 $$$%aQQQb#$$                                   
                              $#r[[[aI (X[|" (#$                                
                           %1[[[[[rp     ap    "|1$                             
                         $|[[[[[[[h       n     p[[q$                           
                      $$[[[[[[[[[[     Cf"h h"h  |[[[%                          
                     $t[[[[[[[[[[[    (  hp-   I U[[[[$                         
                    %[[[[[[[[[[[ta(       pO     -  zZ[%                        
                   $[[[[[[[[[[q(  C}      "(kZqhf     (X$                       
                  $[[[[[[[[1O       p> Ih }Z   ZW    Cz>>  C                    
                 $[[[[[[[[M    -OO-"      (ZZZZZ% h         n                   
                 q[[[[[[[a          >Cp-   MZZZm>                               
                $[[[[[[[#                    C-   fpnn-----                     
                #[[[[[[1"   nn----           IO             >                   
                [[[[[[uC                      z             $                   
               $[[[[[[h                       }     >nhC-  $                    
               $[[[[[[     WZZZZZZqk%omd#%O(" -         pI                      
               $[[[[[r     bZZb%#wZZZZZZZZZZZZmbo&&pW&oa  -                     
               $[[[[[a     kZZZZZZZZZZZZZZZZZZZZZZZZZZZI  C                     
               $[[[[[a     WZZZZZZZZZZZZZZZZZZZZZZZZZZ&   $                     
               $[[[[[p     }ZZZZZZZZZZZZZZZZZZZZZZZZZa   O$                     
                r[[[[a      %m&OOOOOOmWaZZZZZZZZZZZZk    $                      
                #[[[[U      I#OOOOOOOOOOoqZZZZZZZZZZ-   -                       
                $[[[[[}      -OOOOOOOOOOOOMZZZZZZZd"    $                       
                 Z[[[[&"      OOOOOOOOOOOOO%ZZZZZq>    n                        
                 $1[[[[q       "kOOOOOOOOOOObZZZ&     }                         
                  B[[[[[-        %OOOOOOOOOO%ZZh      $                         
                   #[[[[1"         IBmOOOOOOB"      >$                          
                    r[[[[b            z&o&O"       >$                           
                     Z[[[[X    }O&adZ%     bZwo&%wZZM                           
                      $r[|#aZZZZmboo*       zM*Z0Z@-$                           
                       $&ZZZZWZ1[[[[-        aJzzzZ">                           
                       $qW$1[[[[[[[["        zzzCZz" $                          
                        %[[[[[[[[[[[C       -zzz0zb  $                          
                        $[[[[[[[[[[[[C     ("nMq$n   $                          
                         [[[[[[[[[[[#"#} -h   >---   p                          
                         r[[[[[[Uq[o Ip>             f  #    "$                 
                         q[[1Q#t[[Xf -               n$}       $                
                         $[[[[[[[[a                  (         "                
                         $[[[[[[[[a   n             fn                          
                          [[[[[[[[Uf   -           (O                           
                    $oZw$ U[[[[[[[[X    n(       z} -          I                
                    &ZZZZ$a[[[[[[[[[h     "nCOn(   q           C                
                    MZZZZ$Q[[[[[[[[[[q           p[r           $                
                    $kZZ@ |[[[[[[[[[[[rz       -q[[[          n                 
                         $[[[[[[[[[[[[[[[[1r[[[[[[[[(        }                  
                         $[[[[[[[[[[[[[[[[[[[[[[[|QaB       "$                  
                       $(a[[[[[[[[[[[[[[[[[u%$$      $C   }$                    
                      $> o[[[[[[[[[[[[[[[a$                                     
                     $   >[[[[[[[[[[[[&$                                        
                     $    n[[[[[[[[u$                                           
                     p     C1[[[[r$                                             
                     $        fp8                                               
                     $           $                                              
                      n          (                                              
                      $O         z                                              
                        $(      ($                                              
                          $*nnC$                                                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值