Transformaciones espaciales no lineales

  • Francesc Martí Pérez

  • Sílvia Pujalte Piñán

PID_00258147
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

Hay transformaciones que no cumplen las condiciones de linealidad que especificábamos en el módulo «Transformaciones espaciales lineales» y que por lo tanto, no pueden aplicarse a la imagen mediante una máscara de convolución; se trata de operaciones no lineales como la mediana o todas aquellas derivadas de una disciplina que recibe el nombre de morfología matemática.
Las transformaciones puntuales y espaciales lineales que hemos visto anteriormente las hemos aplicado, no exclusivamente pero sí en gran parte, a la mejora de imágenes: reducción de ruido, mejora de contraste, realce de contornos, etc. Las transformaciones que estudiaremos en este módulo se utilizan principalmente para analizar las imágenes: aislar objetos, simplificar formas, detectar contornos (una aplicación que habíamos visto también en las transformaciones espaciales lineales), etc. Estas transformaciones se utilizan a menudo en aplicaciones industriales o médicas, por ejemplo.
En el primer apartado definiremos el filtro de mediana y veremos su aplicación como transformación reductora de ruido impulsional, un tipo de ruido que, tal como veíamos en el módulo «Transformaciones espaciales lineales», no responde bien a los filtros lineales.
El segundo apartado, que ocupa el resto del módulo, lo dedicaremos a la morfología. En primer lugar veremos similitudes y diferencias entre la forma de cálculo de las transformaciones morfológicas y lineales espaciales, para definir a continuación las dos operaciones básicas, la erosión y la dilatación. Una vez vistas estas operaciones y sus características, definiremos dos filtros que se construyen a partir de las operaciones básicas, la apertura y el cierre.
Finalmente, retomaremos el estudio de la enfatización de contornos, que habíamos visto en el módulo «Transformaciones espaciales lineales», y mostraremos cómo esta operación también se puede realizar a partir de operaciones morfológicas.
Los ejemplos que ilustran la unidad están hechos, como en las anteriores, con la aplicación Photoshop, con las imágenes de dominio público que se detallan al final de la unidad; se recomienda reproducir los ejemplos a medida que se estudia.

Objetivos

Los objetivos principales de este módulo son:
  1. Introducir el concepto de transformación no espacial.

  2. Presentar el filtro de mediana como herramienta para reducir el ruido.

  3. Introducir el concepto de operación morfológica.

  4. Introducir el concepto de erosión y dilatación y sus aplicaciones.

  5. Presentar otras operaciones morfológicas a partir de la erosión y la dilatación y sus aplicaciones.

  6. 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.Mediana

Empezamos la descripción de las transformaciones espaciales no lineales por el filtro de mediana, una aplicación muy útil para reducir el ruido impulsional, que, recordémoslo, no responde bien a las transformaciones de suavización. Dada una muestra formada por un conjunto de valores que podemos ordenar, la mediana es el valor central; es decir, aquél que tiene tantos valores por debajo como por encima.
Si aplicamos el operador mediana a la imagen A, cada píxel de la imagen B transformada se obtiene sustituyendo el píxel correspondiente de la imagen A por la mediana de la ventana de trabajo asociada.
Por ejemplo, dado un píxel con valor de gris 128 y sus vecinos, como se muestra en la figura 1, el píxel correspondiente de la imagen transformada tiene nivel de gris 126, ya que cuando ordenamos de menor a mayor los píxeles, queda en la posición central.
123, 124, 124, 125, 126, 128, 128, 128, 130
Figura 1
Figura 1
Con este ejemplo vemos que con una ventana los píxeles de la cual tienen valores de intensidad similares, la mediana no introduce diferencias significativas pero si el píxel central tiene una intensidad muy diferente, este valor se pierde, como vemos en el ejemplo siguiente:

123

128

124

125

0

130

124

128

126

