成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

如何運(yùn)用python完成圖片轉(zhuǎn)化字符畫(huà)

89542767 / 494人閱讀

  本文關(guān)鍵闡述了如何運(yùn)用python完成圖片轉(zhuǎn)化字符畫(huà),文章內(nèi)容緊扣主題進(jìn)行詳盡的基本介紹,具有很強(qiáng)的實(shí)用價(jià)值,必須的朋友可以學(xué)習(xí)一下


  序言:


  字符畫(huà):字符畫(huà)是一連串標(biāo)識(shí)符的搭配,也可以把標(biāo)識(shí)符看作較為大塊清晰度,一個(gè)字節(jié)能主要表現(xiàn)一個(gè)顏色,標(biāo)識(shí)符的類(lèi)型越大,能夠表現(xiàn)得色調(diào)也就越多,照片還會(huì)更有層次感。


  假如他們想要手工制作制作出字符畫(huà),必須要有過(guò)硬的美術(shù)基礎(chǔ)知識(shí),次之還需要耗費(fèi)大量時(shí)間和精力。但我們可以應(yīng)用Python,只需兩行編碼,就可以將一張照片輕而易舉的轉(zhuǎn)化成1個(gè)字符畫(huà)。


  案例1


  設(shè)計(jì)效果圖:

01.png

02.png

  基礎(chǔ)理論非常簡(jiǎn)單,便是對(duì)圖片實(shí)際操作,這兒需要使用PIL的python包,里有非常好用的數(shù)字圖像處理作用。


  先打開(kāi)圖,把圖象修改尺寸:


  img=Image.open(picPath)
  img=img.resize((picW,picH))


  隨后載入灰度級(jí),然后把灰度級(jí)和標(biāo)識(shí)符相匹配下去就可以了。


  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'#設(shè)置圖片文檔
  WIDTH=150#設(shè)置字符畫(huà)的寬
  HEIGHT=80#設(shè)置字符畫(huà)的高
  OUTPUT='T.txt'#設(shè)置存放字符畫(huà)的文本文件
  ascii_char=list("$B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'.")#設(shè)置顯示的字符集
  #將256灰度映射到70個(gè)字符上
  defget_char(r,g,b,alpha=256):
  #alpha為透明度
  #判斷alpha值,為0表示全透明
  ifalpha==0:
  return''
  #獲取字符集的長(zhǎng)度,這兒為70
  length=len(ascii_char)
  #將RGB值轉(zhuǎn)為灰度級(jí)gray,灰度級(jí)范圍為0-255
  gray=int(0.2126*r+0.7152*g+0.0722*b)
  #灰度級(jí)范圍為0-255,而字符集只有70
  #需要進(jìn)行如下處理才能將灰度級(jí)映射到指定的標(biāo)識(shí)符上
  #防止當(dāng)灰度級(jí)為255時(shí),輸出的第70個(gè)字符超出列表索引,所以需要將(255+1)
  unit=(255.0+1)/length
  #返回灰度級(jí)對(duì)應(yīng)的標(biāo)識(shí)符
  returnascii_char[int(gray/unit)]
  if__name__=='__main__':
  #打開(kāi)并調(diào)整圖片的寬和高
  im=Image.open(IMG)
  im=im.resize((WIDTH,HEIGHT),Image.NEAREST)
  #初始化輸出的字符串
  txt=""
  #遍歷圖片中的每一行
  foriinrange(HEIGHT):
  #遍歷該行中的每一列
  forjinrange(WIDTH):
  #將(j,i)坐標(biāo)的RGB清晰度轉(zhuǎn)為標(biāo)識(shí)符后添加到txt字符串
  txt+=get_char(*im.getpixel((j,i)))
  #遍歷完一行后需要增加換行符
  txt+='
  '
  #輸出到屏幕
  print(txt)
  withopen(OUTPUT,'w')asf:
  f.write(txt)

  同時(shí)黏貼就可以,只需在文件夾中導(dǎo)進(jìn)1張圖片重命名為IMG.jpg。運(yùn)作最后會(huì)形成1個(gè)名叫T.txt的文檔。


  原照:

03.png

  生成文件圖

04.png

  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/130257.html

