Histogramas y transformaciones puntuales

  • Francesc Martí Pérez

  • Sílvia Pujalte Piñán

PID_00258151
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada, reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita del titular de los derechos.

Introducción

Este módulo está dedicado a una familia de transformaciones aplicables a imágenes, las transformaciones puntuales, que tratan la imagen como un conjunto de píxeles independientes. Veremos que a pesar de su sencillez, son herramientas valiosas, capaces, por ejemplo, de mejorar de forma importante la representación de las imágenes.
En el primer apartado se repasan brevemente los conceptos ya conocidos y estableceremos la nomenclatura que se seguirá durante este módulo y los siguientes.
En el segundo apartado nos referiremos al histograma, una herramienta de análisis de las imágenes que será de utilidad antes de aplicar una transformación; una vez definido, veremos diferentes tipos de imágenes y estudiaremos las características de su histograma.
El tercer apartado lo dedicamos a las transformaciones puntuales, aquellas que se realizan modificando la imagen píxel a píxel, con independencia del resto. Veremos las operaciones más habituales, desde las más sencillas, como el negativo y la binarización, hasta las más potentes que nos permitirán modificar el contraste de la imagen mediante la iluminación u oscurecimiento de las zonas que nos interese modificar.
A continuación, hablaremos del cambio de número de niveles en una imagen y nos referiremos en particular al cambio de niveles en imágenes en color, convirtiendo el color real en color indexado.
Acabaremos el módulo describiendo dos transformaciones puntuales que involucran imágenes en color, el pseudocolor y el falso color.
Las explicaciones se ilustrarán con ejemplos realizados con la aplicación Photoshop utilizando una base de datos de imágenes de libre disposición, que podéis descargar de https://decsai.ugr.es/cvg/dbimagenes/; si no se dice lo contrario, las imágenes citadas tendrán siempre este origen. Es recomendable seguir los ejemplos con Photoshop a la vez que se estudian los materiales ya que en la pantalla y con la ampliación de la imagen, se pueden observar detalles de los resultados que se pierden en las imágenes impresas. Para facilitar esta tarea, al final de la unidad se incluye una lista de las imágenes utilizadas en cada figura.
El módulo incluye también ejercicios sobre los temas tratados, propuestos para realizar también con Photoshop; todos ellos incluyen la solución.

Objetivos

Los principales objetivos de este módulo son:
  1. Introducir el concepto de histograma.

  2. Introducir los conceptos básicos de transformaciones de imágenes basadas en el píxel.

  3. Introducir el concepto de falso color y pseudocolor.

  4. Relacionar, mediante experimentos dirigidos, los conceptos introducidos con la transformación de imágenes.

Estos objetivos están relacionados con las siguientes competencias de la asignatura:
A. Capacidad de modificar una imagen digital en base a unos requisitos previos.
C. Capacidad de discriminar las opciones factibles de las que no lo son en un estudio de especificaciones de un proyecto, sistema o tarea.
D. Capacidad de visualizar e imprimir imágenes de forma eficaz y eficiente.
Y con las siguientes competencias generales del grado:
11. Capacidad de capturar, almacenar y modificar información de audio, imagen y vídeo digitales aplicando principios y métodos de realización y composición del lenguaje audiovisual.
22. Capacidad de utilizar los fundamentos matemáticos, estadísticos y físicos para comprender los sistemas TIC.

1.Conceptos previos sobre histogramas y transformaciones puntuales

En general, podemos interpretar una imagen digital como una cuadrícula donde la intersección de cada fila y cada columna es un punto de la imagen o píxel. Como se puede ver en la figura 1, las columnas se comienzan a numerar sobre el eje horizontal, por el extremo inferior izquierdo y en sentido creciente hacia la derecha; y las filas, sobre el eje vertical, por el extremo superior izquierdo y en sentido creciente hacia abajo. En general, tendremos M filas y N columnas. Estos valores determinan la resolución espacial, es decir, el detalle más pequeño que podemos distinguir en la imagen; a mayor resolución (más filas y más columnas), mayor detalle veremos.
Figura 1. Convenio para filas y columnas de una imagen digital
Figura 1. Convenio para filas y columnas de una imagen digital
Los píxeles (1) tienen un valor asignado según la información que representen; en el caso de una imagen en escala de grises, cada píxel tiene asignado un nivel de gris o intensidad de brillo, entre 0 (píxel negro) y el valor máximo (píxel blanco), típicamente 255; los valores intermedios se corresponden con los tonos de gris, del más oscuro al más claro según aumenta su valor. El número de niveles de grises suele ser una potencia de dos, L = 2k, donde k es el número de bits por píxel (nos referiremos a ello también como profundidad); de su valor depende la resolución en amplitud, el cambio más pequeño distinguible entre tonos de grises, o paso de cuantificación.
El mismo convenio sigue el programa Photoshop, como se puede ver en la visualización de cualquier imagen, por ejemplo la de la figura 2; la posición del cursor está indicada por los parámetros X, Y, que corresponden al número de fila y de columna respectivamente.
Figura 2. Información sobre la imagen con Photoshop
Figura 2. Información sobre la imagen con Photoshop
En una imagen en color, el valor de cada píxel es una terna que representa los tres componentes del color que pueden estar expresados en diferentes espacios. Por ejemplo, si trabajamos en el espacio RGB, cada píxel contendrá la información sobre los niveles de rojo, verde y azul.