Los píxeles ordenados por nivel de gris son:
0, 123, 124, 124, 125, 126, 128, 128, 130
ya que la mediana es 125; los valores extremos no estarán nunca en el medio de la serie ordenada, siempre estarán al principio o al final y de esta manera, quedarán eliminados de la imagen.
Claramente, el filtro de mediana está indicado para reducir el ruido impulsional, píxeles aislados que toman valores extremos; la figura 2 nos muestra un ejemplo de ello tomando una ventana de trabajo de 3 × 3, que consigue una reducción importante.
Figura 2. Ruido impulsional reducido con un filtro de mediana
Figura 2. Ruido impulsional reducido con un filtro de mediana

1.1.Ejercicios con filtro de mediana

Ejercicio 1
La imagen einstein.pgm es una imagen sin ruido. En este ejercicio le añadiremos ruido impulsional y le aplicaremos posteriormente un filtro de mediana para reducirlo; de esta manera podremos comparar la imagen una vez limpiada del ruido con la imagen ruidosa y con la imagen original.
Para añadir ruido a la imagen original, utilizaremos la herramienta de Photoshop Filter/FilterGallery/Texture/Grain (o Filtro/Galería de filtros/Textura/Granulado en la versión del programa en castellano) y escogemos una intensidad del 10%, contraste del 50% y en el campo Grain Type (Tipo de granulado) seleccionar el tipo Sprinckles (Rociado). Una vez ensuciada la imagen con ruido, aplicamos el filtro de mediana Filter/Noise/Median (Filtro/Ruido/Mediana) con una ventana de trabajo de 3 × 3 (es decir, radio = 1).
Comentad el efecto del filtro de mediana sobre la imagen ruidosa y comparad la imagen filtrada con la original.
Solución
El filtro de mediana no puede eliminar completamente el ruido impulsional que hemos añadido a la imagen original, ya que una vez filtrada la imagen todavía se pueden observar puntos blancos. Además, el filtro de mediana ha suavizado la imagen.
Ejercicio 2
Repetid el ejercicio anterior, pero esta vez añadiendo ruido impulsional de intensidad 5%.
Solución
En este caso, cuando aplicamos el filtro de mediana el ruido prácticamente desaparece. La imagen filtrada, comparada con la original, se ve también suavizada, como en el ejercicio anterior.

2.Morfología

La morfología matemática es una técnica, basada en la teoría de conjuntos, muy utilizada en el tratamiento de la imagen. Se construye sobre dos operadores básicos, la erosión y la dilatación, que son los que estudiaremos en primer lugar. Son transformaciones que se definen para imágenes binarias y se extienden a imágenes en niveles de gris.
A pesar de tratarse de operaciones no lineales, describiremos su funcionamiento manteniendo el paralelismo con las transformaciones lineales espaciales hasta donde nos sea posible.

2.1.Elemento estructurante

En vez de máscara, las operaciones morfológicas utilizan lo que se denomina elemento estructurante. Una máscara define el tipo de transformación que se aplica a la imagen y la ventana de trabajo; el elemento estructurante, en cambio, define solo la ventana de trabajo.
Considerando los elementos estructurantes como estructuras cuadradas, igual que las máscaras, los píxeles afectados son los marcados con el valor 1, el resto valen 0:
06524m3fig17.gif
El elemento estructurante EE1 afecta al píxel central de la ventana y sus ocho vecinos más inmediatos, mientras que EE2 afecta al píxel central y a dos de sus vecinos. En este módulo consideraremos elementos estructurantes con todos los coeficientes con valor 1; de dimensiones 3 × 3 o superiores, pero siempre cuadrados.
El elemento estructurante se desplaza por la imagen píxel a píxel, como lo hacía la máscara. La diferencia con las operaciones lineales es que no hay convolución espacial sino que a cada ventana se le aplica una operación no lineal; como mencionábamos anteriormente, las operaciones básicas son la erosión y la dilatación.