相關(guān)文章

  • 運(yùn)用Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)

      本文關(guān)鍵闡述了運(yùn)用Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà),要把圖片轉(zhuǎn)字符畫(huà),必須要先界定1個(gè)字段名,用于和灰度級(jí)做投射,將照片每一個(gè)象素的RGB值轉(zhuǎn)化成1個(gè)灰度級(jí),把它相對(duì)應(yīng)的標(biāo)識(shí)符導(dǎo)出就得到了字符畫(huà)  序言  相信大家在網(wǎng)上常??吹接行┤苏宫F(xiàn)出各種各樣字符畫(huà),對(duì)于這些色彩斑斕的全球而言,我們平時(shí)看到的就是某些超清的彩色圖片,有時(shí)候再來(lái)一個(gè)粗糙黑白字符畫(huà),還是比較緩解疲勞的。喜愛(ài)不要忘記個(gè)人收藏、關(guān)心、...

    89542767 評(píng)論0 收藏0
  • python 圖片在線(xiàn)轉(zhuǎn)字符畫(huà)預(yù)覽

    摘要:文章鏈接關(guān)于圖片轉(zhuǎn)字符畫(huà),相信大家都不陌生,經(jīng)常出現(xiàn)在個(gè)超有趣的項(xiàng)目中。今天我也來(lái)實(shí)踐這個(gè)有趣的項(xiàng)目,更進(jìn)一步的是把這個(gè)功能做成一個(gè)在線(xiàn)的網(wǎng)站,直接上傳圖片生成字符畫(huà),在線(xiàn)預(yù)覽可以讓更多的人來(lái)體驗(yàn)。至此,生成字符畫(huà)的腳本完成了。 文章鏈接:https://mp.weixin.qq.com/s/yiFOmljhyalE8ssAgwo6Jw 關(guān)于python圖片轉(zhuǎn)字符畫(huà),相信大家都不陌生...

    CarterLi 評(píng)論0 收藏0
  • 基于 canvas 將圖片轉(zhuǎn)化字符畫(huà)

    摘要:字符畫(huà)大家一定非常熟悉了,那么如何把一張現(xiàn)有的圖片轉(zhuǎn)成字符畫(huà)呢讓這個(gè)可能變成了現(xiàn)實(shí),通過(guò),可以很輕松實(shí)現(xiàn)這個(gè)功能。我們只能根據(jù)圖片寬高,來(lái)定義一個(gè)間隔,橫向間隔,縱向間隔取一次像素,這樣可以保證生成的字符畫(huà)大小和原圖保持一致。 showImg(http://segmentfault.com/img/bVbtCk); 猛點(diǎn) 這里 看高清妹子圖。 字符畫(huà)大家一定非常熟悉了,那么如何把一...

    levinit 評(píng)論0 收藏0
  • 圖解——PyQt4從入門(mén)到運(yùn)用

    摘要:將程序包裝在界面里,可以將輸入通過(guò)多種途徑如文本框彈出路徑選擇等輸入到程序里。將輸出通過(guò)文本框顯示出來(lái)將執(zhí)行信息如如報(bào)錯(cuò)信息運(yùn)行進(jìn)度通過(guò)文本框或進(jìn)度條顯示出來(lái)文章安排先介紹安裝和配合的使用。 作為一個(gè)程序的開(kāi)發(fā)者,我們僅僅需要在相應(yīng)路徑通過(guò)命令行就可執(zhí)行那個(gè)程序。但是,不懂行的人不理解這個(gè)黑框框的東西,陌生領(lǐng)域任何人都沒(méi)有安全感,所以他們是拒絕接受一個(gè)項(xiàng)目?jī)H僅只是通過(guò)一個(gè)黑框框來(lái)執(zhí)行的...

    史占廣 評(píng)論0 收藏0
  • python sklearn:教你如何畫(huà)出決策書(shū),并保存為PDF的實(shí)現(xiàn)過(guò)程

      pythonsklearn:教你如何畫(huà)出決策書(shū),并保存為PDF的實(shí)現(xiàn)過(guò)程   這篇文章主要介紹了pythonsklearn畫(huà)出決策樹(shù)并保存為PDF的實(shí)現(xiàn)過(guò)程,這篇文章具有很高的參考價(jià)值,希望各位讀者可以認(rèn)真仔細(xì)的閱讀。   利用sklearn畫(huà)出決策樹(shù)并保存為PDF   下載Graphviz   進(jìn)入官網(wǎng)下載并安裝:   https://graphviz.gitlab.io/_pages/Do...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<