本文關鍵闡述了如何運用python完成圖片轉化字符畫,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,必須的朋友可以學習一下
序言:
字符畫:字符畫是一連串標識符的搭配,也可以把標識符看作較為大塊清晰度,一個字節能主要表現一個顏色,標識符的類型越大,能夠表現得色調也就越多,照片還會更有層次感。
假如他們想要手工制作制作出字符畫,必須要有過硬的美術基礎知識,次之還需要耗費大量時間和精力。但我們可以應用Python,只需兩行編碼,就可以將一張照片輕而易舉的轉化成1個字符畫。
案例1
設計效果圖:
基礎理論非常簡單,便是對圖片實際操作,這兒需要使用PIL的python包,里有非常好用的數字圖像處理作用。
先打開圖,把圖象修改尺寸:
img=Image.open(picPath) img=img.resize((picW,picH))
隨后載入灰度級,然后把灰度級和標識符相匹配下去就可以了。
fromPILimportImage lstChars=list("$B%8&WM#*oahkbdpqwmZO0QLaCJUYXzczjhdhsdavunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'.") defoneChars(r,g,b,alpha=256): globallstChars length=len(lstChars) gray=int(0.2126*r+0.7152*g+0.722*b) index=length*gray returnlstChars[index] picPath="C:UsersAdministratorDesktopaaaaaaa.png" picH=40 picW=80 img=Image.open(picPath) img=img.resize((picW,picH)) txt="" foryinrange(picH): forxinrange(picW): txt+=oneChars(img.getpixel((x,y))) txt+=' ' printtxt
案例2
以下是源代碼:
#-*-coding=utf-8-*- fromPILimportImage IMG='IMG.jpg'#設置圖片文檔 WIDTH=150#設置字符畫的寬 HEIGHT=80#設置字符畫的高 OUTPUT='T.txt'#設置存放字符畫的文本文件 ascii_char=list("$B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'.")#設置顯示的字符集 #將256灰度映射到70個字符上 defget_char(r,g,b,alpha=256): #alpha為透明度 #判斷alpha值,為0表示全透明 ifalpha==0: return'' #獲取字符集的長度,這兒為70 length=len(ascii_char) #將RGB值轉為灰度級gray,灰度級范圍為0-255 gray=int(0.2126*r+0.7152*g+0.0722*b) #灰度級范圍為0-255,而字符集只有70 #需要進行如下處理才能將灰度級映射到指定的標識符上 #防止當灰度級為255時,輸出的第70個字符超出列表索引,所以需要將(255+1) unit=(255.0+1)/length #返回灰度級對應的標識符 returnascii_char[int(gray/unit)] if__name__=='__main__': #打開并調整圖片的寬和高 im=Image.open(IMG) im=im.resize((WIDTH,HEIGHT),Image.NEAREST) #初始化輸出的字符串 txt="" #遍歷圖片中的每一行 foriinrange(HEIGHT): #遍歷該行中的每一列 forjinrange(WIDTH): #將(j,i)坐標的RGB清晰度轉為標識符后添加到txt字符串 txt+=get_char(*im.getpixel((j,i))) #遍歷完一行后需要增加換行符 txt+=' ' #輸出到屏幕 print(txt) withopen(OUTPUT,'w')asf: f.write(txt)
同時黏貼就可以,只需在文件夾中導進1張圖片重命名為IMG.jpg。運作最后會形成1個名叫T.txt的文檔。
原照:
生成文件圖
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/130257.html
本文關鍵闡述了運用Python實現圖片轉字符畫,要把圖片轉字符畫,必須要先界定1個字段名,用于和灰度級做投射,將照片每一個象素的RGB值轉化成1個灰度級,把它相對應的標識符導出就得到了字符畫 序言 相信大家在網上常常看到有些人展現出各種各樣字符畫,對于這些色彩斑斕的全球而言,我們平時看到的就是某些超清的彩色圖片,有時候再來一個粗糙黑白字符畫,還是比較緩解疲勞的。喜愛不要忘記個人收藏、關心、...
摘要:文章鏈接關于圖片轉字符畫,相信大家都不陌生,經常出現在個超有趣的項目中。今天我也來實踐這個有趣的項目,更進一步的是把這個功能做成一個在線的網站,直接上傳圖片生成字符畫,在線預覽可以讓更多的人來體驗。至此,生成字符畫的腳本完成了。 文章鏈接:https://mp.weixin.qq.com/s/yiFOmljhyalE8ssAgwo6Jw 關于python圖片轉字符畫,相信大家都不陌生...
摘要:字符畫大家一定非常熟悉了,那么如何把一張現有的圖片轉成字符畫呢讓這個可能變成了現實,通過,可以很輕松實現這個功能。我們只能根據圖片寬高,來定義一個間隔,橫向間隔,縱向間隔取一次像素,這樣可以保證生成的字符畫大小和原圖保持一致。 showImg(http://segmentfault.com/img/bVbtCk); 猛點 這里 看高清妹子圖。 字符畫大家一定非常熟悉了,那么如何把一...
摘要:將程序包裝在界面里,可以將輸入通過多種途徑如文本框彈出路徑選擇等輸入到程序里。將輸出通過文本框顯示出來將執行信息如如報錯信息運行進度通過文本框或進度條顯示出來文章安排先介紹安裝和配合的使用。 作為一個程序的開發者,我們僅僅需要在相應路徑通過命令行就可執行那個程序。但是,不懂行的人不理解這個黑框框的東西,陌生領域任何人都沒有安全感,所以他們是拒絕接受一個項目僅僅只是通過一個黑框框來執行的...
pythonsklearn:教你如何畫出決策書,并保存為PDF的實現過程 這篇文章主要介紹了pythonsklearn畫出決策樹并保存為PDF的實現過程,這篇文章具有很高的參考價值,希望各位讀者可以認真仔細的閱讀。 利用sklearn畫出決策樹并保存為PDF 下載Graphviz 進入官網下載并安裝: https://graphviz.gitlab.io/_pages/Do...
閱讀 919·2023-01-14 11:38
閱讀 891·2023-01-14 11:04
閱讀 750·2023-01-14 10:48
閱讀 2039·2023-01-14 10:34
閱讀 956·2023-01-14 10:24
閱讀 833·2023-01-14 10:18
閱讀 506·2023-01-14 10:09
閱讀 583·2023-01-14 10:02