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

如何用Python將圖片轉(zhuǎn)為字符畫

 更新時間:2023年03月24日 15:19:15   作者:GSGundam  
本文主要介紹了用Python將圖片轉(zhuǎn)為黑白字符畫的方法,使用ascii字符把圖片轉(zhuǎn)為黑白字符畫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

今天打算玩?zhèn)€好玩的,也是基于一個優(yōu)秀的圖像處理庫——PIL,使用ascii字符把圖片轉(zhuǎn)為黑白字符畫。

首先有個問題,就是模擬灰度,這里有個公式:

1
Gray = 0.2126 × R + 0.7152 × G + 0.0722 × B

這樣就好辦了。當然,RGB模式下,256x256x256的顏色范圍雖然被轉(zhuǎn)換成了256的灰度范圍,字符還是不好一一對應。我們可以使用一個字符對應多個灰度的方式來解決。

記得要先安裝PIL庫,其中:

如果是Python 2,運行 pip install PIL。

如果是Python 3,運行 pip install pillow。

接下來直接上代碼吧:

from PIL import Image
#設置顯示的字符集
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")    
WIDTH = 130
HEIGHT = 50
def get_char(r,g,b,alpha = 256):
    if alpha == 0:
        return ' '
    length = len(ascii_char)
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
    unit = (255.0 + 1)/length
    return ascii_char[int(gray/unit)]
if __name__ == '__main__':
    img = "E:/WindowsDocuments/G7/Desktop/1.png"
    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)

如果想要輸出到文件,可以在定義的部分,加上想要保存的文件名 OUTPUT = 'output.txt',然后在最后寫進去:

with open(OUTPUT, 'w') as f:
    f.write(txt)

最后,我們得到了這個:

到此這篇關(guān)于如何用Python將圖片轉(zhuǎn)為字符畫的文章就介紹到這了,更多相關(guān)用Python將圖片轉(zhuǎn)為字符畫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用python畫個小豬佩奇的示例代碼

    使用python畫個小豬佩奇的示例代碼

    本文給大家較詳細的介紹了使用python畫個小豬佩奇的示例代碼,感興趣的朋友一起看看吧
    2018-06-06
  • flask實現(xiàn)python方法轉(zhuǎn)換服務的方法

    flask實現(xiàn)python方法轉(zhuǎn)換服務的方法

    flask是一個web框架,可以通過提供的裝飾器@server.route()將普通函數(shù)轉(zhuǎn)換為服務,這篇文章主要介紹了flask實現(xiàn)python方法轉(zhuǎn)換服務,需要的朋友可以參考下
    2022-05-05
  • Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器示例

    Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器示例

    這篇文章主要介紹了Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器,結(jié)合實例形式分析了Python用戶驗證裝飾器具體定義及使用技巧,需要的朋友可以參考下
    2018-12-12
  • python實現(xiàn)磁盤日志清理的示例

    python實現(xiàn)磁盤日志清理的示例

    這篇文章主要介紹了python實現(xiàn)磁盤日志清理的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 圖文詳解Django使用Pycharm連接MySQL數(shù)據(jù)庫

    圖文詳解Django使用Pycharm連接MySQL數(shù)據(jù)庫

    這篇文章主要介紹了Django使用Pycharm連接MySQL數(shù)據(jù)庫的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • keras.utils.to_categorical和one hot格式解析

    keras.utils.to_categorical和one hot格式解析

    這篇文章主要介紹了keras.utils.to_categorical和one hot格式解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python讀寫csv文件的方法

    python讀寫csv文件的方法

    這篇文章主要介紹了python讀寫csv文件的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • python config文件的讀寫操作示例

    python config文件的讀寫操作示例

    這篇文章主要介紹了python config文件的讀寫操作,結(jié)合簡單示例形式分析了Python針對config文件的設置、讀取、寫入相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • Python selenium 加載并保存QQ群成員,去除其群主、管理員信息的示例代碼

    Python selenium 加載并保存QQ群成員,去除其群主、管理員信息的示例代碼

    這篇文章主要介紹了Python selenium 加載并保存QQ群成員 去除其群主、管理員信息的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-05-05
  • Python 手動導包的實現(xiàn)

    Python 手動導包的實現(xiàn)

    本文主要介紹了Python 手動導包的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03

最新評論