基于python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)代碼實(shí)例
直接上代碼圖片就使用我家爽妹子的吧
如果沒(méi)有安裝pil模塊的話先cmd安裝下
輸入:pip install pillow
# -*- coding: utf-8 -*- from PIL import Image codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. '''#生成字符畫(huà)所需的字符集 count = len(codeLib) def transform1(image_file): image_file = image_file.convert("L")#轉(zhuǎn)換為黑白圖片,參數(shù)"L"表示黑白模式 codePic = '' for h in range(0,image_file.size[1]): #size屬性表示圖片的分辨率,'0'為橫向大小,'1'為縱向 for w in range(0,image_file.size[0]): gray = image_file.getpixel((w,h)) #返回指定位置的像素,如果所打開(kāi)的圖像是多層次的圖片,那這個(gè)方法就返回一個(gè)元組 codePic = codePic + codeLib[int(((count-1)*gray)/256)]#建立灰度與字符集的映射 codePic = codePic+'\r\n' return codePic def transform2(image_file): codePic = '' for h in range(0,image_file.size[1]): for w in range(0,image_file.size[0]): g,r,b = image_file.getpixel((w,h)) gray = int(r* 0.299+g* 0.587+b* 0.114) codePic = codePic + codeLib[int(((count-1)*gray)/256)] codePic = codePic+'\r\n' return codePic fp = open(r'C:\路徑\3.jpg','rb') image_file = Image.open(fp) image_file=image_file.resize((int(image_file.size[0]*0.2), int(image_file.size[1]*0.1)))#調(diào)整圖片大小 print (u'Info:',image_file.size[0],' ',image_file.size[1],' ',count) tmp = open('tmp.txt','w') tmp.write(transform1(image_file)) tmp.close() a,b,c=1,2,3 print(a,b,c)
結(jié)果不知還能否看出來(lái)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python實(shí)現(xiàn)tail的示例代碼
tail是一個(gè)常用的Linux命令, 它可以打印文件的后面n行數(shù)據(jù), 也能實(shí)時(shí)輸出文件的追加數(shù)據(jù)。本文就來(lái)用Python實(shí)現(xiàn)tail,感興趣的可以了解一下2023-03-03Python爬蟲(chóng)學(xué)習(xí)之requests的使用教程
requests庫(kù)是一個(gè)常用的用于?http?請(qǐng)求的模塊,它使用?python?語(yǔ)言編寫(xiě),可以方便的對(duì)網(wǎng)頁(yè)進(jìn)行爬取。本文將通過(guò)示例詳細(xì)講講requests庫(kù)的使用,需要的可以參考一下2022-08-08Python結(jié)合wxauto實(shí)現(xiàn)智能微信聊天機(jī)器人
wxauto?是我在2020年開(kāi)發(fā)的一個(gè)基于?UIAutomation?的開(kāi)源?Python?微信自動(dòng)化庫(kù),這篇文章主要介紹了Python結(jié)合wxauto實(shí)現(xiàn)智能微信聊天機(jī)器人,需要的朋友可以參考下2024-07-07python+tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)單的秒鐘
這篇文章主要為大家詳細(xì)介紹了Python如何利用tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)單的秒鐘,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以自己動(dòng)手嘗試一下2024-02-02python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-07-07python把數(shù)組中的數(shù)字每行打印3個(gè)并保存在文檔中的方法
今天小編就為大家分享一篇python把數(shù)組中的數(shù)字每行打印3個(gè)并保存在文檔中的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python實(shí)現(xiàn)360皮膚按鈕控件示例
這篇文章主要介紹了python實(shí)現(xiàn)360皮膚按鈕控件示例,需要的朋友可以參考下2014-02-02一文教會(huì)你調(diào)整Matplotlib子圖的大小
Matplotlib的可以把很多張圖畫(huà)到一個(gè)顯示界面,這就設(shè)計(jì)到面板切分成一個(gè)一個(gè)子圖,下面這篇文章主要給大家介紹了關(guān)于調(diào)整Matplotlib子圖大小的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06Python使用lambda拋出異常實(shí)現(xiàn)方法解析
這篇文章主要介紹了Python使用lambda拋出異常實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08