sábado, 23 de junio de 2012

Collage


Otra imagen ASCII

Glassgiant.com - JPEG / JPG Picture to ASCII Art Generator
IIIIIIIIIIII????????????????????????????????????IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
III?????????????????????????????????????????????????????I?IIIIIIIIIIIIIIIIIIIIII
I??????????????????????????????????????????????????????????????III??I?IIIIIIIIII
??????????????????????????????????????????????????????????????????????????IIIIII
????????????????+++++++++++++???????????????????????????????????????????????????
????+?+?++++++++++++++++++++++++++++++??????????????????????????????????????????
?+++++++++++++++++++++++++++++++++++++++++++????????????????????????????????????
+++++++++++++++++++~+++++++++++++++++++++++++++++++?++???+??????????????????????
+++++++++++=++==+==,==++++==+=++++++++++++++++++++++++++++++++???+??????????????
++=================.===========+==+++++++++++++++++++++++++++++=?++++???????????
=============I?+=====================++++++++++++++++++++++++++,+++++++++++++???
======~=====ZI++==~==~~~~==================+===+++=+=++++++OIOII?=+++++++++++++?
~~~=~~~==~~87D7IDI+==~~~~~~~~~~~~=~~~===================8DNOZ$?7I??+++++++++++++
~~~~~~~~~~~N$++=====~+:~:??:~:7+IZ~~~~~=====~===========O88O7Z?II+++++++++++++++
~~~~:::~::~Z++===+:=~+?I+??+N?I+?7~~~~~~~~~~~~==~~=~====+OO8D8$ONN++=======+==++
:::::~:,...8I=~~~+:=~=+?=+7?II77+I,,,,::~~~~~~~~+~7=O+==ODD887?I?+===========+++
:::,,.,,...Z?+=+====:+=?+=I7II$?+I::~~~~~~::::::?I?I7I==+DDD8D??I++=============
::::,,,,...O+=~==+~~::::~=Z8Z+=7II,~::::,,:::~~=ZDDNN8O=8DND8O$II?==============
::,,,,.....Z+=~====~~~~O8~=?++I?I??II~II7~?II$7DNNNNDDONDND$7ZZ?7?+====~=~~~~~=~
:,,.,,,.,..O==~===7=7Z87O8+=++?+=+???II=~=~+?ONNNNNMMDOOD8Z8O$8O?=+=~~~~~~~~~~~~
,,,:,,.,,,,$==+++O:=OZD$OD+?+++=I==++I?I$$II7OODNDNNNZON8$O8O8DI??++~~~~~~~:~~~~
,,:,,,,,,,87++++?=:+8NNNN887ODZ?+7=Z,~~:~::?O7ZODZZNNDZDN8DD8O8I$???:::::~~~~~~:
,,,,,:=$I:87+++++===8NNNM8ODOO?+?7IZ:~=:=:77Z$7Z8?ID$OOZMN8NOZIII+++:::::::~?++=
?7?$O7?Z8,8I+++===?=88O8ND8DN$OOOZOZ===~~~7$$$7O87OZ8OODNNNND8$II?++:,:::,=:=+I?
7OD8$7$Z$7ZO++I=?=?+OOOO8888OOI88Z8DII~==~=I7IZO8IO=7Z$8NZMOD8OZ??+=?,,~$Z7Z$OOO
?=ID8$78O8N7?=+=?=~?OO$$Z8888OZ$$ZZZ,I=7I?ZZ+I$Z8$?D=$7NNMDOO88ZZ$+?I:888OZ88$7O
ZZZZ$ZO$$Z$7====+.?DO8$7?7ZOZOOZ$8Z7.=$,.7++OOZ8O$=?7OZZZDZMO8O8$O$$8OD888DOO888
888OOOOZZ$ZZIIZZZ$ZODZDD77IZDZZDOOOZ.7=.+7,IDD78O~$77?8DN8ND8OODOZZZ8DDOO8D88DDN
DDD8D8O88OOOZ$Z88O8O7Z$DZOZDDZOMO$77$OZ7=+8DDNDDD7I+~~INNNNN8NZDDDDNND88O8OD8NMM
DDD8O8888ZOOOOZO$$ODD88OD78ZNDZZDZOZZ$$I+$NN8ZIOD88DINDNNMNNMNMODNDN8O8NNNNDDNMD
D8DD88ODZOOO88O8OZOZOD8NND8ND$IZ7N7O$I7MM78DON$88DNNMNDMMMNNMN8NDNNNNDMNMMMMMDDD
8DDODD8888OO8O8D8$O8O$ZNDOOOOO7=7NNOZ7+NM88ND8NMMNMMMMND$MNNMMNDNNDD8D8O88DD8OD8
D88O8NDDD88OOZD88NOO7ZOZDI$8D8OOOOZZ77?DNNNDDNMNDDMNMMNMMNNNMMNMNNMNNNDDDDN8N8NN
88888D88DO8888OD888MNZOZO$+?+++++?++++??????????????I77$MD$ODDDDDDDDDNNNMMNMNDDD
DO88888DD8OO8DMNDDNNDZOOZZZ?++++++++++++?+++????+???+???M87N???7$ONDNNNNNMMM$8O8
D888D888O8D88MMMMDDNDZ8DOOO++++++=++++???+??+??+?+????IINO78II??II7$$$ZZZ$ZZZOZZ
ZZZOZ$ZOZZZDZDNOZDDDOZZ7I?+++=+====+===+==++?++++??IZZ8Z$ZZZZZOZZZOOOZOOOOOOOOOO
ZZZZZZZZZZ$ZZZ$$Z$?7+==+??++++++=++=?+++++++++++++++?I$8ZZZOZZZZZ$ZZOZZOOZ8O88OO
                                                                 GlassGiant.com

