Python实现将图片转字符画
生活随笔
收集整理的這篇文章主要介紹了
Python实现将图片转字符画
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from PIL import Image # PIL 是一個 Python 圖像處理庫ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
# 是我們的字符畫所使用的字符集,一共有 70 個字符,字符的種類與數量可以自己根據字符畫的效果反復調試的WIDTH = 60 # 字符畫的寬
HEIGHT = 45 # 字符畫的高# 將256灰度映射到70個字符上,也就是RGB值轉字符的函數:
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) / lengthreturn ascii_char[int(gray / unit)] # 不同的灰度對應著不同的字符# 通過灰度來區分色塊if __name__ == '__main__':img = 'C:/Users/HAOHAO/Desktop/1.jpg' # 圖片所在位置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("C:/Users/HAOHAO/Desktop/output.txt", 'w') as f:f.write(txt)
修改照片的路徑以及輸出的路徑。
運行前:
運行后:
建議用純色背景圖片更好。
代碼非原創,我只是代碼的搬運工。
總結
以上是生活随笔為你收集整理的Python实现将图片转字符画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pycharm Pro 2018.2 汉
- 下一篇: 卸载64位python3.6再安装32位