2.Histogramas

El histograma es una herramienta de gran interés porque nos sirve, junto con la inspección visual, para «diagnosticar» nuestra imagen antes de aplicar cualquier tratamiento, por ello es importante dedicar un tiempo antes de introducir las diferentes técnicas de transformaciones puntuales.
El histograma de una imagen monocromática es una gráfica en dos dimensiones que indica, para cada nivel de gris, el número de píxeles de la imagen que tiene este nivel; en el eje horizontal tenemos los niveles de gris y en el eje vertical, el número de apariciones de cada nivel. Así, en el histograma vemos la distribución de los píxeles en la imagen.
Imagen monocromática e imagen en escala de grises
Muchos textos –este incluido– se permiten la pequeña licencia de utilizar como sinónimos los términos «imagen monocromática» e «imagen en escala de grises». Por definición, una imagen monocromática es una imagen compuesta por un único color, en sus diversas intensidades. Por lo tanto, una imagen en escala de grises es una imagen monocromática: una imagen compuesta por varias intensidades de gris. Sin embargo, tenemos que tener presente que también serían imágenes monocromáticas imágenes que contuvieran solamente tonalidades de cualquier otro color. Por ejemplo, una imagen en tonos sepia también sería una imagen monocromática.
En la figura 3 tenemos el histograma de la imagen peppers.pgm. Observamos en ella que están presentes todos los niveles hasta aproximadamente el 230, mientras que los tonos de nivel superior (los más claros) no están representados. Observamos también que los niveles más representados son en torno a los valores 62-65.
Figura 3. Histograma
Figura 3. Histograma
El histograma nos da información global sobre la imagen; por un lado información cualitativa, que refuerza las características generales de la imagen que podemos anticipar a partir de su visualización, y también información cuantitativa de tipo estadístico, como veremos en ejemplos posteriores.
El contraste se define como la diferencia en luminancia o color entre un píxel de una imagen y los píxeles de sus alrededores. Así pues, en general, podemos decir que el histograma de una imagen bien contrastada estará distribuido por la mayor parte de los niveles disponibles (es el caso de la figura 3), mientras que una imagen poco contrastada, independientemente de sus valores predominantes, lo tendrá concentrado en un margen estrecho de valores (véase el ejemplo 1). Una imagen brillante tendrá el histograma desplazado hacia la derecha (véase el ejemplo 2), mientras que una imagen oscura lo tendrá desplazado hacia la izquierda (véase el ejemplo 3).
Conviene subrayar que no es necesario que el histograma de una imagen contenga píxeles en todos los niveles de gris para ser una imagen muy contrastada. Por ejemplo, una imagen con solo dos niveles de gris, blanco y negro, sería una imagen bien contrastada.
Asimismo, hemos dicho que, en general, el histograma de una imagen bien contrastada está distribuido por la mayor parte de los niveles disponibles, pero se tiene que hacer notar que no es una condición suficiente para determinar si una imagen está bien contrastada o no. Por ejemplo, un degradado en escala de grises que vaya del nivel blanco al nivel negro tendría un histograma perfectamente distribuido por todos los niveles de gris disponibles, pero no sería una imagen bien contrastada.
El histograma no nos da información espacial de la imagen. Nos dice con qué frecuencia aparecen los diferentes niveles de gris pero no nos dice en qué parte de la imagen; sobre su localización no sabemos nada más de lo que podamos apreciar por observación. Por tanto, el histograma no identifica una imagen, dos imágenes diferentes pueden tener histogramas idénticos.
Figura 4. Dos imágenes diferentes con el mismo histograma
Figura 4. Dos imágenes diferentes con el mismo histograma
06524m1fig16.jpg
Ejemplo 1
La figura 5 presenta una imagen poco contrastada, de niveles de gris intermedios; su histograma es, como podíamos esperar, estrecho, concentrado alrededor de los niveles centrales. Además, observamos que el histograma no es continuo, sino que presenta discontinuidades, es decir, hay niveles que no están representados; esto habitualmente obedece a una adquisición deficiente.
Figura 5. Histograma del ejemplo 1
Figura 5. Histograma del ejemplo 1
Ejemplo 2
La imagen de la figura 6 es clara, las zonas oscuras son muy escasas; vemos en el histograma cómo la distribución tiene los valores máximos en los niveles centrales y se extiende hacia los valores máximos, mientras que para los valores inferiores tiene poca presencia.
Podemos aprovechar este histograma para mencionar dos de las medidas estadísticas de una imagen que se pueden calcular a partir del histograma, la media y la mediana: la media representa el valor medio de intensidad de la imagen, mientras que la mediana representa el nivel de gris central de la distribución, es decir, el que tiene el 50% de los píxeles por debajo y el otro 50% por encima. Ambas medidas, media y mediana, son valores que nos informan sobre el brillo global de una imagen; si son elevados indican que la imagen es clara, mientras que si son bajos indican que la imagen es oscura.
Figura 6. Histograma del ejemplo 2
Figura 6. Histograma del ejemplo 2
Ejemplo 3
Estudiemos ahora el histograma de la imagen de la figura 7. Predominan los niveles oscuros, concentrados en una banda muy estrecha, el 90% de los píxeles tienen niveles inferiores a 68 y el 99%, niveles inferiores a 150.
Figura 7. Histograma del ejemplo 3
Figura 7. Histograma del ejemplo 3
Ejemplo 4
Hasta ahora nos hemos referido a imágenes monocromáticas; en una imagen en color en el espacio RGB el histograma se calcula para cada componente por separado (figura 8a); en este caso no tenemos información sobre la frecuencia de aparición conjunta, es decir, no tenemos información sobre los colores que forman la imagen. Si trabajamos en otros espacios de colores diferentes del RGB, obtendremos igualmente el histograma para cada componente; por ejemplo, si necesitamos tener información sobre la luminancia, podemos hacer el histograma para el espacio CIE-Lab.
Figura 8a. Histograma de los componentes RGB de una imagen en color del ejemplo 4
Figura 8a. Histograma de los componentes RGB de una imagen en color del ejemplo 4