Un ASCII generado

Glassgiant.com - JPEG / JPG Picture to ASCII Art Generator
.============================================================================:. 
.============================================================================:. 
.===============================++=+===+=====================================:. 
.============================I?$OI?+++I?77I+=================================~. 
 ===========================I87I7OZ$7$ZODO888I7+=============================~. 
 =========================+D$D8DDDDNNNNNNNDDNNDZ?+===========================~. 
.=========================+DNNDNNNNNNNNNNNNNNNNDDND==========================~. 
 ========================?NNNNNNNNNNNNNNNNNNNDDNNNDND$=======================~. 
.====================+$NNNNNNNN8NNNNNNNNNNNNNNDNNNNNNND======================~. 
.===================IDNNNNNNNDNND8OOO8ODNNNNNNNNNNDNNDNNO====================~. 
.==================+DNNNNNNND8Z7I???++??I$ZO8OODNNDNNDNNNO===================~. 
.==================8NNNNNN8O7???+++=~======+++++?ODDNDNND7+==================~. 
.=================+NNNNNNZI?++=~~~~~~=~~:::~~~~=~+7DNDDNDD===================~. 
.=================ZNNNND87?++===~~::::::::::::~~~~+ZNDNDDD8==================~. 
.=================8NNNNDZI?+====~~~:~:~~:::::~~~~~~?DDDNDND==================~. 
.==+++============8NNNNNZI?+++=~::::::~::::::::::~~=D8DDDDD?=================~. 
.+++++++==++=+====DNNNNDII??==~::::,,::,,,,,,,:~~~~=8DNNDDDI=================~. 
.+++++++++++++====+NNNNZII?OOOD8Z++:,,,,,,:??77I7~=~IDDNNDDI=================~. 
.+++++++++++++++==+NNNNIIDOZ7??I7$7I=:::+?7I?++$$$O+=ZNNDND+==================. 
.++++++++++++++++==NNN$?77??$7+??777+~::=??I?+++=~=I~~8NNDD+==================. 
.++++++++++++++++++ONNI?$IIZDI7I.??7?~:~++I,D$OII=~=~~=NNNO===+==+++====+=====. 
.+++++++++++++++++=?DNI+?II$I~Z~+I+I?~:=?=?++I~+?=~:::~DDNI===+======++==+====. 
.+++++++++++++++++$7ON?++??II?+??=I7+~:~=~~=+===~~::::~DZ~=+=+=+++++++==+=====. 
.+++++++++++++++++II+NI+=~~~~~~~=+??+~::~~:::,,,,,,,::~D~,=?==++++++++++======. 
 +++++++++++++++++II+DI?+=::,:~~~=?I?~:~~~:,,:,,,,,,::~D+:=I=++++=+=++=++=====. 
