溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何將圖片轉換為字符畫?

發(fā)布時間:2020-06-23 10:20:08 來源:億速云 閱讀:157 作者:清晨 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關Python如何將圖片轉換為字符畫?,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

題目意思是,程序讀入一個圖片,以txt格式輸出圖片對應的字符畫,如圖所示:

Python如何將圖片轉換為字符畫?

以下是Python代碼:

# coding:utf-8 
 
# 為一張圖片生成對應的字符集圖片 
 
from PIL import Image 
import argparse 
 
# 命令行輸入參數處理 
parser = argparse.ArgumentParser() 
 
parser.add_argument('file')  # 輸入文件 
parser.add_argument('-o', '--output') # 輸出文件 
parser.add_argument('--width', type=int, default=80) # 輸出字符畫寬 
parser.add_argument('--height', type=int, default=80) # 輸出字符畫高 
 
# 獲取參數 
args = parser.parse_args() 
 
IMG = args.file 
WIDTH = args.width 
HEIGHT = args.height 
OUTPUT = args.output 
 
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]&#63;-_+~<>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) 

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

Python如何將圖片轉換為字符畫?

關于Python如何將圖片轉換為字符畫?就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI