python實(shí)現(xiàn)趣味圖片字符化
本文實(shí)例為大家分享了python實(shí)現(xiàn)趣味圖片字符化的具體代碼,供大家參考,具體內(nèi)容如下
主要使用PIL庫(kù)
先放效果圖:


代碼如下:
#coding=utf-8
from PIL import Image
ascii_char = list('MW$#@%&KERTYOJKLUIC{}*mnxgouic()<>\!~:;^·.')
def get_char(r,b,g,alpha = 256):
if alpha==0:
return ' '
gray = int(0.2126 * r + 0.7152 * g + 0.0722 *b)
unit = 256 / len(ascii_char)
return ascii_char[int(gray/unit)]
def main():
chage_image=input("請(qǐng)輸入待轉(zhuǎn)化照片的名字")
im = Image.open(chage_image)
width, height = im.width,im.height
#im = im.resize((width,height))
txt = "" #存放待寫入的字符 使用NotePad+ 縮放觀看
for i in range(height):
for j in range(width):
txt += get_char(*im.getpixel((j, i)))
txt += '\n'
input_file_name = chage_image[:-4]+".txt"
print(input_file_name)
with open(input_file_name,"w") as f:
f.write(txt)
print (input_file_name[:-4],"制作完成!")
if "__name__" =="__main__":
main()
其他類似這種制作的原理都是一樣的,效果的差異,主要是對(duì)ascii_char列表里字符排列,
原則上,那些字符能給人視覺上占的面積大的排前面,占比少的排后面,列表元素越多,生成的圖片細(xì)節(jié)越細(xì)膩。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問題
今天小編就為大家分享一篇解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-01-01
一個(gè)Python優(yōu)雅的數(shù)據(jù)分塊方法詳解
在做需求過程中有一個(gè)對(duì)大量數(shù)據(jù)分塊處理的場(chǎng)景,具體來(lái)說(shuō)就是幾十萬(wàn)量級(jí)的數(shù)據(jù),分批處理,每次處理100個(gè)。這時(shí)就需要一個(gè)分塊功能的代碼。本文為大家分享了一個(gè)Python中優(yōu)雅的數(shù)據(jù)分塊方法,需要的可以參考一下2022-05-05
Python調(diào)用Java數(shù)據(jù)接口實(shí)現(xiàn)CRUD操作的詳細(xì)指南
Python和Java作為兩種流行的編程語(yǔ)言,在企業(yè)級(jí)應(yīng)用中常常需要實(shí)現(xiàn)跨語(yǔ)言的數(shù)據(jù)交互,下面我們就來(lái)看看如何在Django Python項(xiàng)目中調(diào)用Java數(shù)據(jù)接口實(shí)現(xiàn)CRUD操作吧2025-04-04
python排序算法的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于python排序算法的簡(jiǎn)單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
python3.6實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python3.6實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
python溫度轉(zhuǎn)換華氏溫度實(shí)現(xiàn)代碼
這篇文章主要介紹了python溫度轉(zhuǎn)換華氏溫度實(shí)現(xiàn)代碼內(nèi)容,有需要的朋友們可以測(cè)試下。2020-12-12
Python自動(dòng)化辦公之手機(jī)號(hào)提取
這篇文章主要介紹了如何利用Python語(yǔ)言編寫一個(gè)手機(jī)號(hào)提取器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-06-06

