最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

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

如果是Python 2,運(yùn)行 pip install PIL。

如果是Python 3,運(yùn)行 pip install pillow。

接下來直接上代碼吧:

from PIL import Image
#設(shè)置顯示的字符集
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',然后在最后寫進(jìn)去:

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爬蟲 模擬登錄人人網(wǎng)過程解析

    python爬蟲 模擬登錄人人網(wǎng)過程解析

    這篇文章主要介紹了python爬蟲 模擬登錄人人網(wǎng)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 詳解Python自動化之文件自動化處理

    詳解Python自動化之文件自動化處理

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著Python文件自動化處理展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python3學(xué)習(xí)urllib的使用方法示例

    Python3學(xué)習(xí)urllib的使用方法示例

    本篇文章主要介紹了Python3學(xué)習(xí)urllib的使用方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 基于Python在MacOS上安裝robotframework-ride

    基于Python在MacOS上安裝robotframework-ride

    今天小編就為大家分享一篇關(guān)于基于Python在MacOS上安裝robotframework-ride,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • python創(chuàng)建學(xué)生成績管理系統(tǒng)

    python創(chuàng)建學(xué)生成績管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python創(chuàng)建學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • python數(shù)據(jù)批量寫入ScrolledText的優(yōu)化方法

    python數(shù)據(jù)批量寫入ScrolledText的優(yōu)化方法

    今天小編就為大家分享一篇python數(shù)據(jù)批量寫入ScrolledText的優(yōu)化方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python按照list中字典的某key去重的示例代碼

    python按照list中字典的某key去重的示例代碼

    這篇文章主要介紹了python按照list中字典的某key去重的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python+PyQt5實(shí)現(xiàn)多屏幕協(xié)同播放功能

    Python+PyQt5實(shí)現(xiàn)多屏幕協(xié)同播放功能

    在現(xiàn)代會議展示、數(shù)字廣告、展覽展示等場景中,多屏幕協(xié)同播放已成為剛需,下面我們就來看看如何利用Python和PyQt5開發(fā)一套功能強(qiáng)大的跨屏播控系統(tǒng)吧
    2025-03-03
  • 基于plt.title無法顯示中文的快速解決

    基于plt.title無法顯示中文的快速解決

    這篇文章主要介紹了基于plt.title無法顯示中文的快速解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python實(shí)現(xiàn).gif圖片拆分為.png圖片的簡單示例

    Python實(shí)現(xiàn).gif圖片拆分為.png圖片的簡單示例

    有時候需要把GIF圖片分解成一張一張的靜態(tài)圖,jpg或者png格式,下面這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn).gif圖片拆分為.png圖片的相關(guān)資料,需要的朋友可以參考下
    2023-01-01

最新評論

淮阳县| 林周县| 历史| 佛冈县| 铁力市| 会东县| 密山市| 尼勒克县| 建水县| 政和县| 许昌市| 南川市| 苏尼特左旗| 邓州市| 山西省| 体育| 绥中县| 伊金霍洛旗| 海宁市| 苏尼特右旗| 拉萨市| 雅江县| 宁乡县| 宣化县| 加查县| 五河县| 泽普县| 广水市| 宁陕县| 峡江县| 右玉县| 尖扎县| 瓦房店市| 开平市| 汪清县| 晴隆县| 法库县| 鲜城| 武平县| 邢台县| 阜南县|