2.1.Ejercicios con histogramas

Ejercicio 1
La mejor manera de familiarizarse con los histogramas es visualizar unos cuantos: visualizar la imagen, hacer una estimación de la distribución de los píxeles (presencia mayoritaria de zonas claras, oscuras o medias, concentración de los niveles) e intentar predecir la forma aproximada del histograma; entonces visualizamos el histograma, comprobando si nuestra estimación se corresponde con la gráfica y prestando atención a la información que esta nos ofrezca y que no hemos podido apreciar por inspección visual. Os recomendamos que estudiéis de nuevo los histogramas de las imágenes que hemos utilizado como ejemplo y posteriormente los otros que no hayáis visto previamente; en los apartados posteriores del módulo utilizaremos también el histograma como herramienta para resolver los problemas planteados.
Ejercicio 2
A modo de ejemplo con una imagen concreta, visualizad con Photoshop el histograma de la imagen astro1.pgm.
a) ¿Qué características tiene la distribución de niveles de grises de la imagen?
b) Indicad entre qué niveles de gris se encuentra el histograma, tomando como nivel mínimo el valor por debajo del cual hay aproximadamente un 1% de los niveles y como valor máximo el valor por encima del cual hay también el 1% de los niveles.
Solución
a) El histograma se concentra en los niveles centrales de gris, con una distribución bastante simétrica. Hay pocos píxeles con niveles muy claros o muy oscuros. Es la distribución que podríamos esperar después de observar la imagen.
b) Aproximadamente, los niveles de grises están entre 37 y 187.
Ejercicio 3
Sobre la imagen en escala de grises figura-ex3.pgm (la adjuntamos con los materiales), determinad la probabilidad de que, al escoger al azar un píxel, este tenga el mismo nivel de gris que el píxel de la posición (200,200). Repetid el experimento con el mismo píxel sobre la imagen gray21.512.pgm.
Solución
a) Para resolver este ejercicio, con la herramienta Zoom (Z), empezaremos ampliando la imagen, de forma que sea posible localizar claramente el píxel de la posición (200,200). Una vez localizado, con la ayuda de la herramienta Marco rectangular (M), lo seleccionamos. Como podemos ver en la imagen, al hacer una selección, el histograma de Photoshop nos muestra solo la información de la región seleccionada. En nuestro caso, al haber seleccionado un único punto, los valores Promedio (Mean) o Mediana (Median) ya nos indican que el nivel de gris de este punto es 185.
Figura 8b
Figura 8b
Ahora, sin seleccionar ningún punto o región en la imagen (podemos usar la herramienta Selección/Deseleccionar), en el histograma, si clicamos con el puntero del ratón sobre el nivel de gris 185, veremos que hay 8116 puntos con este mismo nivel de gris (Cantidad = 8116). Por lo tanto, como la imagen tiene 65536 píxeles, la probabilidad de encontrar un píxel al azar con la misma intensidad es 8116/65536 ≈ 0,124, que –expresado en porcentaje– equivale al 12,4%.
Figura 8c
Figura 8c
b) Imagen gray21.512.pgm. El píxel de la posición (200,200) tiene nivel de gris 140 y la probabilidad de encontrar otro con la misma intensidad es 4,8%.

3.Transformaciones puntuales

Las transformaciones de imágenes nos permiten mejorar la calidad o resaltar detalles que a simple vista no se perciben con claridad. Técnicamente, cuando transformamos una imagen, lo que hacemos es obtener una imagen B a partir de una imagen A (en general, si bien en ocasiones las imágenes de origen pueden ser más de una) y la forma en qué se modifica A para convertirse en B determina el tipo de transformación.
En el caso de las transformaciones puntuales (2) , que son las que nos ocupan, cada píxel de B se obtiene a partir del píxel de A con las mismas coordenadas y solo a partir de éste; ningún otro píxel de A le afecta (sí sería éste el caso de las transformaciones espaciales, en que el valor de cada píxel de la imagen B se obtiene a partir del mismo píxel de la imagen A y de sus vecinos).

