Python實現PIL將圖片轉成字符串

 

# -*- coding: utf-8 -*-
# author:baoshan

from PIL import Image, ImageFilter

codeLib = '''@#$%&?*aeoc=<{[(/l|!-_:;,."'^~` '''
count = len(codeLib)
print(count)


def trans_photo(image_file):
    # 將彩色圖片轉化爲黑白的圖片
    image_file = image_file.convert("L")
    codePic = ''
    # 循環圖片的寬高,並獲得每一像素的灰度值
    for h in range(0, image_file.size[1]):
        for w in range(0, image_file.size[0]):
            gray = image_file.getpixel((w, h))
            # 將對應的灰度值映射到字符
            codePic = codePic + codeLib[int(((count) * gray) / 256)]
        # 實現每行結尾處自動換行
        codePic = codePic + '\r\n'
    return codePic


def main():
    filename = '114x156.jpg'
    fp = open(filename, 'rb')
    image_file = Image.open(fp)

    image_file = image_file.resize((int(image_file.size[0] / 2), int(image_file.size[1] / 4)))

    tmp = open('w2.txt', 'w')
    tmp.write(trans_photo(image_file))
    tmp.close()


if __name__ == '__main__':
    main()

 

 

忘了從哪裏轉載的了,若有侵權,請告知刪除學習

【目前純學習用】spa

 

謝謝code

相關文章
相關標籤/搜索