這篇文章主要講解了“怎么用Python制作傳說中的數(shù)字屏幕”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么用Python制作傳說中的數(shù)字屏幕”吧!
成都創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元南昌縣做網(wǎng)站,已為上家服務(wù),為南昌縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
pillow庫
這次我們還是要用到我們上次說的pillow庫
pillow庫使用pip安裝
pip install pillow
或
pip install pillow -i “https://pypi.doubanio.com/simple/”
代碼介紹
跟大家介紹一下,我們所說的“數(shù)字屏幕”是指把圖片轉(zhuǎn)換成字符畫,這里的
字符畫是一系列字符的組合,我們可以把字符看作是比較大塊的像素,一個(gè)字符能表現(xiàn)一種顏色,字符的種類越多,可以表現(xiàn)的顏色也越多,圖片也會更有層次感。
最終顯示的是黑白色的字符畫,那么彩色的圖片怎么轉(zhuǎn)換成黑白的呢?這里就需要了解灰度值的概念了。
<span >灰度值:指黑白圖像中點(diǎn)的顏色深度,范圍一般從0到255,白色為255,黑色為0,故黑白圖片也稱灰度圖像。</span>
我們利用下面的公式將像素的RGB值轉(zhuǎn)換成灰度值:
<span >gray = 0.2126 * r + 0.7152 * g + 0.0722 * b</span>
用不同的字符代表不同的灰度值,字符的種類和數(shù)量可以根據(jù)自己需要的效果進(jìn)行調(diào)整,最好從前往后可以看到明顯的變化,最后一個(gè)字符為空格符最佳:
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
|代碼實(shí)現(xiàn)
from PIL import Image IMG='D:\Code\python\\test.png' WIDTH=60 HEIGHT=45 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") #將256灰度映射到70個(gè)字符上 def get_char(r,g,b,alpha=256):#alpha透明度 if alpha==0: return ' ' length=len(ascii_char) gray=int(0.2126*r+0.7152*g+0.0722*b)#計(jì)算灰度 unit=(256.0+1)/length return ascii_char[int(gray/unit)]#不同的灰度對應(yīng)著不同的字符 #通過灰度來區(qū)分色塊 if __name__=='__main__': 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) #寫入文件 with open("output.txt",'w') as f: f.write(txt)
下面我們生成數(shù)字屏幕:
感謝各位的閱讀,以上就是“怎么用Python制作傳說中的數(shù)字屏幕”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么用Python制作傳說中的數(shù)字屏幕這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
當(dāng)前文章:怎么用Python制作傳說中的數(shù)字屏幕
當(dāng)前鏈接:http://aaarwkj.com/article14/peiode.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、外貿(mào)建站、網(wǎng)站導(dǎo)航、企業(yè)網(wǎng)站制作、微信小程序、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)