3.1.Transformaciones del nivel de gris

Las transformaciones del nivel de gris varían la forma en que los niveles están distribuidos en la imagen con el objetivo de mejorarla o de facilitar su visualización; podemos invertir los niveles, aclarar la imagen, oscurecerla, realzar un margen de niveles, etc.
En todos los casos lo hacemos definiendo una curva o función de transformación, que denominaremos T(l), que relaciona los píxeles de la imagen de salida B con los de la imagen de entrada A.
Ejemplo de función de transformación
En la figura 9 vemos un ejemplo de función de transformación (utilizando la función Images/Adjustments/Curves de Photoshop); en el eje horizontal tenemos los niveles de gris de la imagen A, del más oscuro al más claro, y en el eje vertical, los niveles de la imagen B, también del más oscuro al más claro. Los píxeles de la imagen de entrada A, que valen l, cambian su valor a T(l) cuando se construye la imagen B. En el caso de la figura 9 la transformación es T(l) = l; los píxeles que, por ejemplo, valen 204 en la imagen A, pasan a valer T(204) = 204, es decir, el mismo, en la imagen B; en este caso la imagen queda inalterada, B = A, se trata de la transformación identidad.
A continuación veremos las transformaciones más habituales; nos referiremos, sin pérdida de generalidad, a imágenes monocromáticas; cuando las transformaciones tienen sentido para imágenes en color el proceso habitual es aplicarlas por separado sobre cada uno de los componentes.
Figura 9. Curva de transformación: identidad
Figura 9. Curva de transformación: identidad
3.1.1.Transformación negativo
La transformación negativo, o inversa, es una de las más sencillas que podemos aplicar a una imagen. Consiste en invertir el valor de los niveles de gris de la imagen de entrada, de forma que, en los extremos, el blanco pasa a ser negro y el negro, blanco; es el equivalente a hacer el negativo de la imagen y realza detalles claros en una imagen oscura. Su función de transformación es
T(l) = 255 – l
La figura 10 muestra la curva de la transformación y un ejemplo de su uso. Vemos sobre la gráfica que el píxel que en la imagen de entrada A tiene un nivel de gris 25, en la imagen B en la salida tiene nivel 230 (línea discontinua):
T(25) = 255 – 25 = 230
y un píxel de nivel 204 en la entrada tiene en la salida nivel 51 (línea continua):
T(204) = 255 – 204 = 51
Figura 10. Curva de transformación: negativo
Figura 10. Curva de transformación: negativo
3.1.2.Transformación de binarización
En la transformación de binarización todos los niveles de gris de la imagen A se ven reducidos a dos en la imagen B, el nivel máximo (255) y el mínimo (0), por tanto obtenemos una imagen binaria.
La transformación queda definida por un umbral (en inglés threshold): todos los niveles que están por encima del umbral pasan a tener valor 255 y todos los que están por debajo pasan al valor 0; esto se corresponde con una función de transformación como:
T ( l ) = 255 l u m b r a l 0 l < u m b r a l (1)
Si el umbral se sitúa cerca de los niveles oscuros, la imagen binarizada tendrá más presencia de píxeles blancos, mientras que si está cerca de los niveles claros, tendrá más presencia de píxeles negros. En la figura 11 vemos un ejemplo de binarización, con un umbral de valor 98.
Figura 11. Curva de transformación: binarización
Figura 11. Curva de transformación: binarización
3.1.3.Transformaciones de aclaramiento de la imagen
A veces podemos encontrarnos con imágenes, por ejemplo imágenes médicas, que tienen un margen dinámico demasiado grande como para poderse visualizar correctamente; si nos interesa ver en detalle las zonas oscuras que no quedan bien representadas podemos aplicar una transformación de aclaramiento de la imagen.
La figura 12 muestra una curva típica de aclaramiento de la imagen y su efecto sobre una imagen oscura; un rango estrecho de niveles oscuros en la imagen original se ensancha y se corresponde con un rango amplio en la imagen transformada; y un rango amplio de niveles claros en la imagen original se estrecha y se corresponde con un rango estrecho en la imagen modificada. El ajuste de la curva se realizará, en cada caso, dependiendo de la imagen original.
Figura 12. Curva de aclaración de la imagen
Figura 12. Curva de aclaración de la imagen
El cálculo de los niveles de grises mediante curvas de este tipo (y lo mismo se puede aplicar a las transformaciones de oscurecimiento de la imagen que veremos a continuación) puede dar lugar a valores no enteros; por ejemplo, un nivel de gris de 132,4. En estos casos, y dado que los niveles de grises solo pueden tener valores enteros, Photoshop o la aplicación que estemos utilizando redondea el valor al entero más cercano, en este caso a 132. Estas correcciones serán, en la mayor parte de los casos, poco apreciables a la vista, pero pueden reflejarse en el histograma, de manera que aparezcan niveles vacíos del tipo que habíamos visto en el histograma de la figura 5.
3.1.4.Transformaciones de oscurecimiento de la imagen
Si lo que necesitamos es oscurecer una imagen, utilizaremos una función de transformación, la curva típica de la cual podemos ver en la figura 13, junto con un ejemplo de su aplicación.
En general, en una curva de oscurecimiento de la imagen, un rango amplio de niveles bajos y medios en la imagen de entrada se convierte en un rango pequeño de niveles bajos en la imagen de salida.
Figura 13. Curva de oscurecimiento de la imagen
Figura 13. Curva de oscurecimiento de la imagen
3.1.5.Transformaciones de aclaración y oscurecimiento por partes
Finalmente, nos referiremos en este subapartado a las transformaciones de aclaración y oscurecimiento por partes, que utilizaremos para modificar el contraste de una imagen. En este caso, la curva de transformación está formada por tramos; en la figura 14 podemos ver un ejemplo donde la transformación está controlada por dos puntos, X e Y. El rango de niveles de grises hasta el punto X en la entrada de la imagen se corresponde con niveles más oscuros en la salida, en esta zona la imagen se oscurece, mientras que el rango de niveles a partir del punto Y se corresponde con niveles más claros, en esta zona la imagen se aclara. El resultado final es el aumento de contraste de la imagen.
Figura 14. Ejemplo de curva de transformación por partes
Figura 14. Ejemplo de curva de transformación por partes
Ejemplo de aplicación de transformación por partes
Trabajaremos a partir de la imagen de la figura 5; el objetivo es mejorar el contraste. En su histograma podemos leer los valores de gris mínimo (13) y máximo (212) representados en la imagen; utilizamos estos dos puntos como los puntos X e Y de la figura 14 y asignamos los valores de nivel de salida mínimo y máximo respectivamente; de esta forma expandimos los niveles a todo el margen de grises posible; la curva y los resultados los podemos ver en la figura 15.
Figura 15. Transformaciones de aclaración y oscurecimiento por partes
Figura 15. Transformaciones de aclaración y oscurecimiento por partes

