欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python將圖片轉(zhuǎn)換為字符畫(huà)的方法

 更新時(shí)間:2020年06月16日 11:07:09   作者:行者小朱  
這篇文章主要為大家詳細(xì)介紹了Python將圖片轉(zhuǎn)換為字符畫(huà)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近在學(xué)習(xí)Python,看到網(wǎng)上用Python將圖片轉(zhuǎn)換成字符畫(huà)便來(lái)學(xué)習(xí)一下

題目意思是,程序讀入一個(gè)圖片,以txt格式輸出圖片對(duì)應(yīng)的字符畫(huà),如圖所示:

以下是Python代碼:

# coding:utf-8 
 
# 為一張圖片生成對(duì)應(yīng)的字符集圖片 
 
from PIL import Image 
import argparse 
 
# 命令行輸入?yún)?shù)處理 
parser = argparse.ArgumentParser() 
 
parser.add_argument('file')  # 輸入文件 
parser.add_argument('-o', '--output') # 輸出文件 
parser.add_argument('--width', type=int, default=80) # 輸出字符畫(huà)寬 
parser.add_argument('--height', type=int, default=80) # 輸出字符畫(huà)高 
 
# 獲取參數(shù) 
args = parser.parse_args() 
 
IMG = args.file 
WIDTH = args.width 
HEIGHT = args.height 
OUTPUT = args.output 
 
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") 
 
 
# 將256灰度映射到70個(gè)字符上 
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 
 
 # 字符畫(huà)輸出到文件 
 if OUTPUT: 
  with open(OUTPUT,'w') as f: 
   f.write(txt) 
 else: 
  with open("output.txt", 'w') as f: 
   f.write(txt) 

在輸出文件中得到如下字符集:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論