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

python特效之字符成像詳解

 更新時(shí)間:2022年01月11日 15:54:00   作者:autofelix  
這篇文章主要為大家介紹了python特效之字符成像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

一、特效預(yù)覽

處理前

處理后

細(xì)節(jié)放大后

二、程序原理

  • 將圖片所在的 256 的灰度映射到相應(yīng)的字符上面
  • 也就是 RGB 值轉(zhuǎn)成相應(yīng)的字符
  • 然后再將字符其寫入文件即可

你聽懂了嗎 

三、程序源碼

#!/usr/bin/env python
# encoding: utf-8
from PIL import Image
class charsetPicture:
    '''
     This is a main Class, the file contains all documents.
     One document contains paragraphs that have several sentences
     It loads the original file and converts the original file to new content
     Then the new content will be saved by this class
    '''
    def __init__(self):
        self.char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
        self.width = 160
        self.height = 60
    def hello(self):
        '''
        This is a welcome speech
        :return: self
        '''
        print('*' * 50)
        print(' ' * 18 + '圖片轉(zhuǎn)換為字符圖片')
        print(' ' * 5 + 'Author: autofelix  Date: 2022-01-07 13:14')
        print('*' * 50)
        return self
    def get_char(self, r, g, b, alpha=256):
        '''
        將256灰度映射到70個(gè)字符上,也就是RGB值轉(zhuǎn)字符的函數(shù)
        :alpha: 透明度
        :return: self
        '''
        if alpha == 0:
            return ' '
        length = len(self.char)
        gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
        unit = (256.0 + 1) / length
        return self.char[int(gray / unit)]
    def run(self):
        '''
        The program entry
        '''
        im = Image.open('assets/aaa.jpeg')
        im = im.resize((self.width, self.height), Image.NEAREST)
        txt = ''
        for i in range(self.height):
            for j in range(self.width):
                txt += self.get_char(*im.getpixel((j, i)))
            txt += '\n'
        print(txt)
        with open('handler.txt', 'w') as f:
            f.write(txt)
if __name__ == '__main__':
    charsetPicture().hello().run()

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評論