Operaciones Puntuales Las operaciones puntuales ‘mapean’ o transforman una imagen en la entrada a una imagen en la salida, de manera tal que los valores de los pixeles de la última dependen del valor de sus correspondientes a la entrada. En otras palabras, los valores de pixel en la imagen resultante, dependen del valor de pixel de la imagen origen y de la relación funcional entre ambos, ver figura 8-1. Por transformación de una imagen vamos a entender: una nueva representación de esa imagen. B[i][j]=fA[i][j] A[i][j] B[i][j] Figura 7-1. Operación puntual en una imagen. A las operaciones puntuales se les conocen con otros nombres: realzado del contraste, reducción de contraste, transformaciones de la escala de gris, reducción del intervalo dinámico. Algunas veces, aún cuando los mapeos o transformaciones son lineales, estas transformaciones no son invertibles. Por invertible, debemos entender que no existe una operación inversa 1 f {B[i][ j]} que nos permita obtener nuevamente y de manera exacta la imagen A[i][j] de la cual partimos. Para el caso continuo, una operación puntual se puede expresar mediante la siguiente relación: B(x, y) = f{ A(x, y)}, en donde (x, y) representan la posición, A(x, y) es la imagen de entrada, B(x, y) es la imagen que se obtiene como resultado en la salida. La operación queda completamente definida por la función de transformación del valor de pixel ó escala de gris, f(D). Usos de las operaciones puntuales. Calibración fotométrica. En el caso de que la respuesta del sensor no sea lineal, las operaciones puntuales se pueden usar para distribuir de una manera regular y homogénea los valores, a lo largo del intervalo dinámico disponible. Realce del contraste. En algunas imágenes los rasgos de interés, ocupan solo una pequeña porción del intervalo dinámico, mediante las operaciones puntuales es posible realzar esos rasgos de interés. Calibración de monitores. La mayoría de los monitores no mantienen una relación lineal entre los valores del pixel de la imagen y los tonos de gris desplegados. Líneas de contorno. Mediante las operaciones puntuales se pueden agregar líneas de contorno a una imagen. Corte, redondeo (Clipping). Comúnmente las imágenes son almacenadas como enteros, frecuentemente 8 bpp. Para imágenes que ocupan mas de un bytepp, la salida tiene que reducirse al intervalo de valores (0 – 255). Los valores negativos se envían a cero, los valores positivos mediante alguna relación funcional son redistribuidos a lo lardo del intervalo [0,255]. Tipos de operaciones Operaciones Puntuales lineales. El primer tipo de operaciones puntuales que vamos a considerar, son aquellas que relacionan el pixel de entrada DA con valor DB a la salida, mediante una función lineal, de aquí derivan su nombre. (7-1) D B f (DA) a DA b Si a =1 y b =0, se obtiene la operación identidad, esta solo copia el valor A(x, y) al valor B(x, y) sin modificarlo. Si a>1, el contraste será incrementado en la imagen de salida. Para a<1, el contraste es reducido. Si a=1 y b0, la operación sólo desplaza los valores del pixel, hacia arriba o hacia abajo. Este efecto hace que toda la imagen se vea más brillante o más obscura. Si a<0, las áreas obscuras se vuelven brillantes, y viceversa (negativo de la imagen). D B f (DA) a DA b s 255 a l i d a b a Valor de pixel entrada. 0 255 Figura 7-2. Operación puntual lineal. Operaciones Puntuales no lineales monotónicas. Las operaciones no lineales monotónicas se clasifican de acuerdo a la manera de cómo transforman los valores de pixel intermedios en el intervalo dinámico. La figura 7-3 muestra una transformación, que desplaza hacia arriba los valores intermedios, y variando muy poco los valores altos y bajos de pixel. Un ejemplo de dicha transformación está descrito por la ecuación 7-2: f(x) = x + C x (Dm –x) (7-2), donde Dm es el valor máximo del pixel. El parámetro C determina la cantidad de aumento o disminución en los puntos intermedios del intervalo. Si C>0, entonces los valores intermedios crecen, si C<0, decrecen. Un segundo tipo de operación no lineal, aumenta el contraste en los valores intermedios, sacrificando los objetos brillantes y oscuros. Esta función tiene forma de S, y está basada en senos. Tiene pendiente mayor que uno en la parte media del intervalo y menor que uno en los extremos, por ejemplo: f ( x) Dm {1 2 1 sen[ ( sen[ ] 2 x 1 )]}, Dm 2 (7-3) donde 0 1 . Entre más grande es el valor de más notorio es el efecto en la zona intermedia. Un tercer tipo de operaciones puntuales no lineales decrece el valor en la zona intermedia y lo aumenta en las regiones claras y oscuras. Este tipo de función de mapeo tiene una pendiente menor que uno en la zona intermedia y mayor que uno en los extremo. Un ejemplo de estas funciones es el siguiente: f ( x) Dm {1 2 1 tan[ ( tan[ ] 2 x 1 )]}, Dm 2 donde 0 1 . (7-4) Nuevamente determina magnitud del efecto en la imagen resultante. Operaciones puntuales y el histograma. Lo anterior sugiere que mediante las operaciones puntuales, el histograma de una imagen puede ser modificado de una manera predecible. Se puede predecir el histograma de la imagen resultante de una operación puntual, conociendo el histograma de la imagen objeto, y la relación funcional de la transformación. Teniendo esta capacidad es útil por dos razones: Primero, se puede diseñar una operación puntual de tal manera que produzca el histograma con una forma deseada, o bien que los valores de pixel resultantes, ocupen una parte del intervalo dinámico. Segundo: este ejercicio desarrolla la habilidad de predecir los efectos que pueda causar una cierta operación puntual. HISTOGRAMA DE SALIDA. Supongamos que la operación puntual, definida por una transformación de la escala de gris f(D) sobre la imagen A(x, y) a la entrada produce la imagen B(x, y) a la salida. B(x, y) = f{A(x, y)}, (7-5) es la representación de dicha operación puntual. Dado HA(D), el histograma de la imagen de entrada, deseamos conocer HB(D), el histograma de la imagen a la salida. La transformación del nivel de gris, está dada por: DB = f(DA), (7-6) DA es el valor del pixel correspondiente en la imagen de entrada, Supongamos que f(D) es una función no decreciente y con pendiente finita. Entonces la función inversa existe, y se representa por la siguiente ecuación: DA = f-1 (DB) (7-7) El valor de pixel DA es transformado a DB. De la misma manera el nivel DA+DA se transforma a DB+DB. Además todos los pixeles con valores intermedios, en el intervalo DA + DA también son mapeados al interior del intervalo DB + DB. Por esta razón el número de pixeles que están en el intervalo DB+DB es igual al número de pixeles en el intervalo DA + DA. Esto implica que el área bajo HB(D) en el intervalo DB+DB es igual al área bajo HA(D) en el intervalo DA + DA. Escribiendo la última afirmación en formulas, obtenemos: DB DB D A D A H B ( D)dD D H A ( D)dD . D B A (7-8) Haciendo DA suficientemente pequeño, DB también será suficientemente pequeño, se puede hacer una aproximación rectangular para el área HB(D) DB = HA(DA) DA (7-9) Si despejamos el histograma a la salida HB(D) de la ecuación (7-9), obtenemos: H A ( D A) DB D A H B ( DB) (7-8) Tomando el límite cuando DA tiene a cero, y como f(D) no tiene pendiente cero, la ecuación (7-8) se reduce a: H B ( DB) H A ( D A) . dDB dDA (7-9) Sustituyendo DB por su definición ecuación (7-6), obtenemos: H B ( DB) H A ( D A) , (7-10) (d dDA) f ( D A) donde DB y DA, ambas son variables independientes. Para resolver este problema, usamos la inversa de la función f(D) ecuación (7-7), sustituimos y obtenemos la siguiente expresión: H B (D ) 1 H A [ f ( D )] f '[ f 1 ( D )] (7-11) Donde f’ = df/dD, y el subíndice ha sido eliminado. La ecuación (7-11), muestra como dada una relación funcional, para una operación puntal, y dado un histograma de la imagen de entrada, se puede obtener el histograma de la imagen a la salida.