Vea
como manipular el contraste en SPRING
La técnica de realce de contraste tiene como objetivo mejorar la calidad de
las imágenes bajo los criterios subjetivos del ojo humano. Normalmente, esta
técnica es utilizada como una etapa de preprocesamiento para sistemas de
reconocimiento de patrones.
El contraste entre dos objetos puede ser definido como la
razón entre sus niveles de gris medios.
La manipulación de contraste consiste en una transferencia radiométrica en
cada "pixel", con el objetivo de aumentar la
discriminación visual entre los objetos presentes en la imagen. La operación es
realizada punto a punto, independientemente de la vecindad.
Esta transferencia radiométrica es realizada con ayuda de histogramas, que son manipulados para obtener el realce deseado. Vea más sobre ¿Qué es un Histograma ?
NOTAS:
1- No existe una regla (receta)
que mejor se aplique para contrastar una imagen, ya que depende de las
características de la escena; época de adquisición, ángulo de iluminación,
altura del sensor y bandas.
2- Los motivos por los cuales se desea aplicar un
aumento o inclusive una reducción de contraste, deben estar bien claros antes
de realizarlo, debido a que este procesamiento puede afectar el resultado de
operaciones subsecuentes.
3- Al aplicar un realce de contraste como una
etapa de preprocesamiento, se debe tener cuidado con el hecho de que parte de
la información puede ser perdida, dependiendo de la forma como sea realizado el
aumento de contraste (vea sobre el efecto de overflow más adelante, en la
operación de Min/Max).
4- Un aumento de contraste no revelará nunca una
información nueva que no esté contenida en la imagen. El contraste solamente
presentará la misma información existente en los datos brutos, pero de una
forma más clara para el usuario.
Como se verá a seguir, el SPRING permite la
manipulación de contraste a través de diferentes opciones que están disponibles
en el menú Operaciones, tales como:
Otras técnicas de Procesamiento
de Imagen
La manipulación de histograma por la opción MinMax es idéntica a la manipulación de una curva lineal. La diferencia está en el momento en que fue hecha la selección de la opción.
Histograma Max/Min
Como puede ser visto en la figura anterior, el sistema calcula el valor de
los niveles de gris mínimo y máximo de la imagen original. Sobre estos valores
se aplica una transformación lineal donde la base de la recta está localizada
en el valor mínimo y el otro extremo de la recta, en el valor máximo. De este
modo no habrá pérdida de información por “overflow”, es decir,
todos los niveles de gris continuarán con el mismo número de pixels.
Un “overflow” ocurre cuando un grupo de pixels de niveles de gris diferentes es transformado en un único nivel, es decir, cuando la inclinación de la recta de transferencia es exagerada. Observe en la figura a seguir, donde la flecha está indicando “overflow”, significa pérdida de información, ya que los pixels de columnas vecinas del histograma de entrada, que originalmente podían ser diferenciados con base en su nivel de gris, serán fundidos en una sola columna y pasarán a tener el mismo nivel de gris (0 para el caso de la figura que sigue)
Histograma c/ overflow
Histograma con overflow
OBS.: La ocurrencia de “overflow”
es muchas veces deseada, por ejemplo si el usuario sabe en que intervalo de
niveles de gris está lo que desea realzar. En caso contrario, estará definitivamente
perdiendo información cuando guarde la imagen realzada.
El aumento de contraste por una transformación lineal es la
forma más simple de las opciones. La función de transferencia es una recta y
sólo son controlados dos parámetros: la inclinación de la recta y el punto de
intersección con el eje X (vea figura a seguir). La inclinación controla la
cantidad de aumento de contraste y el punto de intersección con el eje X,
controla la intensidad media de la imagen final.
La función de mapeo lineal puede
ser representada por:
Y = AX + B donde:
Y = nuevo valor de nivel de gris;
X = valor original de nivel de gris;
A = inclinación de la recta (tangente del ángulo);
B = factor de incremento, definido por los límites mínimo y máximo suministrados
por el usuario.
N
Histograma Lineal
En el aumento lineal de contraste, las barras que forman el histograma de la
imagen de salida son espaciadas igualmente, debido a que la función de transferencia
es una recta. Como puede ser observado en la figura anterior, el histograma de
salida será idéntico en formato al histograma de entrada, excepto porque el
valor medio y la extensión del intervalo serán diferentes.
La opción de transformación por raíz cuadrada se utiliza
para aumentar el contraste de las regiones oscuras de la imagen original. La
función de transformación es representada por la curva como en la figura a
seguir. Observe que la inclinación de la curva es tanto mayor cuanto menores
son los valores de niveles de gris.
La transformación por raíz cuadrada se puede expresar por la función:
donde:
Y = nivel de gris resultante
X = nivel de gris original
A = factor de ajuste para que los niveles de salida se restrinjan al intervalo
entre 0 y 255
Histograma Raíz Cuadrada
NOTA: Este mapeo difiere del logarítmico porque realza un
intervalo mayor de niveles de gris bajos (oscuros), mientras que el logarítmico
realza un pequeño intervalo.
Este mapeo se utiliza
cuando se desea aumentar el contraste de rasgos claros (altos niveles de gris
en la imagen). Observe en la figura siguiente que el aumento de contraste es
mayor a partir de la media del histograma, inclusive habiendo un dislocamiento
general para la región de niveles más oscuros
Histograma Cuadrado
La función de transformación es dada por la ecuación:
donde:
X = nivel de gris original
Y = nivel de gris resultante
A = factor de ajuste para que los niveles de salida se restrinjan al intervalo
entre 0 y 255
El mapeo logarítmico de valores de niveles de gris, es útil
para aumentar el contraste en rasgos oscuros (valores de gris bajos). Equivale
a una curva logarítmica como muestra la figura a seguir.
La función de transformación se
expresa por la ecuación:
Y = A log (X + 1) donde:
Y = nuevo valor de nivel de gris
X = valor original de nivel de gris
A = factor definido a partir de los límites mínimo y máximo de la tabla, para
que los valores estén restrictos al intervalo entre 0 y 255.
Histograma Logaritmo
NOTA: Observe en la figura anterior que hay un grupo menor
de niveles de gris con un gran aumento de contraste, si se compara con la
transformación por raíz cuadrada, mencionada anteriormente.
Es una función de mapeo lineal inversa, o sea, el contraste ocurre de modo que las áreas oscuras (bajos valores de nivel de gris) se tornan claras (altos valores de nivel de gris) y viceversa. La figura a seguir muestra su representación.
Histograma Negativo
La función de mapeo negativa puede ser representada por:
Y = - (AX + B) donde
Y = nuevo valor de nivel de gris
X = valor original de nivel de gris
A = inclinación de la recta (tangente del ángulo)
B = factor de incremento, definido por los limites mínimo y máximo definidos
por el usuario.
NOTA: Esté atento al hecho que todas las opciones mencionadas hasta el momento pueden ocasionar un “overflow”. NOTA: El modo de operación de todas las opciones de contraste mencionadas anteriormente, tienen el modo de operación igual al descrito en el ítem Manipulando un Histograma de operación.
Es una forma de manipulación de histograma que reduce automáticamente el contraste en las áreas muy claras o muy oscuras de una imagen. También expande los niveles de gris a lo largo de todo intervalo. Consiste en una transformación no lineal que considera la distribución acumulativa de la imagen original, para generar una imagen resultante cuyo histograma será aproximadamente uniforme (vea la figura siguiente).
La opción de ecualización parte del principio que el contraste de una imagen
sería optimizado si todos los 256 niveles de intensidad posibles fueran
igualmente utilizados o, en otras palabras, todas las barras verticales que
componen el histograma fueran de la misma altura. Obviamente esto no es posible
debido a la naturaleza discreta de los datos digitales de una imagen de
percepción remota. Sin embargo, se consigue una aproximación al dispersar los
picos del histograma de la imagen, dejando intocadas las partes más chatas.
Como se puede ver en la figura a continuación, este proceso se obtiene a través
de una función de transferencia que tiene una alta inclinación siempre que el
histograma original presenta un pico y una baja inclinación en el resto del
histograma.
Ecualización de Histogramas
El SPRING presenta la siguiente función de ecualización de histograma:
donde:
faxi = frecuencia acumulada para el nivel de gris xi
Pt = población total (número total de "pixels")
NOTA: La opción de ecualización es calculada y presentada automáticamente, por lo que el usuario no podrá alterar la forma o posición de la curva. permaneciendo la pantalla en modo estático.
A opción intervalo (fatiamento)es una forma
de aumento de contraste cuya operación estriba simplemente en realzar los
pixels cuyas intensidades se sitúan dentro de un intervalo específico, es
decir, entre un máximo y un mínimo. Consiste en la división de la amplitud
total de niveles de gris en determinados intervalos (o clases de colores).
El aumento de contraste por
intervalos es considerado la forma más simple de clasificación, de modo que es
aplicado a una única banda espectral.
De acuerdo con el criterio de
determinación de los intervalos de niveles de gris, se puede obtener una
división normal, equidistribuida y arco iris.
En el intervalo normal: las fajas son definidas de modo que el
intervalo entre cada una es constante.
Intervalo Normal
Intervalo equidistribuido: el intervalo de niveles de gris es
dividido de modo que cada faja contenga el mismo número de puntos.
Intervalo Equidistribuido
Intervalo arco iris: es el mapeo de un tono de gris en un
determinado color. Se basa en el hecho de que las variaciones de colores son mucho
más visibles al ojo humano que las variaciones de tonos de gris. El mapeo
global de estos niveles de gris para el espacio de color sigue la secuencia del
arco iris.
Intervalos(fatiamento) en Arco Iris
En el SPRING la división de los intervalos de niveles de gris es realizada de
modo interactivo, en el cual el usuario define el tipo de
división y el número de intervalos. Vea como realizarlo en División en intervalos de Niveles de Gris.
Permite la aplicación de una tabla de transformación
radiométrica definida por el usuario. Su objetivo es destacar un aspecto
específico de la imagen que el usuario desea analizar.
Ejemplo: en caso
que una imagen presente regiones oscuras (bajos niveles de gris) dentro de un
área con pequeñas variaciones radiométricas que no son de interés. Se puede
utilizar el límite de saturación para realzar o amenizar el contraste de alguna
característica de la imagen. La figura a seguir ilustra el efecto de la
variación del umbral de saturación.
Edición con umbral
Si el histograma presenta dos picos de frecuencia (bimodal), se puede
separar la imagen en dos clases definidas por un umbral (L). Esta operación es
útil para disgregar dos grandes grupos de niveles de gris en la imagen.
Edición Bimodal
Cuando la imagen con la que se está trabajando presenta un histograma
asimétrico, como es observado frecuentemente, no es recomendable aplicarle una
transformación lineal simple. En este caso el usuario con la ayuda del cursor,
puede especificar en la pantalla una transformación lineal por partes, lo que
le ofrece un mayor grado de libertad en la especificación del histograma de
salida, reduciendo la asimetría del histograma y utilizando mejor el intervalo
de niveles de gris disponible. Vea la siguiente figura:
Edición con inclinaciones diferentes
La figura a continuación muestra una recta con tres puntos, el nuevo
histograma fue calculado de modo que sólo las extremidades del histograma de entrada
fueron realzadas, en tanto que el segmento de recta en la horizontal hizo con
que la parte central del histograma de entrada se redujera a un nivel de gris
único, causando un “overflow” en esta región.
Ejemplo de Edición
Vea como editar un histograma en Para Editar un Histograma.