3.2.Ejercicios con transformaciones puntuales

Ejercicio 1
Nos proponemos realizar la binarización de la imagen tulips.pgm en dos supuestos:
a) escogiendo el umbral de binarización de tal manera que en la imagen resultante el 50% de los píxeles sea blanco y el otro 50% negro;
b) escogiendo un umbral tal que en la imagen resultante solo se aprecien las tulipas, ni los tallos ni las hojas.
Solución
a) El nivel de intensidad que nos interesa encontrar en el histograma de la imagen original es la mediana, es decir, el nivel de gris por el cual el 50% de los píxeles se encuentra por debajo. Para la imagen tulips.pgm este valor es 113.
b) En este caso, para encontrar el umbral deberemos hacer algunas pruebas hasta que visualicemos el resultado deseado; escogeremos, aproximadamente, 165.
Ejercicio 2
A la imagen P1020145.jpg se le ha aplicado una transformación de aclaramiento el resultado de la cual puede verse en la figura 16a; la curva de transformación se ha calculado estudiando el histograma de la imagen original y asignando 128 al valor de intensidad por debajo del cual se encuentra aproximadamente el 90% de los píxeles. Dibujad aproximadamente la curva que transforma la imagen.
Figura 16a
Figura 16a
Solución
El histograma de la imagen P1020145.jpg nos muestra que el valor de nivel de gris que tiene por debajo el 90% de los píxeles es l = 14; este valor debe tener el valor de salida medio, el 128.
Ejercicio 3
El histograma de la imagen P1020145.jpg nos muestra que el valor de nivel de gris que tiene por debajo el 90% de los píxeles es l = 6; este valor ha de tener el valor de salida mediano, el 128.
Figura 16b
Figura 16b
Podemos pensar que estos valores de nivel 6 y salida 128 son los valores que un artista o técnico ha considerado conveniente utilizar para aclarar esta imagen de forma equilibrada. No hay una fórmula matemática para calcular estos valores y cada imagen –aun teniendo histogramas similares– tendrá que ser tratada individualmente.
Solución
Vemos en el histograma que el nivel por encima del cual queda el 75% de los píxeles es 185 y fijamos este punto a la curva; en la imagen que resulta de la transformación se aprecia un oscurecimiento general.
Ejercicio 4
En la imagen rosa.tif se quieren resaltar los estambres y la textura de los pétalos. Proponed dos transformaciones y comentad cuál de las dos soluciones adoptáis y porqué.
Solución
Una opción es aplicar a la imagen una transformación de oscurecimiento; podemos hacer, por ejemplo, que el nivel de gris 170 en la imagen original quede al nivel 128 en la imagen transformada. La segunda opción es aplicar una transformación de mejora del contraste, haciendo que los niveles de gris de la imagen original por debajo de gris queden a 0 y los que están por encima de 210 queden a 255 (decidimos estos valores a partir del histograma de la imagen). De las dos soluciones, la que resalta más los estambres y, sobre todo, la textura de los pétalos, es la primera, el oscurecimiento.
Ejercicio 5
La figura 17 nos muestra una curva de trasformación puntual. Indicad de qué tipo de transformación se trata y cuál es su efecto sobre una imagen (ilustrad vuestra explicación con un ejemplo sobre la imagen tulips.pgm). ¿Con qué otra transformación está relacionada? ¿Qué herramientas de Photoshop te permiten hacer esta transformación?
Figura 17
Figura 17
Solución
Con esta curva obtenemos una imagen binaria, pero a diferencia de la binarización tal como la hemos estudiado, en este caso no hay un umbral que separe el nivel blanco del negro sino que hay un margen de valores para los cuales la imagen es negra y dos para los cuales la imagen es blanca. Podemos hacer esta transformación con la herramienta Image/Adjustments/Gradient maps.
Ejercicio 6
Abrid la imagen 4.01.02.pgm con Photoshop y duplicad la capa de fondo; encima de la capa duplicada cambiad el modo de capa de normal a trama. Proponed una transformación puntual que consiga un efecto similar. Haced lo mismo pero con el modo de capa multiplicar.
Solución
En el primer caso (capa en modo trama), con una transformación de aclaramiento de la imagen se obtiene un efecto similar. En el segundo caso, la multiplicación, obtenemos un resultado similar a una transformación de oscurecimiento de la imagen.

