本文關鍵闡述了運用Python實現圖片轉字符畫,要把圖片轉字符畫,必須要先界定1個字段名,用于和灰度級做投射,將照片每一個象素的RGB值轉化成1個灰度級,把它相對應的標識符導出就得到了字符畫
序言
相信大家在網上常常看到有些人展現出各種各樣字符畫,對于這些色彩斑斕的全球而言,我們平時看到的就是某些超清的彩色圖片,有時候再來一個粗糙黑白字符畫,還是比較緩解疲勞的。喜愛不要忘記個人收藏、關心、關注點贊。
字符畫的基本原理
這類字符畫的基本原理也非常簡單,也可以把每一個標識符看作是一個很大的象素,一個字節能夠意味著一個顏色,標識符各種越大,可展現的色調越大,字符畫就更有層次感。
灰度級和RGB
灰度級就是指黑白圖像中心點顏色深度,它范疇是0-255,乳白色為255,灰黑色為0,深顏色處于二者之間。
RGB是三原色三色調,通過各種的累加可以得到深顏色。
要把圖片轉字符畫,必須要先界定1個字段名,用于和灰度級做投射,將照片每一個象素的RGB值轉化成1個灰度級,把它相對應的標識符導出就得到了字符畫。
RGB轉灰度級,有一個變換學公式計算:
gray=(2126*r+7152*g+722*b)/10000
編碼實戰演練
我隨便選取了一張照片:
我的目標是轉化成下邊那樣:
依據之上變換工作原理,大家直接用編碼:
fromPILimportImage char=list('M3NB6Q#OC?7>!:–;.') defget_char(r,g,b,alpha=256): ifalpha==0: return'' grey=(2126*r+7152*g+722*b)/10000 char_idx=int((grey/(alpha+1.0))*len(char)) returnchar[char_idx] defwrite_file(out_file_name,content): withopen(out_file_name,'w')asf: f.write(content) defmain(file_name="input.jpg",width=100,height=80,out_file_name='output.txt'): text='' im=Image.open(file_name) im=im.resize((width,height),Image.NEAREST) foriinrange(height): forjinrange(width): text+=get_char(*im.getpixel((j,i))) text+=' ' print(text) write_file(out_file_name,text) if__name__=='__main__': main('dance.png')
程序流程構思:
界定1個二維數組,這一二維數組里邊的標識符能夠隨便寫。
解析圖片,將照片里邊的每一個像素數分析成RGB值。
依據大家上邊的公式計算,將每一個像素數轉化成二維數組里邊的一個字節。
把所有像素數相對應的標識符拼湊下去,就完成變換。
匯總
圖片轉字符畫,轉化的設計原理構思還是很簡單的,完成也并不復雜,你們可以出手試一試!
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129045.html
摘要:文章鏈接關于圖片轉字符畫,相信大家都不陌生,經常出現在個超有趣的項目中。今天我也來實踐這個有趣的項目,更進一步的是把這個功能做成一個在線的網站,直接上傳圖片生成字符畫,在線預覽可以讓更多的人來體驗。至此,生成字符畫的腳本完成了。 文章鏈接:https://mp.weixin.qq.com/s/yiFOmljhyalE8ssAgwo6Jw 關于python圖片轉字符畫,相信大家都不陌生...
本文關鍵闡述了如何運用python完成圖片轉化字符畫,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,必須的朋友可以學習一下 序言: 字符畫:字符畫是一連串標識符的搭配,也可以把標識符看作較為大塊清晰度,一個字節能主要表現一個顏色,標識符的類型越大,能夠表現得色調也就越多,照片還會更有層次感。 假如他們想要手工制作制作出字符畫,必須要有過硬的美術基礎知識,次之還需要耗費大量時間和...
摘要:一幅圖像全部轉成字符序列后,就可以直接在控制臺輸出了。讀取視頻使用了,并直接用它提供的方法轉了灰度圖,在之前的文章中也有過介紹,計算機視覺開發利器這一步比較重要,因為有的視頻分辨率很高,直接一個像素轉一個字符的話量太大,所以先縮小圖片。 今天分享的這段代碼,看起來沒啥實際用處,而且有些反潮流,因為現如今大家看視頻都追求更高分辨率的超清畫質,而我們這個,是 一個超不清的視頻播放器 : 在...
摘要:最近花了幾天時間,做了一個圖片轉字符畫的工具,一開始想做成用服務器來生成圖像的形式,但是后來發現可以不依賴服務器生成圖片,順便還能把項目托管到上,因此就把項目做成了純前端的形式。 最近花了幾天時間,做了一個圖片轉字符畫的工具,一開始想做成用服務器來生成圖像的形式,但是后來發現可以不依賴服務器生成圖片,順便還能把項目托管到 Github Pages 上,因此就把項目做成了純前端的形式。 ...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02