APP下载

Python实现图片转字符画

2021-11-04

电脑报 2021年41期

前段时间我们学习了很多Python的基础语法,但是对于各种库的使用还是一知半解的,接下来我们挑选出几个重要库,通过有意思的小项目了解这些库的知识点。

在Python中,有一个优秀的图像处理框架叫作PIL库,今天我们利用PIL库将图片变成一幅黑白字符画。

字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色,字符的种类越多,可以表现的颜色也越多,图片也会更有层次感。

如果我们想要手工绘制出字符画,首先要有扎实的美术基础,其次还要花费大量的时间和精力。但是我们可以使用Python,只需要几行代码,就能够将一张图片轻而易举地转化为一个字符画。

这幅小猪佩奇就是利用Python的PIL库,通过字符代替颜色的方法完成的字符画。

我们知道一张RGB模式的图片是由很多个像素点组成的,而每一个像素点都有不同的颜色,而这个颜色可以由三个值表示(RGB,范围0-255),这三个值对应组成这种颜色的三原色百分比。所以RGB模式总共可以表现256×256×256=16777216种颜色。如果可以将每个像素根据颜色找一个字符替换,这样就能形成一个字符图画了。

那么问题来了,我们没有这么多种字符来一一对应每种颜色啊,这时就要引入灰度概念了,对于黑白图像中的像素我们可以用灰度值表示其颜色深度,范围一般从0到255,白色为255,黑色为0。这种图片也称灰度图像,我们可以通过RGB转化灰度公式将像素的RGB值映射成灰度值。这个公式具体算法不止一种(常见的有三种),算出的结果也略有不同,有兴趣的同学可以百度搜索一下其中的算法。……

登录APP查看全文