Settings

The page will reload to apply your changes.
Theme

ASCII Art Font

ASCII Art Menu

Original Usenet message from alt.ascii-art, 27 Apr 2001.
Re: image 2 ascii logo

Re: image 2 ascii logo

In alt.ascii-art, Markus Gebhard  <ukg...@rz.uni-karlsruhe.de> wrote:
> Eli the Bearded wrote:
[asked about algorithms for image->ascii]
> So my algorithms are based on gray shades which only seem to work for up
> to a grid of 2x2, while other algorithms are based on a black/white
> decission. E.g. you can take a 3x3 grid and asign black/white pixels for
> each region to each ascii character:

The tool that did that rendering of the logo looks at black and
white pixels from a 4 tall and 2 wide grid. I've posted a perl
script here that takes a grayscale image which has been already
scaled 50% in height and tries to pick a single best character
for each pixel. Below I've charted the input and output of the 
4x2 method. Beware: it is long. (500+ lines, easily made thanks
to perl's "format" command.)

I'm working on another method that tries to assign characters based
on a 2x2 grid black and white grid. It will again assume the image
has been reduced in its Y-scale to match the font proportions. (I
think this is a cleaner way than 2x1, 3x1, 4x2, etc, since it makes
it easier to scale for fonts that are not exactly twice as tall as
wide.)

> For future enhancements in Jave's image2ascii tool, I consider writing
> additional algorithms by
> a) trying grey shades in a 2x3 or 3x2 raster
> b) using the black/white methode with some ideas I have
> 
> So now that I have put my cards on the table, what are your ideas and
> experiences?

Elijah
------
also working on mosaics of image thumbnails

format =
 @|||||||||||      @|||||||||||      @|||||||||||      @|||||||||||
 $h[0]{i},         $h[1]{i},         $h[2]{i},         $h[3]{i},
 @<<<<<<<<<<<      @<<<<<<<<<<<      @<<<<<<<<<<<      @<<<<<<<<<<<
 $h[0]{b},         $h[1]{b},         $h[2]{b},         $h[3]{b},

 ^<                ^<                ^<                ^<
 $h[0]{b},         $h[1]{b},         $h[2]{b},         $h[3]{b},
 ^<       @<       ^<       @<       ^<       @<       ^<       @<
 $h[0]{b},$h[0]{c},$h[1]{b},$h[1]{c},$h[2]{b},$h[2]{c},$h[3]{b},$h[3]{c}
 ^<                ^<                ^<                ^<
 $h[0]{b},         $h[1]{b},         $h[2]{b},         $h[3]{b},
 ^<                ^<                ^<                ^<
 $h[0]{b},         $h[1]{b},         $h[2]{b},         $h[3]{b},


