前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python图像处理-字符画风格图片

python图像处理-字符画风格图片

作者头像
叶子陪你玩
发布2020-03-12 15:35:24
9260
发布2020-03-12 15:35:24
举报
前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

前言

字符画图片,顾名思义就是由一个个字符组成的图片,下面这张图片很容易帮助你理解,如果我们可以将字符排列好,让他看上去像一个物体的形状,那么最后再将它输出保存为一张图片就可以实现了。

下面的这些形状同样可以使用这种方式实现。

上面的图像看上去还是很不错的,如果要实现一个很复杂的图片,且展示出很多细节特征,那之前的方法就有点不可取了,比如下面的图片。

通过我们今天的程序来处理,就可以很高效实现这种比较复杂且细节比较多的字符画了。

实现原理

我们知道字符画是一系列字符的组合,那要如何将它们变成字符画呢。

这里要解决三个问题:

1.如何将图片变成一个个字符。2.接着要将他们有序的组织在一起。3.显示出它们对应的颜色,从而形成一张彩色的字符画。

我们将一张图片想象成由行列组成的方格矩阵。

方格的每一个位置根据颜色的不同来填写对应的字符,字符的种类越多,可以表现的颜色也越多,图片也会更有层次感。问题来了,我们是要转换一张彩色的图片,这么多的颜色,要怎么对应到单色的字符画上去?这里就要介绍灰度值的概念了。

灰度值:指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图片也称灰度图像。

现在只有256种可能了,我们找找一串字符,有70个,总体的排列顺序是前面的像素更高,看上去更黑,越往后越低,看上去更亮,数量还是不够,我们可以通过比例来获取将256划分成70等份,每个字符就可以代表一个范围的颜色了。

字符画文字实现

上面最后虽然出现了结果,由于像素比较高,导致字符串非常多,下面我们去缩小一下整个图片,改善显示效果。

上面效果就比较好了,仔细放大查看一下,里面的确全是字符组成的。

变成图片

上面是将字符保存在文件里的,下面看看如何将其保存为图片。因为是通过将文字写到图片里面去的,文字有大小,如果直接用原来文字大小的图片是放不下去的,这里通过将图片变大一点乘以15,目的是为了放下所有文字。

彩色字符画图片思路

上面实现了黑白字符画图片,如果要实现彩色字符图画,可以将原来的图片在创建一份保留色彩的,在循环中获取对应灰度的时候,在获取对应位置的颜色值,写入时将颜色也同时写入就可以实现彩色字符画效果了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 实现原理
  • 字符画文字实现
  • 变成图片
  • 彩色字符画图片思路
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档