亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)

        2021-11-04 14:59:19
        電腦報(bào) 2021年41期
        關(guān)鍵詞:字符像素點(diǎn)灰度

        前段時(shí)間我們學(xué)習(xí)了很多Python的基礎(chǔ)語(yǔ)法,但是對(duì)于各種庫(kù)的使用還是一知半解的,接下來(lái)我們挑選出幾個(gè)重要庫(kù),通過(guò)有意思的小項(xiàng)目了解這些庫(kù)的知識(shí)點(diǎn)。

        在Python中,有一個(gè)優(yōu)秀的圖像處理框架叫作PIL庫(kù),今天我們利用PIL庫(kù)將圖片變成一幅黑白字符畫(huà)。

        字符畫(huà)是一系列字符的組合,我們可以把字符看作是比較大塊的像素,一個(gè)字符能表現(xiàn)一種顏色,字符的種類(lèi)越多,可以表現(xiàn)的顏色也越多,圖片也會(huì)更有層次感。

        如果我們想要手工繪制出字符畫(huà),首先要有扎實(shí)的美術(shù)基礎(chǔ),其次還要花費(fèi)大量的時(shí)間和精力。但是我們可以使用Python,只需要幾行代碼,就能夠?qū)⒁粡垐D片輕而易舉地轉(zhuǎn)化為一個(gè)字符畫(huà)。

        這幅小豬佩奇就是利用Python的PIL庫(kù),通過(guò)字符代替顏色的方法完成的字符畫(huà)。

        我們知道一張RGB模式的圖片是由很多個(gè)像素點(diǎn)組成的,而每一個(gè)像素點(diǎn)都有不同的顏色,而這個(gè)顏色可以由三個(gè)值表示(RGB,范圍0-255),這三個(gè)值對(duì)應(yīng)組成這種顏色的三原色百分比。所以RGB模式總共可以表現(xiàn)256×256×256=16777216種顏色。如果可以將每個(gè)像素根據(jù)顏色找一個(gè)字符替換,這樣就能形成一個(gè)字符圖畫(huà)了。

        那么問(wèn)題來(lái)了,我們沒(méi)有這么多種字符來(lái)一一對(duì)應(yīng)每種顏色啊,這時(shí)就要引入灰度概念了,對(duì)于黑白圖像中的像素我們可以用灰度值表示其顏色深度,范圍一般從0到255,白色為255,黑色為0。這種圖片也稱灰度圖像,我們可以通過(guò)RGB轉(zhuǎn)化灰度公式將像素的RGB值映射成灰度值。這個(gè)公式具體算法不止一種(常見(jiàn)的有三種),算出的結(jié)果也略有不同,有興趣的同學(xué)可以百度搜索一下其中的算法。

        灰度值公式:Gray=0.2126×R+0.7152×G+0.0722×B

        通過(guò)公式的轉(zhuǎn)換可以將256×256×256的顏色范圍減少到0-255的灰度范圍。但是256個(gè)數(shù)值范圍還是有點(diǎn)多了,難以用字符一一對(duì)應(yīng),不過(guò)稍微靈活變通一下,將兩到三個(gè)灰度值對(duì)應(yīng)為一個(gè)字符便可成功解決了。

        首先導(dǎo)入Python圖片處理庫(kù)——PIL。自定義字符畫(huà)所需要使用的字符集是ascii_char,我選擇了其中70個(gè)字符,字符順序影響與灰度的對(duì)應(yīng)關(guān)系,可以根據(jù)字符畫(huà)的效果反復(fù)調(diào)整。

        選擇一張需要字符畫(huà)的圖片,這里我選取了一張哆啦A夢(mèng)的頭像,確定好字符畫(huà)的寬度和高度,考慮到字符本身的高寬比,為了美觀考慮圖片的寬度最好是高度的兩倍多一點(diǎn)。接下來(lái)我們需要定義一個(gè)get_chart函數(shù),此函數(shù)的目的是通過(guò)灰度來(lái)區(qū)分顏色塊。利用灰度值公式計(jì)算出不同的灰度對(duì)應(yīng)的不同字符。將需要的圖片導(dǎo)入到Python環(huán)境中,通過(guò)雙重for循環(huán)對(duì)圖像的像素點(diǎn)進(jìn)行遍歷,利用灰度值公式進(jìn)行灰度值轉(zhuǎn)換,輸出對(duì)應(yīng)的字符畫(huà)。程序運(yùn)行后字符畫(huà)和原圖可以做一個(gè)對(duì)比,可以發(fā)現(xiàn)字符畫(huà)在一些細(xì)節(jié)上還可以優(yōu)化,比如根據(jù)字符的復(fù)雜程度調(diào)整list的順序,總的來(lái)說(shuō)轉(zhuǎn)換過(guò)程還是達(dá)到了預(yù)期目的。

        通過(guò)轉(zhuǎn)換哆啦A夢(mèng)成為字符畫(huà)的案例我們又學(xué)會(huì)了一項(xiàng)新的技能,趕緊打開(kāi)你的Python編輯器制作一幅有趣的字符畫(huà)吧,偷偷告訴你Python還可以制作GIF動(dòng)態(tài)的字符動(dòng)畫(huà)哦,還不趕緊去試試看。

        猜你喜歡
        字符像素點(diǎn)灰度
        采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
        尋找更強(qiáng)的字符映射管理器
        基于灰度拉伸的圖像水位識(shí)別方法研究
        字符代表幾
        一種USB接口字符液晶控制器設(shè)計(jì)
        電子制作(2019年19期)2019-11-23 08:41:50
        消失的殖民村莊和神秘字符
        基于canvas的前端數(shù)據(jù)加密
        基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
        基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
        基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
        亚洲av永久无码精品成人| 特级毛片爽www免费版| 日日噜噜夜夜狠狠久久无码区| 久久精品国产亚洲AV无码不| 国产精品久久国产三级国| 国产av久久在线观看| 色播亚洲视频在线观看| 夜色阁亚洲一区二区三区| 亚洲成a人片77777kkkkk| 在线观看一区二区中文字幕| 中文字幕日韩精品一区二区三区 | 无码丰满少妇2在线观看| jiZZ国产在线女人水多| 91成人国产九色在线观看 | 久久亚洲网站中文字幕| 亚洲一区av在线观看| 精品国产制服丝袜高跟| 人妻爽综合网| 日本免费观看视频一区二区| 国产精品久久777777| 国产精品公开免费视频| 亚洲影院在线观看av| 日韩亚洲中文有码视频| 一本加勒比hezyo无码人妻| 欧美韩国精品另类综合| 凹凸世界视频a一二三| 精品国品一二三产品区别在线观看 | 一区二区三区最新中文字幕| 中文字幕一区二区人妻性色| 欧美日韩精品一区二区三区高清视频| 精品国产一区二区av麻豆不卡 | 免费人成小说在线观看网站| 国产大学生粉嫩无套流白浆| 久久精品国产亚洲AV香蕉吃奶 | 国产免费的视频一区二区| 青草久久婷婷亚洲精品| 啦啦啦www播放日本观看| 久久久AV无码精品免费 | 日本高清乱码中文字幕| 性色av无码久久一区二区三区| 国产在线欧美日韩一区二区|