2.2.Erosión y dilatación

El operador erosión busca, para cada píxel de la imagen original, el nivel de gris más pequeño presente en la ventana de trabajo y sustituye en la imagen transformada el píxel correspondiente para este valor mínimo.
En una imagen binaria solo pueden darse dos casos:
  • que todos los píxeles de la ventana de trabajo tengan nivel de gris 255 (es decir, blanco) y entonces el píxel en la imagen transformada no se modifica, o

  • que al menos uno de los píxeles de la ventana de trabajo tenga nivel de gris 0 (negro) y este es el valor del píxel en la imagen de salida. El resultado es que las zonas blancas de la imagen se reducen y las zonas negras aumentan, como puede verse en la figura 3, erosionada (1) con EE1 (con la función de Photoshop Filter/Other/Minimum).

Figura 3. Erosión aplicada a una imagen binaria
Figura 3. Erosión aplicada a una imagen binaria
Si la imagen es en niveles de gris, la erosión produce un oscurecimiento general de la imagen, así como una cierta distorsión de los contornos, más apreciable cuanto mayor sea el elemento estructurante; tenemos un ejemplo en la figura 4.
Figura 4. Erosión aplicada a una imagen monocromática
Figura 4. Erosión aplicada a una imagen monocromática
El operador dilatación realiza la operación dual de la erosión, recupera el nivel de gris máximo de la ventana de trabajo; con imágenes binarias esto significa que solo con que haya un píxel con valor 255, la salida es 255. Así, las zonas negras se reducen y las blancas se amplían, como muestra la figura 5, donde la misma imagen que se erosionaba en la figura 3 se ha dilatado con EE1 (con la función de Photoshop Filter/Other/Maximum).
Figura 5. Dilatación aplicada a una imagen binaria
Figura 5. Dilatación aplicada a una imagen binaria
En una imagen monocromática la dilatación (2) produce una aclaración general; la figura 6 nos muestra una dilatación con elemento estructurante EE1 sobre la misma imagen de la figura 4. Se aprecia también, como en el caso de la erosión, distorsión en los contornos.
Figura 6. Dilatación aplicada a una imagen monocromática
Figura 6. Dilatación aplicada a una imagen monocromática
Los nombres erosión y dilatación hacen referencia al efecto de las transformaciones en imágenes binarias con objetos blancos sobre un fondo negro; los objetos se ven erosionados o dilatados respecto a su forma original.
La figura 7 nos muestra, a partir de una imagen que contiene diferentes objetos cuadrados, algunas aplicaciones de los operadores erosión (figura 7a) y dilatación (figura 7b); en todos los casos las operaciones se han hecho con el elemento estructurante EE1.
  • El contorno cuadrado se adelgaza con la erosión, mientras que se ensancha con la dilatación. Lógicamente, el cuadrado negro interior se engrandece con la erosión y se empequeñece con la dilatación.

  • Los cuadraditos más pequeños desaparecen con la erosión. La valoración pequeño o grande se hace en relación al elemento estructurante; en este caso los cuadraditos que se han eliminado tienen un tamaño inferior a 3 × 3 píxeles, mientras que los que continúan siendo visibles son más grandes que el elemento estructurante.

  • La erosión separa objetos cercanos, como los dos cuadrados más grandes; esto facilita el aislamiento o el recuento de objetos.

  • La dilatación, por el contrario, une objetos cercanos, lo que puede resultar muy útil para rellenar o completar objetos que la adquisición de la imagen no ha representado suficientemente bien.

Figura 7. Efectos de la erosión (a) y dilatación (b) sobre una imagen binaria
Figura 7. Efectos de la erosión (a) y dilatación (b) sobre una imagen binaria
Observemos en la figura 7 que conseguir el efecto deseado con la erosión o bien con la dilatación implica asumir cierta distorsión. Por ejemplo, si nuestro objetivo es eliminar los cuadraditos más pequeños, esto comporta que el resto de objetos se haga también más pequeño; se observa especialmente que los cuadraditos quedan reducidos prácticamente a un punto. En el subapartado siguiente estudiaremos la apertura y el cierre, dos filtros que combinan la erosión y la dilatación para reducir estos efectos no deseados.

