Wednesday, March 14, 2012

Un estudio informal de los semitonos



Introducción

El tramado, o dithering, de acuerdo a la inefable Wikipedia, es una técnica usada en computación gráfica para crear la ilusión de profundidad de color en imágenes con una paleta de colores limitada (reducción de color). En una imagen tramada, los colores no disponibles en la paleta se aproximan por una difusión de píxeles de color dentro de la gama de colores disponibles. El ojo humano percibe la difusión como una mezcla de los colores dentro de ésta (ver percepción del color). El tramado es análoga a la técnica denominada semitonos utilizada en impresión. Las imágenes tramadas, en particular las que tienen relativamente pocos colores, a menudo se distinguen por un grado de granulosidad característico o por un aspecto moteado.

Esta situación se observa comúnmente cuando usamos diferentes tipos de dispositivos. Por ejemplo, podemos tener una imagen a color, pero la impresora solamente soporta tonos de gris. Y peor aún, ésta puede soportar solamente dos tonos: hay tinta o no hay tinta en cada punto de la imagen. De hecho, los periódicos por muchos años usaron este proceso de dithering, el cual simula más de un color acomodando en un tramado, en una malla, dos colores, como por ejemplo, en la siguiente imagen:

Figura 1

Obsérvese que con sólo dos colores, rojo y azul, podemos obtener algunos tonos del magenta. Muchos libros y revistas se hacen utilizando solamente dos tintas y sin embargo, dan la impresión de imprimir con muchos más colores. Solamente acercándonos lo suficiente a la impresión, podremos ver el efecto,  parecido al que se muestra en la figura 1.

Con esto en mente, decidimos analizar algunos de los sistemas que ditherizan, valga la expresión una imagen.

Hallamos en

http://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html

algunos de los algoritmos más comunes para desarrollar esta técnica. Veámoslos:

Dithering promedio

Esta técnica usa solamente dos niveles de medios tonos para la imagen a producir. Consiste en elegir cierto nivel de gris y tomar éste como un umbral. Entonces se toma cada pixel de la imagen a procesar. Si el valor de cada pixel es mayore que el umbral definido, entonces cuantizamos a un valor de uno (por ejemplo, todo blanco), y sino, cuantizamos a cero (todo negro. He aquí un ejemplo de cómo queda al procesar una imagen de esta manera:

Figura 2

Este método es muy simple de implementar, pero tiene sus desventajas: el contorno de la cuantización es muy perceptible. Cabe señalar que antes de realizar el proceso, es importante pasar a tonos de gris la imagen, para mejores resultados.

Dithering al azar

El siguiente tramado, o dithering, es del azar. En este caso el resultado de este procesamiento no es aceptable para ninguna cuestión de calidad fotográfica. Funciona de manera muy simple: para cada punto de la imagen, se genera un valor de 0 a 255 y si el valor generado es mayor que el valor de cada pizel, se pone un punto blanco, sino se pone uno negro. Esto genera imágenes que parecen tener ruido o “nieve”, como cuando hay interferencia en la televisión.

Cabe decir que aunque la idea de generar números al azar pretende pensar en números verdaderamente al azar, la imagen no tendría artefactos, o ruido. Sin embargo, como los algoritmos para generar números aleatorios son seudoaleatorios, los artefactos salen a relucir de pronto.

He aquí un ejemplo de la salida de esta técnica:


 Figura 3


Dithering ordenado

Otra posibilidad es hacer este trabajo usando una matriz de números, de la siguiente manera: Expresemos un patrón como puntos ordenados de la siguiente manera:

8  3  4
6  1  2
7  5  9

Podemos usar esos valores como el umbral. Si el valor de un pixel (escalado en el rango 0-9), es menor que el número que le corresponde dentro de la celda de la matriz, entonces se pinta un punto negro, en caso contrario se pone un punto blanco. Este proceso, conocido como dither ordenado es el que normalmente usan muchos periódicos (antes de que empezaran a imprimir a color).

Bayer ha mostrado que las para matrices cuyo orden son potencias de dos, hay un patrón óptimo de puntos dispersados, los cuales son el resultado del ruido en la más alta frecuencia. Se pueden tener matrices de 2x2, 3x3 y 4x4, por ejemplo:

4  1
2  3

16  4  13  1
8  12  5  9
14  2  15  3
6  10  7  11

El método de Bayer es muy común. Los artefactos son su mayor inconveniente. El usar la matriz ordenada no es buena idea en imágenes que antes vengan ya ditherizadas.

He aquí un ejemplo de este proceso:

 Figura 4

A quien le interese este software, escríbame a morsa@la-morsa.com y a vuelta de correo lo tendrá de forma gratuita. Cabe decir la imagen usada corresponde a Lenna, una modelo de Playboy (1972), cuya imagen ha sido usada ya como el estándar en estudios de procesamiento de imágenes, dithering, semitonos, etc. La historia completa sobre Lenna, aquí (*)

_____
(*) Lenna, o Lena, es el nombre de una imagen de 512x512 pixeles que se usa actualmente en pruebas estándar de graficación por computadora y proceso digital de imágenes. La foto corresponde a Lena Södferberg, una modelo sueca, fotografiada por Dwight Hooker.

La historia de la imagen fue narrada en la lista de distribución del IEEE Professional Communication Society en mayo de 2001, en un artículo de Jamie Hutchinson: "Alexander Sawchuk cree que fue en junio o julio de 1973 que, mientras era profesor ayudante de ingeniería eléctrica en el Instituto de tratamiento de señal e imágenes de la Universidad del Sur de California, con un estudiante y el jefe del laboratorio, estaban buscando apresuradamente en el laboratorio una buena imagen para escanear para un artículo de conferencia de un colega. Estaban cansados de sus imágenes de prueba habituales, cosas aburridas que databan de los años 1960 y basadas en estándares audiovisuales. Querían algo sorprendente para asegurar un buen contraste, y quería que hubiese un rostro humano. En ese momento, alguien llegó con el último Playboy. Los ingenieros arrancaron el tercio superior del póster central para poder envolverlo alrededor del tambor de su escáner Muirhead, que habían equipado con convertidores analógico a digital (uno para cada canal de color: rojo, verde y azul) y un minicomputador Hewlett Packard 2100. El Muirhead tenía una resolución fija de 100 líneas por pulgada y los ingenieros deseaban una imagen de 512 × 512, así que limitaron la imagen a 5'12 pulgadas de altura, cortando para ello la fotografía a la altura de los hombros de la modelo".

Lenna no fue la primera imagen de una revista Playboy en ser usada para ilustrar algoritmos de procesamiento de imágenes. Lawrence G. Roberts usó una imagen del Playboy de 1960 con permiso y atribución, en su tesis del MIT en 1961 sobre tramado de imágenes.


En 1988, fue entrevistada por una publicación informática sueca y se felicitó por lo que había ocurrido con su imagen. Aquél fue el momento en que supo por primera vez del uso de su imagen en el mundo de la informática.


PostScriptum

He aquí más información sobre Lenna. Se incluye la foto original de Playboy y Lenna cómo se ve hoy día. Entre aquí.

1 comment:

Oudeis said...

Recuerdo muy bien a Lenna de mis años mozos. El otro día la vi, convertida en una abuela. Sic transit gloria mundi.