¿Cómo funciona Dominación?
La generación de fotomosaicos no es en realidad muy dificil en términos teóricos. En este programa la aproximación al problema fue por demás elemental. Los pasos a seguir son los siguientes:
i. Se toma una imagen a procesar (bmp en este caso). La imagen debe tener ciertas características, las cuales se discutirán más adelante.
ii. Se divide dicha imagen en una cuadrícula de 25x25 pixeles (para los dominós) y de 16x25 pixeles (para las cartas de la baraja).
iii. Se revisa cuántos puntos oscuros (arriba de cierto valor, pues), hay en una región de 25x25 pixeles (o de 16x25) y de acuerdo a esto se compara contrauna tabla, la cual contiene un mapeo que va de cantidad de puntos hallados contra la ficha de dominó (o la carta de la baraja) que se debe poner. Dicho de otra manera, por ejemplo, para el caso de las cartas de la baraja, si se tienen una cantidad determinada de puntos, se pone un valor que va del AS al 10 pasando por las cartas con figuras (jota, reina o rey) , por supuesto. Mientras más puntos negros haya en la subregión procesada, mayor es el valor de la carta a poner. El AS por ejemplo, es la carta con valor de negro de menor rango, mientras que la jota, reina y rey son la de mayor peso. Como estas últimas tres cartas son equivalentes en lo que se refiere a tono de negro que representan, el programa las elije al azar.
Imágenes o tipos de letra
Los fotomosaicos están hechos de imágenes más pequeñas que cuando se juntan forman la imagen deseada. Usar imágenes tiene sus pros y contras. Los pros es que se puede colocar cualquier tipo de imagen de cualquier tema. Los contras, fundamentalmente el tamaño en memoria de cada una de estas imágenes.
La opción entonces es, en lugar de usar imágenes, el usar tipos de letra truetype. Debido a que en realidad un tipo de letra truetype es simplemente un mapeo de los símbolos ASCII con un dibujo vectorial específico, lo que el programa hace es poner en un archivo de texto, línea por línea, el caracter que representa cada carta (o cada ficha de dominó) en particular. Basta asignar a cada mapeo, a cada letra pues, el equivalente al tono de gris (la cantidad de puntos negros), que deseamos representar. De esta manera, es posible --en principio-- poner cualquier tipo de símbolo que elijamos.
La virtud de este tipo de enfoque es que permite escalar al tamaño que deseemos la imagen procesada por el programa de fotomosaicos de dominó. Los tipos de letra truetype son invariantes a la escala, por lo cual, la salida impresa (en una impresora láser, por ejemplo), hace que el resultado sea más preciso y fino que si usamos imágenes de fichas de domino, las cuales, al no ser invariantes a la escala, se degeneran cuando se hacen cada vez más grandes.
En resumen, la imagen a procesar se convierte en una malla cuadriculada de subregiones. En cada una de ellas el programa revisa el tono de negro promedio que tiene y pone un caracter que representa ese tono en el tipo de letra usado, ya sea dominós o cartas de una baraja.