有一些不错的免费的“图像到ASCII艺术”转换站点,例如:ASCII-art.org
这样的图像转换算法如何工作?
,
。,
WW @
WW
,W,:W * .W。
#WW @WW WW#
W WW.WWW WW:W
W.WW * WWW#WW @ W
*:WW.WWWWWWW @ WWW @ W#
+ *#WW#WWWWWWWWWWWWWWW#W
W#@WWWWWWWWWWWWWWWWWWW W
WW WWWWWWWWWWWWWWWWWWWW W
WW WWWWWWWWWWWWWWWWWWWW @ W#
,WW.WWWWWWWWWWWWWWWWWWWWWWW
WW @ WWWWWWWWWWWWWWWWWWWWWWW
:WWWWWWWWWWWWWWWWWWWWWWWWWWWW:
@ WWWWWWWW @ WWWWWWW @@ WWWWWW。
W * WWWWWW :::: @@ WWW :::::#WWWWW
WWWWWW @ :::+ *::: @ WWWW
WWWWW @:*:。::。,。:。:WWWW
@WWWW#:。:::。。::#:@ WWW
:万维网@:#。:::WWWW:@WWWW
WWW#*:W @ * @ W。W:#WWW
#WWWW:@ :: :: * WWWW
W @ WW * W。::,。:::::: + @@ WW#,
WWWW ## ,,。:。:::。:。。万维网:,
@ WWW @:W .. :::::#。:WWWW
WWWW :: * ..:。::。,。:WWWW
WWWW :::。:。:::::,@ WW @
WWWW:。:,::,,:WW,
。:#:,:*
W +。,:::。,:@
W ::。:W
@ ,,, W:。,, :: * @ * :,。:@W。,, @
+ ..... *:::。。#WWWWW::。#:.... +,
@ ... ::: *:,,::WWWWWWW,,* :::: ..,#
:... :::::: W :, @W :::: * W。:W ::::: ......#
@@@@@@@@@@@@ W @@@@@ W @@@@@@@@@@@@@@@@@@@@@@@@@@@:
总体概念很简单:
可以为每个可打印字符分配一个近似的灰度值;例如,“ at”符号@
在视觉上明显比“ plus”符号暗+
。效果会有所不同,具体取决于实际使用的字体和间距。
根据所选字体的比例,将输入图像分为宽度和高度恒定的矩形像素块(例如,一个矩形,宽4像素,高5像素)。每个这样的块将在输出中成为一个字符。(使用刚刚提到的像素块,一个240w-x-320h的图像将变成64行,每行60个字符。)
计算每个像素块的平均灰度值。
对于每个像素块,选择一个其灰度值(来自步骤1)与像素块平均值(来自步骤3)的近似值良好的字符。
这是最简单的练习形式。当打破像素块的候选者之间的联系时,更复杂的版本还将考虑字符的实际 形状
。例如,对于似乎具有左下至右上对比度特征的像素块,/
“斜线”(\
)比“反斜线”()更好。