4.Cambio del número de niveles

Al inicio de la unidad hablábamos de los parámetros que caracterizan una imagen y citábamos los niveles de intensidad (típicamente 256, del 0 al 255), o, equivalentemente, el número de bits necesarios para codificarlos (típicamente 8 bits, 28 = 256); el número de niveles se escoge durante la cuantificación de la imagen e intuitivamente podemos aventurar que la calidad percibida de la imagen está relacionada con el número de niveles y aumentará a medida que aumenta este número.
En realidad, esto no es del todo cierto, llega un momento en que, por mucho que aumentemos el número de bits, a nuestros ojos no hay diferencia perceptible. La profundidad de bits más utilizada para imágenes monocromáticas es 8, un valor que da calidad suficiente para la mayoría de las aplicaciones; para aplicaciones muy concretas que precisen una mayor resolución, se utilizan 16 bits, sobre todo si el procesamiento posterior es muy extenso.
Estudiemos cómo se percibe el caso contrario, la disminución del número de niveles, tomando como referencia 256 niveles, la cuantificación común a todas las imágenes que hemos estudiado hasta ahora. Fijando el número de niveles en 128 o en 64 todavía tenemos suficiente calidad, pero si reducimos más el número de niveles comienza a visualizarse lo que conocemos como falsos contornos: un grupo de píxeles vecinos se cuantifican con el mismo nivel y generan un contorno que no corresponde a ningún objeto de la imagen, de aquí su nombre. Este efecto se empieza a notar, dependiendo de la imagen, cuando bajamos a 5 bits de cuantificación y con 4 bits ya es muy evidente; si disminuimos aún más el número de bits las nuevas regiones que se generan son tan grandes que la imagen toma un aspecto artificial, hasta llegar al caso extremo de 1 bit, en que solo tenemos dos niveles, blanco y negro.
La figura 18 muestra una imagen cuantificada con 8 y 3 bits; en el segundo caso se aprecian los falsos contornos que aparecen cuando se reduce drásticamente el número de niveles.
Figura 18. Cuantificación con 8 y 3 bits
Figura 18. Cuantificación con 8 y 3 bits

4.1.Color indexado

Para imágenes en color la cuantificación más frecuente asigna 8 bits a cada color, haciendo que cada píxel se cuantifique con 24 bits (es la calidad conocida como color real).
Una cuantificación alternativa que utilizan algunos formatos como GIF es el color indexado, que utiliza una paleta de solo 256 colores; la información sobre el color de cada píxel no se almacena directamente sino que se guarda en la paleta; cada píxel contiene el índice del color dentro de la paleta. Al tener solo 256 posibles opciones, permite codificar un píxel en color con solo 8 bits, lo que ahorra espacio, pero a costa de limitar el número de colores posible (256).
Si queremos convertir una imagen de color real en una imagen de color indexado será necesario reducir el número de niveles representables, reducción que pasa por dos decisiones: qué colores se escogen y cómo se asignan a los colores de la imagen original. Los colores escogidos se guardan en una tabla y el píxel de la imagen convertida contiene el índice del color asociado en esta tabla. La calidad de la imagen en color indexado dependerá de la elección de la paleta de colores.
Para hacer la elección de colores hay diversos métodos; compararemos dos, el uniforme, que divide el espacio de color en regiones iguales y escoge el valor medio de cada región, y el de popularidad (o adaptativo según la nomenclatura de Photoshop), que también escoge el espacio de color en regiones iguales pero elige el valor más frecuente. En ambos casos la paleta no es fija, depende de la imagen; podemos trabajar también con paletas fijas específicas para el sistema de visualización (una web o un sistema operativo determinado).
La imagen 19 muestra la conversión de una imagen en color real a color indexado; se ha escogido una paleta de 256 colores y: a) el método uniforme; b) el método de popularidad. Con el método uniforme se observan contornos falsos en las hojas, lo que indica que el número de colores es insuficiente, mientras que con el método de popularidad, más eficiente, no se aprecian grandes diferencias.
Figura 19. Cambio de niveles: a. color indexado con criterio uniforme; b. con criterio de popularidad
Figura 19. Cambio de niveles: a. color indexado con criterio uniforme; b. con criterio de popularidad

