python字符照片_python图片转字符图片

本文分享了一段Python代码,该代码可以将图片转换为字符画。通过使用PIL库处理图片并映射灰度到特定字符上,最终形成字符画效果。提供了代码示例并展示了转换后的效果。
摘要由CSDN通过智能技术生成

python图片转字符图片代码

话不多说,直接上代码。

***************************

#-*- coding:utf-8 -*-

from PIL import Image

IMG=''#文件路径

WIDTH=60

HEIGHT=45

ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

#将256灰度映射到70个字符上

def get_char(r,g,b,alpha=256):#alpha透明度

if alpha==0:

return ' '

length=len(ascii_char)

gray=int(0.2126*r+0.7152*g+0.0722*b)#计算灰度

unit=(256.0+1)/length

return ascii_char[int(gray/unit)]#不同的灰度对应着不同的字符

#通过灰度来区分色块

if __name__=='__main__':

im=Image.open(IMG)

im=im.resize((WIDTH,HEIGHT),Image.NEAREST)

txt=""

for i in range(HEIGHT):

for j in range(WIDTH):

txt+=get_char(*im.getpixel((j,i)))

txt+='\n'

print (txt)

#写入文件

with open("output.txt",'w') as f:

f.write(txt)

**************************

效果图8c85634d484c6a28cb5a3a41e9954974.png金木

4c5b769d8a7489b5cbb0d246bd028f65.pngbilibili

b9aac0909314fcef2baf2dde445d4f3d.png小电视

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值