2.3.Apertura y cierre

Con la apertura y el cierre modificamos los mismos aspectos de la imagen que con la erosión y la dilatación por separado, pero modificando lo menos posible el resto de la imagen. Actúan de filtro, modificando cierta información y conservando el resto.
La apertura (3) consiste en una erosión seguida de una dilatación con el mismo elemento estructurante. La primera operación borra los detalles pequeños y de intensidad alta a la vez que oscurece la imagen; la dilatación aclara la imagen sin recuperar los detalles borrados. Por tanto, la apertura elimina detalles claros de una imagen. Concretamente, elimina los objetos claros de menor tamaño que los del elemento estructurante.
Ejemplo de apertura
La figura 8a muestra la fotografía de una galaxia; nuestro objetivo es destacarla del fondo y la primera transformación que hacemos es binarizar la imagen, con un umbral de 128; el resultado de esta transformación es la figura 8b. Sobre el fondo negro vemos la galaxia, estrellas de un cierto tamaño y puntos que no son estrellas, sino ruido de fondo que había en la imagen original y que la binarización no ha eliminado. Para suprimirlos, aplicamos una apertura sobre la imagen. La figura 8c muestra el resultado del primer paso, la erosión, que elimina los píxeles ruidosos a la vez que reduce el tamaño de la galaxia; la figura 8d muestra la imagen definitiva después del segundo paso, la dilatación, con la galaxia del tamaño original.
Figura 8. Apertura de una imagen monocromática
Figura 8. Apertura de una imagen monocromática
El cierre (4) consiste en una dilatación seguida de una erosión, manteniendo siempre el mismo elemento estructurante. La dilatación elimina los detalles oscuros de la imagen y la aclara; la erosión oscurece la imagen sin recuperar los detalles eliminados. Así, el cierre elimina detalles oscuros de la imagen de tamaño menor que los del elemento estructurante.
Ejemplo de cierre
La figura 9 muestra un ejemplo de aplicación del cierre. El objetivo es eliminar de la fotografía original (figura 9a) los cables que la atraviesan en diagonal, dejando solo la estructura de la torre. Aplicamos una dilatación y utilizamos un elemento estructurante de 5 × 5 porque vemos que el elemento de 3 × 3 que hemos utilizado hasta ahora no es suficiente para borrar totalmente las líneas. El resultado de la dilatación es la figura 9b; los cables efectivamente se han borrado y el resto de líneas se ha adelgazado. La erosión aplicada posteriormente (figura 9c) las recupera.
Figura 9. Cierre de una imagen monocromática
Figura 9. Cierre de una imagen monocromática

2.4.Énfasis general de contornos

