Menú principal

domingo, 6 de septiembre de 2020

Binarización e inversión de una imagen - Tratamiento de imagen - Matlab

La operación mas sencilla en procesamiento de imagen es la binarizacion que consiste en representar la información de la imagen únicamente con dos niveles de gris: blanco y negro.

Se quiere binarizar una imagen en Matlab. Para ello en primer lugar se deberá leer la imagen (alojada en el mismo directorio que donde se está guardando el programa) con la que se quiere trabajar mediante el comando imread. Se puede visualizar con la función imshow

Posteriormente se procede a binarizar. Para ello, se va a definir un umbral. Los pixeles con un nivel de gris por debajo de este se transformaremos en negro puro y por encima en blanco puro. Dicho umbral se puede establecer en medio de la escala (generalmente trabajaremos con 256 niveles de gris y el umbral sería 128). También se puede definir un umbral mas adecuado a la imagen particular utilizando el  comando graythresh. Con este parámetro se procede a binarizar utilizando el comando im2bw y pasando como parámetros la imagen que deseamos binarizar y el umbral. Finalmente mostramos la imagen para ver el resultado final.

Por último se invierte la imagen debido a que Matlab considera los objetos en blanco. De esta forma los pixeles negros serán blancos y viceversa. Para ello, se utilizará la imagen binarizada, en este caso llamada BW, introduciendo el comando BW=~BW. La última imagen muestra el resultado.

%Leer y mostrar
I=imread("lataCoca.png");
imshow(I)
%Binarizar
umbral=graythresh(I);
BW=im2bw(I,umbral);
imshow(BW)
%Invertir
BW=~BW;
imshow(BW)

No hay comentarios:

Publicar un comentario