4.2.Ejercicios de cambios de nivel

Ejercicio 1
Cambiad el número de niveles en la imagen pallon.pbm para convertirla a una imagen de color indexado. Utilizad el método de popularidad (o adaptativo), comenzad por una paleta de 256 niveles e id disminuyendo su tamaño (128, 64, 32, etc.). ¿En qué momento comienzan a apreciarse los falsos contornos?
Solución
Con una paleta de 128 colores ya se perciben algunos contornos; con 64 colores ya son claramente perceptibles; por ejemplo, en el globo violeta en primer plano, los reflejos presentan falsos contornos y el color violeta también está dividido en dos zonas verticalmente.
Ejercicio 2
Repetid el ejercicio anterior utilizando el método uniforme en lugar del adaptativo.
Solución
En este caso ya con 256 hay tantos falsos contornos que la imagen tiene un aspecto claramente artificial.

5.Pseudocolor y falso color

El sistema visual humano es capaz de trabajar en un margen muy amplio de intensidades de luz, pero no simultáneamente; dadas unas determinadas condiciones locales se adapta y es capaz de distinguir solo unos cuantos niveles de gris. En cambio, en este mismo entorno local es capaz de distinguir muchos más colores diferentes.
Cuando hay que estudiar imágenes en niveles de grises en las cuales es fundamental distinguir pequeños detalles (por ejemplo, imágenes médicas), una técnica utilizada es asociar a cada nivel de gris un color; esta visualización en color de una imagen monocromática se conoce como pseudocolor.
La asociación entre niveles de gris y color es arbitraria, los colores se escogen según la aplicación para resaltar las características de la imagen que nos interesen. Una vez escogidos, se construye una tabla donde cada elemento contiene un color (una terna de valores) y la transformación de imagen monocromática a pseudocolor es una transformación puntual donde a cada píxel en nivel de gris de la imagen original le corresponde un píxel en color en la imagen transformada.
En este sentido, el pseudocolor se puede interpretar como una variante del color indexado aplicado a imágenes monocromáticas: cada nivel de gris está vinculado a un color de la paleta identificado por su posición dentro de la tabla, de manera que los bits necesarios para representar la imagen monocromática son los mismos que para representarla en pseudocolor.
La figura 20 muestra la imagen de una resonancia magnética en niveles de gris y su versión pseudocoloreada con la paleta espectral. Esta paleta ordena los colores del espectro visible (los que vemos en el arco iris) según su longitud de onda; la longitud de onda más corta, el color violeta, se asocia al negro y la más larga, el rojo, al blanco (con Photoshop, convertimos primero la imagen monocromática en imagen indexada y asociamos posteriormente la tabla de color).
La imagen pseudocoloreada no tiene un aspecto «natural», pero se consigue el efecto deseado que es destacar zonas poco apreciables en una imagen monocromática. Fijémonos, por ejemplo, en las áreas rojas, claramente distinguibles de las zonas vecinas amarillas, mientras que en la imagen monocromática cuesta aislar visualmente estas áreas.
Figura 20. Imagen monocromática transformada a pseudocolor
Figura 20. Imagen monocromática transformada a pseudocolor
El falso color responde a una necesidad similar a la que nos lleva al pseudocolor, mejorar la visualización de la imagen destacando determinadas zonas. La diferencia es que mientras el pseudocolor se obtiene a partir de una imagen monocromática, el falso color se obtiene a partir de imágenes en color: se cambia el color del píxel para obtener un nuevo color. Al igual que el pseudocolor, el falso color es una transformación puntual, se modifica la imagen original píxel a píxel.
Los tres componentes de color de un píxel son, por separado, imágenes monocromáticas; para obtener el falso color se modifica cada uno de los tres componentes, generalmente con las transformaciones que hemos visto en el apartado 3 de esta unidad: aclaración de la imagen, oscurecimiento, etc.
Ejemplo de falso color
Vemos un ejemplo de falso color en la figura 21, donde la imagen peppers.ppm se ha convertido en una imagen con tonos azulados y violetas. En este caso la transformación aplicada a cada canal de color ha sido el negativo (transformación definida en el subapartado 3.1 e ilustrada en la figura 10).
Figura 21. Imagen en color transformada a falso color. Se ha aplicado la transformación negativo a cada canal de color
Figura 21. Imagen en color transformada a falso color. Se ha aplicado la transformación negativo a cada canal de color

5.1.Ejercicios de pseudocolor y falso color