Acabaremos este apartado mostrando cómo podemos utilizar las operaciones morfológicas para detectar contornos en una imagen, como alternativa a las transformaciones espaciales lineales que vimos en la unidad anterior. De las diversas formas que hay de hacerlo, tomamos como ejemplo la detección de contornos utilizando la erosión.
Sabemos que, en una imagen binaria, la erosión reduce el tamaño de los objetos blancos y vemos un nuevo ejemplo en la figura 10, con un elemento estructurante 3 × 3. Si comparamos la imagen original (figura 10a) con la erosionada (figura 10b), todos los píxeles de ambas imágenes son iguales, tanto en el fondo negro como en los cuadraditos blancos, excepto en los píxeles que se han erosionado. Intuitivamente, si restamos las imágenes, todos los píxeles de la imagen diferencia tendrán nivel 0 excepto los píxeles que se han modificado que son, precisamente, los contornos. La figura 10c nos muestra la diferencia entre ambas imágenes (obtenida con Photoshop con la herramienta Image/Apply image).
Figura 10. Detección de contornos mediante erosión
Figura 10. Detección de contornos mediante erosión
Por tanto, una forma de detectar contornos mediante operaciones morfológicas es restar a la imagen original la imagen erosionada.
Siguiendo con la dilatación el mismo razonamiento que para el caso de la erosión, llegamos a otra forma de hacerlo, restar a la imagen dilatada la imagen original. En la figura 11 tenemos un ejemplo de detección de contornos utilizando la dilatación con una imagen monocromática.
Figura 11. Detección de contornos mediante dilatación
Figura 11. Detección de contornos mediante dilatación
Una vez hemos transformado la imagen para obtener exclusivamente los contornos, los contornos de la imagen original se pueden enfatizar de la misma manera que apuntábamos en el módulo «Transformaciones espaciales lineales», sumando ambas imágenes; la figura 12 muestra la enfatización de los contornos de la imagen utilizada en la figura 11 siguiendo este método.
Figura 12. Enfatización de contornos mediante dilatación
Figura 12. Enfatización de contornos mediante dilatación

2.5.Ejercicios de morfología

Ejercicio 1
Se quiere modificar la imagen nature8.pgm para que los círculos concéntricos se rellenen y se vean como un círculo negro y se piensa en utilizar una erosión. ¿Pensáis que es una buena opción? ¿Cuál deberá ser el tamaño mínimo del elemento estructurante para conseguir el efecto que buscamos? ¿Qué otro efecto apreciamos en la imagen transformada?
Solución
La erosión buscará valores mínimos y reducirá las zonas blancas de la imagen, de forma que las líneas negras concéntricas se irán ensanchando hasta juntarse; sí que es una buena opción. Usamos la opción Filter/Other/Minimum; con un elemento estructurante 3 × 3 (radio = 1) todavía se ve una línea blanca, con 5 × 5 (radio = 2) ya conseguimos el objetivo. Además de rellenar los círculos de negro, el cuadrado blanco interno es más pequeño que antes de la transformación.
Ejercicio 2
Continuamos con la imagen nature8.pgm y trabajamos también con la imagen triangulo_de_ang.pgm. Aplicamos a ambas imágenes una dilatación con un elemento estructurante 3 × 3. ¿Cuáles son los resultados de la transformación en ambos casos? ¿Qué conclusión podemos extraer respecto al grosor de las líneas en ambas imágenes?
Solución
En la imagen nature8.pgm la dilatación (en este caso utilizaremos la opción Filter/Other/Maximum) de las zonas blancas hace que los círculos negros se adelgacen, pero continúan siendo visibles; en cambio, en la imagen triangulo_de_ang.pgm las líneas se borran y solo queda el fondo gris. Esto nos indica que las líneas negras en la primera imagen son más gruesas que en la segunda.
Ejercicio 3
La imagen quadradets.tiff contiene cuadraditos de diferentes tamaños, nuestro objetivo es eliminar los más pequeños utilizando una apertura. ¿Cuál es el elemento estructurante que borra los seis cuadraditos más pequeños? ¿Qué elemento estructurante debemos utilizar en la dilatación?
Solución
En la erosión, el elemento estructurante 3 × 3 (radio 1) es demasiado pequeño como para borrar los cuadraditos, debemos utilizar un elemento 5 × 5. En la dilatación debemos utilizar el mismo, si no lo hacemos así, el resto de los objetos de la imagen no se restaurarán con el tamaño correcto. Comprobamos en la imagen transformada final que, efectivamente, hemos eliminado los objetos no deseados sin distorsionar el resto de imágenes.
Ejercicio 4
Se quiere eliminar el texto que aparece en la imagen cmpndd.pgm, incluido el que se superpone a la fotografía de la parte inferior. ¿Qué transformación morfológica utilizaríamos? ¿Cuáles son los resultados que se obtienen?
Solución
Necesitamos una operación que elimine los detalles más oscuros de la imagen, por tanto estamos hablando de una dilatación. Si aplicamos solo una dilatación, conseguimos nuestro objetivo pero el resto de la imagen, que es monocromática, queda globalmente más clara que la original. Aplicando a continuación una erosión (y globalmente estamos aplicando un cierre), oscurecemos nuevamente la imagen. Cabe remarcar que en la fotografía de la parte inferior se aprecia distorsión aunque utilicemos el elemento estructurante más pequeño del que disponemos.
Ejercicio 5
Los objetivos de este ejercicio, que realizaremos con la imagen einstein.pgm, son dos: obtener una nueva imagen que contenga solo los contornos de la imagen original y enfatizar los contornos de la imagen original, en ambos casos transformando la imagen mediante la erosión. Explicad los pasos que seguís para conseguir ambos objetivos.
Solución
En primer lugar, detectaremos los contornos de la imagen; necesitaremos realizar una erosión con un elemento estructurante 3 × 3 y restar la imagen erosionada a la imagen original. Para hacer el resto, utilizaremos la utilidad Image/Apply image de Photoshop. La imagen que obtenemos tiene el fondo negro y sobre él se dibujan los contornos de la imagen original. Para enfatizar los contornos en la imagen original, solo hace falta sumar la imagen que hemos obtenido anteriormente; obtenemos una imagen con los contornos más definidos.

