Modelos, Control y Sistema de Visión

Central     Modelos     Control     Visión     Aplicaciones     Mapa del sitio     Publicaciones     Sobre el autor      
Hardware     Imágenes     Transformaciones     Histograma     Filtros     Gradiente     Morfología      
Transformaciones básicas de una imagen
 

La transformación de una imagen ocurre cuando se redefine la magnitud que representa a un píxel o grupo de píxeles:

 

g(x,y) = T[f(x,y)];      d = T[r]                                            (1)

 

Por ejemplo, la siguiente figura representa la transformación del píxel [2, 3].

 

 

Las funciones de transformación relacionan los niveles de gris de la imagen entrada con los niveles de gris de la imagen de salida. Por ejemplo, si se desea convertir una imagen en escala de grises de tipo uint8 a una imagen en blanco y negro, los píxeles que tengan valores en el intervalo [0, 127] podrían convertirse a cero (negro) y los píxeles que tengan valores en el intervalo [128, 255] a 255 (blanco), tal y como muestra la siguiente figura

 

 

A la anterior función se le denomina transformación umbral.


Algunas funciones de transformación son:


Negativo de la imagen: Se representa por la siguiente ecuación

 

d = (L-1) - r                                                                       (2)

 

donde L-1 representa el máximo valor del nivel de gris [0, L-1] utilizado para representar la imagen. Los valores de niveles de gris devuelto por esta transformación para imágenes del tipo uint8 se representan en la siguiente figura

>> r=uint8(0:1:255);                % ó >> r=im2uint8([0:1:255]);
>> d=imadjust(r, [0, 1], [1, 0]); % Equivale a: >> d=imcomplement(r);
>> plot(r,d);
 

 

Función o corrección gamma: Se representa por la siguiente ecuación

 

d = k*rg                                                                                           (3)

 

donde k es una constante. Si g<1 entonces las intensidades de salida cambian, expandiendo las zonas oscuras a las vez que comprime las claras. En el caso de que g=1 se aplica la función identidad

( d = r) y cuando g>1 las intensidades de salida cambian, comprimiendo las zonas oscuras a la vez que expande las claras. La función de transferencia resultante para diferentes valores de g se muestra a continuación

>> a=[0.1:0.2:1]
>> b=[1:1:5]
>> g=[a, b]
>>r=uint8(0:1:255);
for i=1:10
d(i,:)=imadjust(r, [0 1], [0 1], g(1,i));
plot(r,d(i,:));
hold on
end

 

 

Las curvas superiores representan a g<1 y las inferiores a g>1.

 

Un ejemplo de aplicación de la corrección gamma se muestra aquí.

 

Definición del contraste: Se representa por la siguiente ecuación

 

                                                              (4)

 

donde E define la pendiente de la función y m el valor del nivel de gris de entrada de la imagen que constituirá el centro de la pendiente de la función, tal y como muestra la siguiente figura

 

>>r=0:1:255;
>>E=10:10:1000;
for i=1:9
d(i,:)=255*(1./(1+(128./r).^E(1,i)));
plot(r,d(i,:));
hold on
end

 

 

En este caso m=128 y la pendiente será mayor mientras mayor sea el valor de E.

 

Transformaciones aplicando lógica borrosa

 

Se pueden crear funciones de transformación aplicando lógica borrosa, como se describe en la siguiente aplicación.

 

Transformaciones geométricas

 

Estas transformaciones se aplican en:

1.- Registro o fusión de imágenes que se han tomado en diferentes intervalos de tiempo o diferentes sensores.

2.- Corregir la distorsión de una lente.

3.- Corregir los efectos de la orientación de una cámara.

4.- Incorporar efectos artísticos en las imágenes.

 

Información referente a este tema se describe en: