ASCII Art—使用纯文本来显示图像

电玩女神 2022-05-29 03:55 512阅读 0赞

ASCII Art—使用纯文本来显示图像:综述

  • ASCII Art使用纯文本来显示图像综述

    • 什么是ascii art
    • 如何生成ascii art

      • 1基于图像灰度的ascii图像生成方法tone based method
      • 2基于字符本身特征的图像生成方法structure based
    • 研究ascii art的意义

1.什么是ascii art

Acii art是一种使用连续排列的ascii字符进行图形设计的技术。它可以显示在任意的文本框中。 ——维基百科.

简单的说,ascii art就是使用字符串表示图像的一种技术,我们日常说的字符画即是它的一种形式。从某种意义上来说,我们聊天中使用的颜文字也是一种ascii art。它的一个典型的例子如下图:
wikipedialog

图1

ascii art出现于上世纪70年代,最初是当时电脑显示技术不发达时用于显示简单图像的一种娱乐。后来逐渐流行开来,有了专门以此为兴趣的艺术家和研究者。去年底siggrah asia还专门开放了ascii art专场,涌现了许多对ascii art对研究和讨论,并促进着其他领域的发展。

随着网络技术的发展,ascii art对的外延也有所扩展。各种富文本格式的出现和、unicode字符集的广泛使用形成了许多新的艺术形式。但是在此我们讨论的还是原始意义上的ascii字符,即使用128个ascii字符集中的95个的(等宽)纯字符。

纯字符的意义在于它可以显示于任意环境中,并得到较为一致的效果。它的魅力在于用简单的东西,通过不简单的手段,造就令人惊叹的成果。

  1. |\_/| **************************** (\_/)
  2. / @ @ \ * "Purrrfectly pleasant" * (='.'=)
  3. ( > º < ) * Poppy Prinz * (")_(")
  4. `>>x<<´ * (pprinz@example.com) *
  5. / O \ ****************************
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

图2

2.如何生成ascii art

ascii art是一种富有新意和趣味性的艺术活动。同时也一直有人探究自动生成它的方案。基于ascii art的不同分类。目前也有两个研究方向。其中基于像素灰度的生成方法已经比较通用和完善。但是基于字符本身特征的生成方法尚不能与人工生成的图像相比。

1)基于图像灰度的ascii图像生成方法(tone based method)

基于图像灰度的生成方法是比较具有通用性的一种方法。所谓通用性是指,输入任意一张图像,总能给出符合最优的ascii字符图像。下图是这种方法生成图像的一个例子:

tone-based

顾名思义,这种方法的基本思想是使用不同的字符来代替不同灰度的像素点。对于较亮的像素点使用较小的字符,对于较暗的像素点使用较大的字符(事实上,在打印机刚出现的很长一段时间,都是使用类似的思想单色的喷墨来实现灰度图像的打印)。对这种方法对研究研究比较完善,网上可以下载到相关的转换工具,甚至还有人发现可以利用人眼与显示器的成像原理使用纯字符表现出颜色。

这种方法的实现较为简单,笔者将在下一篇文章中使用python对此种方法进行实现。

2)基于字符本身特征的图像生成方法(structure based)。

使用此种方法生成图像的例子如下:
tone-based

可以看到,生成的图像中巧妙的利用了字符本身的笔画特征来模拟原图的边缘。因此显得更为稀疏和具有艺术性。

此类图像的生成有多种思路。常用的一种思路是建立图像的评估函数f=diff+alpha∗deformf=diff+alpha∗deform。函数diff为原图与生成图像的差异,deform为在容忍范围内对原图进行的扭曲。设生成图像为I1。当前生成字符为xi。求解xi=argminxif(I1)xi=arg⁡minxi⁡f(I1)。具体实现上多有不同,往往采用分治、动态规划等方法降低运算量。

近年来随着机器学习的广泛使用。也有人利用深度学习的方法来生成ascii art,并取得了较好的效果。本系列第三篇文章将对此类图像的ascii字符图生成进行探讨。并结合目前的技术发展状况,对这一领域的未来进行展望。

3.研究ascii art的意义

在许多人看来,这种不精确的图形表示方法并没有什么研究的意义,利用各种复杂的方法最终也只是得到了比较简陋和粗糙的字符画看来几乎是一种屠龙之技。然而事实上,ascii art的研究促进了许多图像处理和计算机视觉方向的发现。不同于许多需要大量知识储备的领域ascii art使用简单的模型触及了许多深刻的问题,使得研究者能够更加的专注于问题的本身。

退一步来看,科研从来不是为了能够取得短期内可见的收益,而一项工作的意义也并不只有“价值”这一项评判指标。就如同ascii art最初创始时不过是作为一种娱乐。“有趣”其实要比“有用”更加难得。

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/u011746496/article/details/70037734

发表评论

表情:
评论列表 (有 0 条评论,512人围观)

还没有评论,来说两句吧...

相关阅读

    相关 生成ASCII图像

    我们经常见到在一些项目的启动的过程中有一些特殊的字符来标识这个项目,比如Redis,又或者SpringBoot,那么这些字符是怎么做到的呢,如果你认为是一个一个敲的,那就out