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 = "" #存放待寫(xiě)入的字符 使用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列表里字符排列,
原則上,那些字符能給人視覺(jué)上占的面積大的排前面,占比少的排后面,列表元素越多,生成的圖片細(xì)節(jié)越細(xì)膩。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的代碼實(shí)例
- 一百行python代碼將圖片轉(zhuǎn)成字符畫(huà)
- python如何將圖片轉(zhuǎn)換為字符圖片
- Python將圖片轉(zhuǎn)換為字符畫(huà)的方法
- python Opencv將圖片轉(zhuǎn)為字符畫(huà)
- Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例
- Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例代碼
- 從零學(xué)python系列之教你如何根據(jù)圖片生成字符畫(huà)
- python實(shí)現(xiàn)圖片轉(zhuǎn)字符小工具
相關(guān)文章
Python和Pycharm 環(huán)境部署詳細(xì)步驟
Python環(huán)境搭建過(guò)程很多朋友都操作過(guò),本次我們將向大家介紹Python和Pycharm 環(huán)境部署的流程,文章通過(guò)圖文的形式給大家展示一目了然一看就懂,需要的朋友參考下吧2021-06-06
Python庫(kù)textract提取各種文檔類型中文本數(shù)據(jù)
Python的textract庫(kù)是一個(gè)強(qiáng)大的工具,它可以從各種文檔類型中提取文本數(shù)據(jù),無(wú)論是PDF、Word文檔、圖片還是其他格式的文件,textract都可以輕松地將文本提取出來(lái),本文將詳細(xì)介紹textract的功能和用法,并提供豐富的示例代碼來(lái)幫助大家深入了解2024-01-01
解決python中使用PYQT時(shí)中文亂碼問(wèn)題
今天小編就為大家分享一篇解決python中使用PYQT時(shí)中文亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Python使用matplotlib實(shí)現(xiàn)在坐標(biāo)系中畫(huà)一個(gè)矩形的方法
這篇文章主要介紹了Python使用matplotlib實(shí)現(xiàn)在坐標(biāo)系中畫(huà)一個(gè)矩形的方法,涉及matplotlib模塊繪制圖形的相關(guān)技巧,需要的朋友可以參考下2015-05-05
利用python在Word文檔中創(chuàng)建和執(zhí)行條件郵件合并
郵件合并域和IF域是Word文檔中兩種非常實(shí)用的域,前者可以用來(lái)進(jìn)行郵件合并,根據(jù)數(shù)據(jù)批量創(chuàng)建定制的Word文檔,本文講介紹如何使用Python在Word文檔中創(chuàng)建條件郵件合并域以及執(zhí)行條件郵件合并,需要的朋友可以參考下2024-08-08
利用Python實(shí)現(xiàn)個(gè)性化日歷
雖然市面上已經(jīng)存在現(xiàn)成的日歷功能,并且有第三方庫(kù)可以直接調(diào)用實(shí)現(xiàn),但我們?nèi)匀幌Mㄟ^(guò)自己編寫(xiě)日歷程序來(lái)引出我認(rèn)為好用的日歷實(shí)現(xiàn),所以下面就跟隨小編一起學(xué)習(xí)一下如何使用Python編寫(xiě)一個(gè)簡(jiǎn)單的日歷程序吧2024-02-02

