Modelos, Control y Sistema de Visión

Central     Modelos     Control     Visión     Aplicaciones     Mapa del sitio     Publicaciones     Sobre el autor      

Mejora de contraste en una imagen

 

Cuando se pretende mejorar el contraste de una imagen se desea que "los píxeles claros se aclaren más" y "los píxeles oscuros se oscurezcan", lo cual es el fundamento para dar mayor nitidez a las formas presentes en la imagen. Considerando lo anterior se puede utilizar ese criterio heurístico para diseñar un sistema borroso que mejore el contraste de la imagen. Para ello se diseña el siguiente sistema utilizando el ANFIS:

 

Variable de entrada:

Píxel: { Oscuro, Menos oscuro, Gris, Menos claro, Claro }. Se define en el universo de discurso determinado por el rango dinámico [0, L-1] de un píxel ([0, 255] para formato 8 bits entero sin signo).

 

Variable de salida:

Píxel Resultante: { Oscurecer, Mantener, Aclarar}. Define la acción que se realizará sobre el píxel. Su universo de discurso se define en el intervalo [0, 255].

 

Se definen los métodos de inferencia, desborrosificación, etc. de acuerdo a los fundamentos de los sistemas borrosos, resumidos en esta presentación.

 

Se definen un conjunto de reglas de la forma:

 

Si Píxel es Oscuro Entonces Píxel Resultante es Oscurecer

Si Píxel es Claro Entonces Píxel Resultante es Aclarar

Si Píxel es Gris Entonces Píxel Resultante es Mantener

Si Píxel es Menos oscuro Entonces Píxel Resultante es Oscurecer

Si Píxel es Menos claro Entonces Píxel Resultante es Aclarar

 

Se crea el archivo Anfis que identifica al sistema borroso. Las características del sistema se muestran a continuación

Variable de entrada (Píxel)

Variable de salida (Píxel Resultante)

El gráfico que relaciona a las variables de entrada y salida (figura inferior derecha) muestra como serán alterados los píxeles de entrada. Nótese la semejanza con la función definición de contraste descrita en las transformaciones de una imagen. Adicionalmente, la salida no cubre el rango dinámico que define a una imagen de 8 bits, lo cual puede mejorarse redefiniendo el soporte de las funciones de pertenencia.

 

Una vez que se ha creado el sistema lógico borroso, se aplica el mismo a cada píxel de la imagen, tal y como se muestra en el siguiente programa en Matlab.

% Lee el sistema borroso

MejoraC = readfis('Mejora_contraste.fis');

% Se lee la imagen

I=imread('paisaje.jpg');

% A intensidad

II=rgb2gray(I);

% A formato double para ser compatible con el sistema borroso

III=im2double(II).*255;

[M, N]=size(III);

IV=zeros(M,N);

for i=1:M

for j=1:N

% Se aplica sistema borroso a cada píxel

IV(i,j)=evalfis(III(i,j),MejoraC);

end

end

% Se convierte a formato entero sin signo de 8 bits

V=uint8(IV);

A continuación se muestra el resultado de aplicar el algoritmo sobre una imagen.

Referencia:

 

González, R.; Woods, R.: "Digital Image Processing".  Prentice Hall. Tercera edición. 2008.