3.Imágenes empleadas en las figuras

Las imágenes que se han utilizado en las figuras de esta unidad para los ejemplos con Photoshop son las siguientes.

Figura

Imagen

Dirección URL

2

soroll impulsiu.tif

Se adjunta la imagen

3

thueven.pgm

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

4

7.01.05.pgm

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

5

thueven.pgm

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

6

7.01.05.pgm

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

7

mesquadradets.bmp

Se adjunta la imagen

8

7314.pgm

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

9

33b.pgm

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

10

quadradets.tif

Se adjunta la imagen

11

indor4.pgm

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

12

indor4.pgm

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

Resumen

Las operaciones espaciales no lineales no cumplen las condiciones necesarias para poderlas implementar mediante una máscara y una convolución espacial. En lugar de esto, quedan definidas por la ventana de trabajo y una operación en la que el píxel de salida se escoge por comparación de su nivel de gris con el del resto de los píxeles de la ventana.
La mediana es una de estas operaciones no lineales, en que cada píxel de la imagen transformada es la mediana de la ventana de trabajo asociada al píxel correspondiente en la imagen original.
Las operaciones morfológicas son otra familia de operaciones no lineales, construidas a partir de dos operaciones básicas, la erosión y la dilatación. En las operaciones morfológicas, la ventana de trabajo queda definida por el elemento estructurante, una matriz similar a la máscara donde los coeficientes pueden tener valor 1 o 0 según si el píxel correspondiente se ve afectado o no por la operación.
La erosión es una operación que busca el valor mínimo de nivel de gris en la ventana de trabajo y sustituye cada píxel de la imagen original por este valor mínimo. En consecuencia, suprime los detalles más claros de la imagen y la oscurece globalmente.
La dilatación es una operación que busca el valor máximo de nivel de gris en la ventana de trabajo y sustituye cada píxel de la imagen original por este máximo. En consecuencia, suprime los detalles más oscuros de la imagen y la aclara globalmente.
Apertura y cierre son dos filtros que se definen a partir de los anteriores; la apertura es una erosión seguida de una dilatación y el cierre es una dilatación seguida de una erosión. En ambos casos se mantiene el elemento estructurante.
Una de las aplicaciones de las operaciones morfológicas es el énfasis de contornos; los contornos de una imagen se pueden obtener, entre otras maneras, restando a la imagen original su versión erosionada (o restando a la versión dilatada la imagen original).