.

      0                 1                 2                 3
 00 00 00 00       10 00 00 00       01 00 00 00       11 00 00 00

 00                10                01                11
 00                00       '        00       `        00       "
 00                00                00                00
 00                00                00                00


      4                 5                 6                 7
 00 10 00 00       10 10 00 00       01 10 00 00       11 10 00 00

 00                10                01                11
 10       -        10       '        10       '        10       '
 00                00                00                00
 00                00                00                00


      8                 9                 10                11
 00 01 00 00       10 01 00 00       01 01 00 00       11 01 00 00

 00                10                01                11
 01       -        01       `        01       `        01       `
 00                00                00                00
 00                00                00                00


      12                13                14                15
 00 11 00 00       10 11 00 00       01 11 00 00       11 11 00 00

 00                10                01                11
 11       -        11       ^        11       ^        11       "
 00                00                00                00
 00                00                00                00


      16                17                18                19
 00 00 10 00       10 00 10 00       01 00 10 00       11 00 10 00

 00                10                01                11
 00       .        00       :        00       :        00       :
 10                10                10                10
 00                00                00                00


      20                21                22                23
 00 10 10 00       10 10 10 00       01 10 10 00       11 10 10 00

 00                10                01                11
 10       |        10       |        10       /        10       ?
 10                10                10                10
 00                00                00                00


      24                25                26                27
 00 01 10 00       10 01 10 00       01 01 10 00       11 01 10 00

 00                10                01                11
 01       /        01       >        01       /        01       >
 10                10                10                10
 00                00                00                00


      28                29                30                31
 00 11 10 00       10 11 10 00       01 11 10 00       11 11 10 00

 00                10                01                11
 11       ~        11       +        11       /        11       *
 10                10                10                10
 00                00                00                00


      32                33                34                35
 00 00 01 00       10 00 01 00       01 00 01 00       11 00 01 00

 00                10                01                11
 00       .        00       :        00       :        00       :
 01                01                01                01
 00                00                00                00


      36                37                38                39
 00 10 01 00       10 10 01 00       01 10 01 00       11 10 01 00

 00                10                01                11
 10       \        10       \        10       <        10       <
 01                01                01                01
 00                00                00                00


      40                41                42                43
 00 01 01 00       10 01 01 00       01 01 01 00       11 01 01 00

 00                10                01                11
 01       |        01       \        01       |        01       ?
 01                01                01                01
 00                00                00                00


      44                45                46                47
 00 11 01 00       10 11 01 00       01 11 01 00       11 11 01 00

 00                10                01                11
 11       ~        11       \        11       +        11       *
 01                01                01                01
 00                00                00                00


      48                49                50                51
 00 00 11 00       10 00 11 00       01 00 11 00       11 00 11 00

 00                10                01                11
 00       -        00       :        00       :        00       :
 11                11                11                11
 00                00                00                00


      52                53                54                55
 00 10 11 00       10 10 11 00       01 10 11 00       11 10 11 00

 00                10                01                11
 10       ~        10       ?        10       <        10       <
 11                11                11                11
 00                00                00                00


      56                57                58                59
 00 01 11 00       10 01 11 00       01 01 11 00       11 01 11 00

 00                10                01                11
 01       ~        01       >        01       ?        01       >
 11                11                11                11
 00                00                00                00


      60                61                62                63
 00 11 11 00       10 11 11 00       01 11 11 00       11 11 11 00

 00                10                01                11
 11       =        11       b        11       d        11       #
 11                11                11                11
 00                00                00                00


      64                65                66                67
 00 00 00 10       10 00 00 10       01 00 00 10       11 00 00 10

 00                10                01                11
 00       .        00       :        00       :        00       :
 00                00                00                00
 10                10                10                10


      68                69                70                71
 00 10 00 10       10 10 00 10       01 10 00 10       11 10 00 10

 00                10                01                11
 10       :        10       !        10       /        10       ?
 00                00                00                00
 10                10                10                10


      72                73                74                75
 00 01 00 10       10 01 00 10       01 01 00 10       11 01 00 10

 00                10                01                11
 01       :        01       :        01       /        01       ?
 00                00                00                00
 10                10                10                10


      76                77                78                79
 00 11 00 10       10 11 00 10       01 11 00 10       11 11 00 10

 00                10                01                11
 11       :        11       ?        11       ?        11       P
 00                00                00                00
 10                10                10                10


      80                81                82                83
 00 00 10 10       10 00 10 10       01 00 10 10       11 00 10 10

 00                10                01                11
 00       ,        00       i        00       /        00       ?
 10                10                10                10
 10                10                10                10


      84                85                86                87
 00 10 10 10       10 10 10 10       01 10 10 10       11 10 10 10

 00                10                01                11
 10       |        10       |        10       |        10       T
 10                10                10                10
 10                10                10                10


      88                89                90                91
 00 01 10 10       10 01 10 10       01 01 10 10       11 01 10 10

 00                10                01                11
 01       /        01       ?        01       /        01       7
 10                10                10                10
 10                10                10                10


      92                93                94                95
 00 11 10 10       10 11 10 10       01 11 10 10       11 11 10 10

 00                10                01                11
 11       r        11       }        11       /        11       P
 10                10                10                10
 10                10                10                10


      96                97                98                99
 00 00 01 10       10 00 01 10       01 00 01 10       11 00 01 10

 00                10                01                11
 00       ,        00       :        00       ;        00       ?
 01                01                01                01
 10                10                10                10


     100               101               102               103
 00 10 01 10       10 10 01 10       01 10 01 10       11 10 01 10

 00                10                01                11
 10       >        10       ?        10       S        10       S
 01                01                01                01
 10                10                10                10


     104               105               106               107
 00 01 01 10       10 01 01 10       01 01 01 10       11 01 01 10

 00                10                01                11
 01       /        01       )        01       |        01       7
 01                01                01                01
 10                10                10                10


     108               109               110               111
 00 11 01 10       10 11 01 10       01 11 01 10       11 11 01 10

 00                10                01                11
 11       >        11       $        11       $        11       &
 01                01                01                01
 10                10                10                10


     112               113               114               115
 00 00 11 10       10 00 11 10       01 00 11 10       11 00 11 10

 00                10                01                11
 00       v        00       ?        00       ?        00       $
 11                11                11                11
 10                10                10                10


     116               117               118               119
 00 10 11 10       10 10 11 10       01 10 11 10       11 10 11 10

 00                10                01                11
 10       +        10       }        10       $        10       F
 11                11                11                11
 10                10                10                10


     120               121               122               123
 00 01 11 10       10 01 11 10       01 01 11 10       11 01 11 10

 00                10                01                11
 01       /        01       $        01       /        01       &
 11                11                11                11
 10                10                10                10


     124               125               126               127
 00 11 11 10       10 11 11 10       01 11 11 10       11 11 11 10

 00                10                01                11
 11       p        11       D        11       &        11       H
 11                11                11                11
 10                10                10                10


     128               129               130               131
 00 00 00 01       10 00 00 01       01 00 00 01       11 00 00 01

 00                10                01                11
 00       .        00       :        00       :        00       :
 00                00                00                00
 01                01                01                01


     132               133               134               135
 00 10 00 01       10 10 00 01       01 10 00 01       11 10 00 01

 00                10                01                11
 10       :        10       \        10       :        10       ?
 00                00                00                00
 01                01                01                01


     136               137               138               139
 00 01 00 01       10 01 00 01       01 01 00 01       11 01 00 01

 00                10                01                11
 01       :        01       \        01       !        01       ?
 00                00                00                00
 01                01                01                01


     140               141               142               143
 00 11 00 01       10 11 00 01       01 11 00 01       11 11 00 01

 00                10                01                11
 11       :        11       ?        11       ?        11       $
 00                00                00                00
 01                01                01                01


     144               145               146               147
 00 00 10 01       10 00 10 01       01 00 10 01       11 00 10 01

 00                10                01                11
 00       \        00       \        00       :        00       ?
 10                10                10                10
 01                01                01                01


     148               149               150               151
 00 10 10 01       10 10 10 01       01 10 10 01       11 10 10 01

 00                10                01                11
 10       \        10       |        10       (        10       $
 10                10                10                10
 01                01                01                01


     152               153               154               155
 00 01 10 01       10 01 10 01       01 01 10 01       11 01 10 01

 00                10                01                11
 01       <        01       %        01       ?        01       Z
 10                10                10                10
 01                01                01                01


     156               157               158               159
 00 11 10 01       10 11 10 01       01 11 10 01       11 11 10 01

 00                10                01                11
 11       <        11       $        11       $        11       &
 10                10                10                10
 01                01                01                01


     160               161               162               163
 00 00 01 01       10 00 01 01       01 00 01 01       11 00 01 01

 00                10                01                11
 00       ,        00       \        00       i        00       ?
 01                01                01                01
 01                01                01                01


     164               165               166               167
 00 10 01 01       10 10 01 01       01 10 01 01       11 10 01 01

 00                10                01                11
 10       \        10       \        10       ?        10       \
 01                01                01                01
 01                01                01                01


     168               169               170               171
 00 01 01 01       10 01 01 01       01 01 01 01       11 01 01 01

 00                10                01                11
 01       |        01       |        01       |        01       T
 01                01                01                01
 01                01                01                01


     172               173               174               175
 00 11 01 01       10 11 01 01       01 11 01 01       11 11 01 01

 00                10                01                11
 11       ?        11       \        11       4        11       9
 01                01                01                01
 01                01                01                01


     176               177               178               179
 00 00 11 01       10 00 11 01       01 00 11 01       11 00 11 01

 00                10                01                11
 00       v        00       ?        00       ?        00       $
 11                11                11                11
 01                01                01                01


     180               181               182               183
 00 10 11 01       10 10 11 01       01 10 11 01       11 10 11 01

 00                10                01                11
 10       \        10       \        10       $        10       &
 11                11                11                11
 01                01                01                01


     184               185               186               187
 00 01 11 01       10 01 11 01       01 01 11 01       11 01 11 01

 00                10                01                11
 01       +        01       $        01       {        01       &
 11                11                11                11
 01                01                01                01


     188               189               190               191
 00 11 11 01       10 11 11 01       01 11 11 01       11 11 11 01

 00                10                01                11
 11       q        11       &        11       &        11       H
 11                11                11                11
 01                01                01                01


     192               193               194               195
 00 00 00 11       10 00 00 11       01 00 00 11       11 00 00 11

 00                10                01                11
 00       _        00       :        00       :        00       ?
 00                00                00                00
 11                11                11                11


     196               197               198               199
 00 10 00 11       10 10 00 11       01 10 00 11       11 10 00 11

 00                10                01                11
 10       :        10       ?        10       ?        10       $
 00                00                00                00
 11                11                11                11


     200               201               202               203
 00 01 00 11       10 01 00 11       01 01 00 11       11 01 00 11

 00                10                01                11
 01       :        01       ?        01       ?        01       $
 00                00                00                00
 11                11                11                11


     204               205               206               207
 00 11 00 11       10 11 00 11       01 11 00 11       11 11 00 11

 00                10                01                11
 11       :        11       $        11       $        11       &
 00                00                00                00
 11                11                11                11


     208               209               210               211
 00 00 10 11       10 00 10 11       01 00 10 11       11 00 10 11

 00                10                01                11
 00       \        00       ?        00       ?        00       $
 10                10                10                10
 11                11                11                11


     212               213               214               215
 00 10 10 11       10 10 10 11       01 10 10 11       11 10 10 11

 00                10                01                11
 10       ?        10       L        10       $        10       [
 10                10                10                10
 11                11                11                11


     216               217               218               219
 00 01 10 11       10 01 10 11       01 01 10 11       11 01 10 11

 00                10                01                11
 01       <        01       Z        01       /        01       Z
 10                10                10                10
 11                11                11                11


     220               221               222               223
 00 11 10 11       10 11 10 11       01 11 10 11       11 11 10 11

 00                10                01                11
 11       c        11       k        11       &        11       R
 10                10                10                10
 11                11                11                11


     224               225               226               227
 00 00 01 11       10 00 01 11       01 00 01 11       11 00 01 11

 00                10                01                11
 00       ,        00       ?        00       ?        00       $
 01                01                01                01
 11                11                11                11


     228               229               230               231
 00 10 01 11       10 10 01 11       01 10 01 11       11 10 01 11

 00                10                01                11
 10       >        10       \        10       S        10       S
 01                01                01                01
 11                11                11                11


     232               233               234               235
 00 01 01 11       10 01 01 11       01 01 01 11       11 01 01 11

 00                10                01                11
 01       ?        01       $        01       J        01       ]
 01                01                01                01
 11                11                11                11


     236               237               238               239
 00 11 01 11       10 11 01 11       01 11 01 11       11 11 01 11

 00                10                01                11
 11       >        11       &        11       1        11       9
 01                01                01                01
 11                11                11                11


     240               241               242               243
 00 00 11 11       10 00 11 11       01 00 11 11       11 00 11 11

 00                10                01                11
 00       o        00       b        00       d        00       &
 11                11                11                11
 11                11                11                11


     244               245               246               247
 00 10 11 11       10 10 11 11       01 10 11 11       11 10 11 11

 00                10                01                11
 10       b        10       b        10       &        10       6
 11                11                11                11
 11                11                11                11


     248               249               250               251
 00 01 11 11       10 01 11 11       01 01 11 11       11 01 11 11

 00                10                01                11
 01       d        01       &        01       d        01       H
 11                11                11                11
 11                11                11                11


     252               253               254               255
 00 11 11 11       10 11 11 11       01 11 11 11       11 11 11 11

 00                10                01                11
 11       #        11       H        11       H        11       M
 11                11                11                11
 11                11                11                11

Original message headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f996b,7f7d1aa9b39cc9f5
X-Google-Attributes: gidf996b,public
X-Google-ArrivalTime: 2001-04-27 11:39:22 PST
Path: newsfeed.google.com!newsfeed.stanford.edu!novia!howland.erols.net!panix!news.panix.com!qz!not-for-mail
From: Eli the Bearded <*@qz.little-neck.ny.us>
Newsgroups: alt.ascii-art
Subject: Re: image 2 ascii logo
Date: 27 Apr 2001 18:39:18 GMT
Organization: Some absurd concept
Lines: 628
Message-ID: <eli$010...@qz.little-neck.ny.us>
References: <eli$010...@qz.little-neck.ny.us> <3AE...@rz.uni-karlsruhe.de> <eli$010...@qz.little-neck.ny.us> <3AE...@rz.uni-karlsruhe.de>
NNTP-Posting-Host: panix1.panix.com
X-Trace: news.panix.com 988396758 9942 166.84.0.226 (27 Apr 2001 18:39:18 GMT)
X-Complaints-To: abu...@panix.com
NNTP-Posting-Date: 27 Apr 2001 18:39:18 GMT
X-Files: Used for sharpening claws and teeth on your hawk and hacksaw
X-Motto: "Erosion of rights never seems to reverse itself." -- kenny@panix
X-US-Congress: Moronic Fucks.
X-Attribution: EtB
X-Usenet-II: Because it is time for October.
Encrypted: double rot-13
X-Newsreader: Sony Playstation 5.0MIPS
Xref: newsfeed.google.com alt.ascii-art:5510
About this message. This message was posted publicly to the newsgroup alt.ascii-art in 2001 and is mirrored here unchanged as part of the Historic Archives – only email addresses are masked. The artwork and text belong to their original authors: if you copy a piece, keep the artist's initials or signature intact and credit them where you can. Are you the author? Contact us to get your posts attributed, connected to your artist profile, or removed.