Ejercicio 1
La imagen gray21.512.pgm está formada por veintiún rectángulos, cada uno de un nivel de gris, ordenados de más oscuro a más claro. Hemos descrito la paleta espectral y la ordenación de sus colores respecto a los niveles de gris; comprobad con la imagen gray21.512.pgm esta ordenación y estudiad cómo están ordenados los colores en el resto de paletas de la herramienta Image/Mode/Color Table de Photoshop.
Solución
La paleta Black Body está ordenada de la siguiente forma: el color negro se asocia con el nivel negro y pasa por los colores rojo, naranja y amarillo hasta llegar al blanco, que se asocia con el nivel blanco. Las paletas System no tienen una ordenación que varíe gradualmente los colores.
Ejercicio 2
La imagen heart.pgm es una imagen médica monocromática; transformadla a pseudocolor utilizando la tabla o tablas de color de Photoshop que mejor resalten los vasos sanguíneos.
Solución
Las dos tablas que destacan mejor los vasos sanguíneos son Spectrum y Black Body; con estas dos, los colores varían gradualmente entre nivel de gris y se mantiene la continuidad en los vasos.
Ejercicio 3
Aplicad una transformación de falso color a la imagen peppers.ppm aplicando la transformación negativo a casa canal de color.
Solución
Para realizar esta transformación abrimos la ventana Canales y seleccionamos solo el componente que queremos modificar, así no visualizamos los otros dos. Con la herramienta Image/Adjustments/Curves seleccionamos el mismo canal que estamos visualizando y modificamos la curva para que la transformación que se aplica sea el negativo. Repetimos el proceso para los tres canales.
Ejercicio 4
Queremos aplicar una transformación de falso color a la imagen peppers.ppm para que se vea aproximadamente como se muestra en la figura 22. ¿Qué transformación podemos aplicar a los canales de color de la imagen?
Figura 22
Figura 22
Solución
Los colores de la imagen transformada los vemos más oscuros; podemos aplicar a cada canal una transformación de oscurecimiento. En este caso, hemos fijado tanto para el canal rojo como para el verde el nivel de salida 10 para el nivel de entrada 50. El canal azul no lo hemos modificado.

6.Imágenes utilizadas en las figuras

Las imágenes (recordemos que de libre distribución) que se han utilizado en las figuras de esta unidad para los ejemplos con Photoshop son las siguientes.

Figura

Imagen

Dirección URL

2

peppers.pgm

https://decsai.ugr.es/cvg/dbimagenes/g512.php

3

peppers.pgm

https://decsai.ugr.es/cvg/dbimagenes/g512.php

4

cameraman.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

5

7.1.03.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

6

car2.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

7

carnev.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

8a

07_02_27_geranidolor1.jpg

Se adjunta la imagen

10

tulips.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

11

leopard.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

12

carnev.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

13

cameraman.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

15

7.1.03.pgm

https://decsai.ugr.es/cvg/dbimagenes/g256.php

16a

P1020145.jpg

Se adjunta la imagen

19

tulips.ppm

https://decsai.ugr.es/cvg/dbimagenes/c256.php

20

mr030.pgm

https://decsai.ugr.es/cvg/dbimagenes/gbio256.php

21

peppers.ppm

Se adjunta la imagen

22

peppers.ppm

Se adjunta la imagen

Resumen

El histograma de una imagen monocromática es una gráfica en dos dimensiones que nos muestra la distribución de los niveles de grises de una imagen (cuáles son los niveles que predominan, en qué margen están contenidos la mayor parte de los niveles, etc.). No nos da, en cambio, información espacial; sabemos qué niveles contiene la imagen pero no en qué regiones se concentran. El estudio del histograma es un paso previo a la modificación de los niveles de gris de una imagen.
Las transformaciones puntuales son aquellas operaciones que consideran una imagen como un conjunto de píxeles independientes; actúan píxel a píxel sin tener en cuenta el resto de la imagen y están definidas por la función que relaciona cada píxel de la imagen original con el correspondiente de la imagen transformada. Las transformaciones del nivel de gris más sencillas son:
  • Negativo: invierte los niveles de gris de la imagen.

  • Binarización: reduce los niveles de gris a dos.

  • Aclaramiento de la imagen: toma un rango estrecho de niveles oscuros en la imagen de entrada y los expande en niveles oscuros y medios en la imagen transformada.

  • Oscurecimiento de la imagen: toma un rango de niveles oscuros y medios en la imagen de entrada y los comprime en niveles oscuros en la imagen de salida.

El número de niveles de una imagen, principalmente en niveles de grises monocromática como en color, debe ser suficientemente grande como para que el ojo no detecte las consecuencias de una cuantificación insuficiente; esta insuficiencia se puede manifestar con efectos como los falsos contornos, producidos por diferencias demasiado grandes de valores de niveles de gris entre píxeles próximos.
En el caso de las imágenes en color, podemos reducir el número de colores utilizado (y, por tanto, el número de bits para representarlo) recurriendo al color indexado; con esta cuantificación se trabaja con un número pequeño de colores almacenados en una tabla. La conversión de color real a color indexado se puede hacer siguiendo diversos métodos, que se adaptan a la imagen o al dispositivo de visualización.
El sistema visual humano solo es capaz de percibir unos pocos niveles de gris en un entorno luminoso concreto, mientras que en el mismo entorno distingue muchos más colores diferentes; el pseudocolor es una transformación puntual que convierte los niveles de grises de una imagen en color para facilitar la visualización de detalles importantes. Cada nivel de gris se asocia con un color definido en una paleta escogida según la aplicación.
El falso color es una transformación puntual que modifica el color de una imagen, bien para destacar detalles poco visibles (como por ejemplo, a imágenes captadas vía satélite), bien con criterios artísticos.