.+++++++++++++++++=I?8I?+=~:::~==+?I?~:~=~:,,:,,,,::::~8++=:+++++==+++========. 
.++++++++++++++++++=?$Z?+=~::~~~=+?+=,.:~~:,,,,,,,,::~+I?=~=+=++++++++========. 
.+++++++++++++++++++?+OI?+=~~:~~=?IO?~~I8~~:,,,,,:,::=7=:~===++====++=+=======. 
.+++++++++++++++++++=?O7?+==~~==+?7Z7=:~+==~:,,,,::~~+$~::==+=====+++=========. 
.++++++++++++++++++++?7OI?++=~+?7ZODZI$?8ZZ$?:,,,::~~?O+~=+==+===++===========. 
 ++?++++++++++++++++++=DI???==DDD7+~~,::~:~?DD:,:::~=7Z==+===+=+++++++========. 
.++++++++++++++++++++++?7I??I+8Z7OZI=I??=+???OI:~::==7=+=+====+++++++++=======. 
.++++++++++++++++++++++=8Z7I$7Z==?+=???+~~:::$7==+=?OI=+=+==+=++++++==========. 
.+++++++++++++++++++++++?DDZ$OI=====ONOZ+::::+$7?IZOZ==+==++=++++++++==+======. 
 +++++?+?+?+++++++++=++==+NDDOI===~~=?=::,:~+I$$OOD7+O=+==+=++=+++++++=+======. 
 +???+?++++++++++++++++++++DNDZ777$I7=+~+I?7?7O888?+=O=+=+++=++++++++=+++=====. 
.+++???+++?++++++++++++++ZN7$NND8DDOZOIZO$$OODNNO++=?D=+=+==+++++=++++=++=====. 
.+?????++?+++++++++++++++NN$77DDNNNNNDNNNNNNDD$?~===OD.N=+++++++++++++++=+====. 
.+?????++?+++++++++++++?=NN$III78NNNDDNNNDN8Z?===~~+N8I$D8+=+=+++++==++=======  
.+??????+?+++++++++?DNNN?DNOIII777D$O88ODO7=+=~+~=+8D,8,DDDDD88++++++====+=++=. 
.+??????+?+++++$DDDNNNNN~OND$???????+++=~~~=====~?OI=8:NDDDDNDDDD8$+++++===+=+  
.+??????????DNNNNNNNNNNN?OONOI++=++++==~~:~:~~~=I88?Z=DNDDDDNDNDDDDDD8+=++=+==. 
.+??????8NNDNNNNNNNNNNNND88DD$+=~~===~::::~~:~?$D7:?$DDDDDDDNDDDDDNDDDDD8+=+++. 
.???7DNDNNNNNNNNNNNNNNNNNOND8O?=~:~~~~::::~~+I7DD~~NNDDDDNDNNDNDNNNNDDDNDDDO+=. 
.DDNNNNDNNNNNNNNNNNNNNNNNNNNN$I+~::::~~~::~+I7ZDI,NDNDDNDDDDDDNDDDNDNDDNDDDND8. 
.DNNNNNNNNNNNNNNNNNNNNNNNN8?NDI+=~:,:::::~~?IN:Z,NNDNDDDDNDDDDDDNDDNNNNNNNDNDD  
 DDNNNNNNNNNNNNNNNNNNNNNNNNN~7,=~:,,,:::~=+?~D8.DDNDNNNNDDDDDNNNDDNNNNNNNNDNDD  
 DNNNNNNNNNNNNNNNNNNNNNNNNNI78D+::,,,,:~~=+?ZDNDNNNNNDNNDDDDDNNDNNNNNNNNNNDDDD  
 DNNNNNNNNNNNNNNNNNNNNNNNNNN8DNZ:,,,,,:~OZDDINNNNNDDNDNNDDDNNDNNDDNNNNNNNNDDDD  
.DNNNNNNNNNNNNNNNNNNNNNNNNNNND8NDD,,,~=8ON7NDNNDNDDDDDDDDDDDNNNNNDNNNNNNNNNDDD. 
.DDNNNNNNNNNNNNNNNNNNNNNNNNNNN,D8N8I:=$:DDNNNDDNNNDDDDDDDDDDNNNNNNNNNNNDNNNNDD. 
 DNNNNNNNNNNNNNNNNNNNNNNNNNNNNNND8.,?7NNNNNNDNNNNNDDNDDNDDDDDNNNDNNNNDNNNNNNDD. 
 DNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNDNNNNNNNNNNNNNNDDNNNNDNDDNNNNNNNNNNNNNNNNND. 
.DDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDNNNDNDNDNNNNNNDNDNNDDNDNDDNDNNNNNNNNNNNNDNDD  
 DNNNNNDNNNNNNNNNNNNNNNNNNNNDDNNNNNDNNNNNNNNNNNNNNDNNDNNDNDDDNNNDDNNNNNNNNNNDD. 
 DDNNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNDNNNNNNNNNNNNNDDNDNNDNDDNNNDDNNNNDDNNNNNNN. 
 DNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDDNNNNNNNNNNNNNNNNNDNNDNNNNDDDNNNNNNNNNNNNNNNND  
.DNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNNNNDNNNNNNNNDNNNNNNNNNNND  
.DNNNNNNNNNNNNNNNDNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNNDDNNNDNNNNNNNNNNNNDN  
.DNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNNNNNNDNDNNNNNNNNND. 
.DNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDNDNNNNNNNNDNNNNNNNNNNND. 
.DNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNDNDNNNNNNNNNNNNNNNNNNN. 
.DNNNNNNDNNNNNNNNNNNNNNNNNNDNDNNNNNNNDNNNNNNNNNNNNNNNNNNDNDNNNNNNNNNNNNNNNNNND. 
 DNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNDNNNNNDNNDNNNNDNNNNDNNNNNNNNDNNNNN. 
.DNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNDDDNNNNNNNNNNNDN. 
.DNNNNNNNNNNNNNNNNNDDDNNNNNNNDNNNNNNNNNNNNNNNNNNNNDNNDNNDDDDDDNNDNNNNNNNNNNNNN. 
 DNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDNDDDNNNNNNNNNNNNNNNNNDN. 
 DNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDNDDNNNNNNNNNNNNNNNNND  
.DNNNNNNNNNNNNDDDNNNNNNNNNNNNDNNDNNNNNNNNNNONNNNNNDNNDNNDDDNDDDDDNNNNNNNNNNNND. 
 DNNNNNNNNNDNDDNNNNNNNNNDNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNDNNDNNNNNNNNNNNNNNND. 
 DNNNNNNNNNDNNDNNNNNNNNNNNNNNDNDDNNNNNNNNNNNDNNNNNNNNDNNDNDDNNNNNNNNNNNNNNNNND  
 DNNNNDNDNNNDNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNDNNDNNNDDNNNNDNNNNNNNNNNNNND. 
.????++++++++++++++++====++++++++????????????+???++++++++++++++===============. 
                                                                                
                                                                 GlassGiant.com

Una propuesta de ASCII Art en Processing

En el uso de los caracteres ASCII como recurso de graficación, se podría crear un algoritmo (de hecho ya existe, habría que investigar) que permita generar a partir de una imagen, un diseño, basado en el hecho de que un caracter que genera más oscuridad representaría sombra (por ejemplo, @), mientras que un caracter que represente luz, se le colocaría un símbolo poco notorio (por ejemplo, +).

Me parecería interesante una propuesta en la que a través de la captura de video de la pantalla se genere una imágen basada en ASCII que represente la captura del video.

Buscando en la red encontré esta página que contiene un algoritmo básico para generar un caracter a partir de los grises encontrados en el sector a transformar:

http://www.c-sharpcorner.com/uploadfile/dheenu27/imagetoasciiconverter03022007164455pm/imagetoasciiconverter.aspx

La propuesta indica que primero es necesario transformar los colores en grises, para lograr esto se coloca lo siguiente (escrito en C#, pero se entiende bastante bien):

int red = (pixelColor.R + pixelColor.G + pixelColor.B) / 3;
int green = (pixelColor.R + pixelColor.G + pixelColor.B) / 3;
int blue = (pixelColor.R + pixelColor.G + pixelColor.B) / 3;
Color grayColor = Color.FromArgb(red,green,blue);

Bien. La idea básica vendría a ser el obtener el color de cada región que ocuparía un caracter en la imágen, trasladarla a un vector, y por cada valor del vector (trasladado a gris a través del proceso anterior) se genera un promedio de grises.

Este promedio de grises se almacena en un vector, donde se traslada el valor en gris por un valor en ascii, basado en el concepto anterior.