【python学习笔记】:将图片做成字符画

字符画效果图。

python字符画是一个简单有趣的小程序,非常适合初学者进行学习。python字符画生成的原理及其简单,一句话概括就是----将图片像素点用不同字符代替,从而将像素组成的图片转变成用字符组成的字符画。为了尽可能的使得字符画展示效果与图片相同。灰度值高的像素我们使用视觉上较深的字符表示(如$),灰度值较低的像素我们使用视觉上较浅的字符表示(如.)

字符视觉排列

我们选择一些字符,从视觉上的深浅将他们人工排序。

可以看到list中左边的字符视觉上较深,右边的字符视觉上较浅。

打开图片,调整大小

打开需要转化的图片,并将图片调整为我们所指定的宽和高(字符画的宽和高)

我们使用PIL来进行图片操作

使用PIL模块的open方法打开一张图片,使用resize方法将图片调整到宽为WIDTH,高为HEIGHT的大小。

像素转化为字符

定义一个方法get_char,这个方法输入一个像素点的r,b,g然后输出对应的字符。

get_char方法

方法中使用int(0.2126*r+0.7152*g+0.0722*b)将r,b,g转化为灰度值,然后根据灰度值的大小确定所选字符在ascii_char中的位置。

我们只需要遍历图片中的每一个像素,依次调用get_char方法即可得到每一个像素对应的字符,然后将这些字符组合起来即可得到所需的字符画了。

全部源码如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜子牙大侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值