Universidad Anáhuac de Oaxaca

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Universidad Anhuac de Oaxaca.

Profesor: Vctor Bolaos R.




Reporte de Prctica
Filtros de Imagen en Matlab.

Materia: Procesamiento Digital de Seales.


Diego Moiss Meinger Cuevas.
Jos Carlos Javier Velasco.
Introduccin

MATLAB
1
, es un software matemtico que ofrece un entorno de desarrollo integrado con
un lenguaje de programacin propio (lenguaje M). Est disponible para las plataformas de
Unix, Windows y Mac OS. Entre sus prestaciones bsicas se hallan: la manipulacin de
matrices, la representacin de datos y funciones, la implementacin de algoritmos, la
creacin de interfaces de usuario (GUI) y la comunicacin con programas en otros
lenguajes. Adems, se pueden ampliar las capacidades de MATLAB con las cajas de
herramientas (toolboxes). Para el caso de manipulacin de imgenes se emplea el toolbox
Image Processing.
2

El toolbox de procesamiento de imgenes de Matlab contiene un conjuntos de funciones
de los algoritmos ms conocidos para trabajar con imgenes binarias, transformaciones
geomtricas, mofologa y manipulacin de color que junto con las funciones ya integradas
en matlab permite realizar anlisis y transformaciones de imgenes en el dominio de la
frecuencia (trasformada de Fourier y Wavlets).











1
Abreviatura de MATrix LABoratory que en espaol significa, Laboratorio de matrices
2
MATLAB. (2014, 23 de marzo). Wikipedia, La enciclopedia libre. Fecha de consulta: 00:13,
marzo28, 2014 desde http://es.wikipedia.org/w/index.php?title=MATLAB&oldid=73348158.
Figura 1 Logo del software Matlab
Figura 2Ejemplo de un filtro negativo en matlab
Conceptos bsicos de las imgenes

En matlab una imagen a escala de grises es representada por medio de una matriz
bidimensional de m x n elementos en donde n representa el nmero de pxeles de ancho y
m el nmero de pxeles de largo.
Por otro lado una imagen de color RGB es representada por una matriz tridimensional m x
n x p, donde m y n tienen la misma signicacin que para el caso de las imgenes de
escala de grises mientras p representa el plano, que para RGB que puede ser 1 para el
rojo, 2 para el verde y 3 para el azul.

Lectura y escritura de imgenes a travs de archivo


Para leer imgenes contenidas en un archivo al ambiente de matlab se utiliza la funcin
imread, cuya sintaxis es:

Imread (nombre del archivo);

Donde nombre del archivo es una cadena de caracteres conteniendo el nombre completo
de la imagen con su respectiva extensin, los formatos de imgenes que soporta matlab
son los mostrados en la tabla que se muestra a continuacin
3
:

Formato Extensin
TIFF .tiff
JPEG .jpg
GIF .gif
BMP .bmp
PNG .png
XWD .xwd


Para introducir una imagen guardada en un archivo con alguno de los formatos
especificados en la tabla anterior solo tiene que usarse la funcin imread y asignar su
resultado a una variable que representar a la imagen. De tal forma que se quisiera
introducir la imagen contenida en el archivo data.jpg a una variable para su
procesamiento en matlab, entonces se tendra que escribir en la lnea de comandos lo
siguiente:

>>image=imread(data.jpg);

3
MATLAB. Fecha de consulta: 00:13, marzo28, 2014
desde http://proton.ucting.udg.mx/tutorial/vision/cursovision.pdf

As, la imagen contenida en el archivo data.jpg quedar contenida en la variable imagen.
Una vez que la imagen est contenida en una variable de Matlab es posible utilizar las
funciones para procesar la imagen. Despus que realizamos un procesamiento con la
imagen, es necesario desplegar el resultado tenido, la funcin imshow(variable) permite
desplegar la imagen en una ventana en el ambiente de trabajo de Matlab. Si la variable a
desplegar por ejemplo, es data al escribir en la lnea de comandos:

>>imshow(data);

Obtendramos la imagen
4
.

Proceso de filtrado

Es el conjunto de tcnicas englobadas dentro del preprocesamiento de imgenes cuyo
objetivo fundamental es obtener, a partir de una imagen origen, otra final cuyo resultado
sea ms adecuado para una aplicacin especfica mejorando ciertas caractersticas de la
misma que posibilite efectuar operaciones del procesado sobre ella.
Los principales objetivos que se persiguen con la aplicacin de filtros son:
Suavizar la imagen: reducir la cantidad de variaciones de intensidad entre pxeles
vecinos.
Eliminar ruido: eliminar aquellos pxeles cuyo nivel de intensidad es muy diferente al
de sus vecinos y cuyo origen puede estar tanto en el proceso de adquisicin de la
imagen como en el de transmisin.
Realzar bordes: destacar los bordes que se localizan en una imagen.
Detectar bordes: detectar los pxeles donde se produce un cambio brusco en la
funcin intensidad.
Por tanto, se consideran los filtros como operaciones que se aplican a los pxeles de una
imagen digital para optimizarla, enfatizar cierta informacin o conseguir un efecto
especial en ella.
El proceso de filtrado puede llevarse a cabo sobre los dominios de frecuencia y/o espacio.
5





4
MATLAB. Fecha de consulta: 00:13, marzo28, 2014
desde http://proton.ucting.udg.mx/tutorial/vision/cursovision.pdf
5
Procesamiento digital de imgenes. (2013, 9 de marzo). Wikipedia, La enciclopedia libre. Fecha
de consulta: 00:58, marzo28, 2014
desde http://es.wikipedia.org/w/index.php?title=Procesamiento_digital_de_im%C3%A1genes&oldid
=64532776.
Filtraje espacial

El filtraje espacial es una de las operaciones comunes en la visin computacional ya sea para
realizar efectos de eliminacin de ruido o bien deteccin de bordes. En ambos casos la
determinacin de los pixeles de la nueva imagen depende del pixel de la imagen original y sus
vecinos.
De esta forma es necesario configurar una matriz que considere cuales vecinos y en qu forma
influirn en la determinacin de el nuevo pixel.
Para desarrollar en matlab este tipo de operaciones se utiliza la funcin nlfilter, cuya estructura es
la siguiente:
IT=nlfilter(IS,[i j],fun); donde IT es la variable que contiene la imagen resultado de la operacin, IS es la
variable que contiene a la imagen original, [i j] son las dimensiones de la mscara que define la
influencia de los vecinos para el clculo sobre los elementos de la vecindad definidos de dimensin
i x j.
La funcin fun recibe como entrada una matriz x de i x j datos correspondientes a los vecinos de la
imagen los cuales son procesados por la funcin devolviendo el valor que corresponde al dato
centrado en la mscara.
6

Para desempear el filtrado se escribira en la lnea de comandos:

>>imagen3=double(imagen3);
>>imagenR=nlfilter(imagen3,[3 3],@myfunction);
>>imagenR=uint8(imagenR);
>>imshow(imagenR);











6
http://proton.ucting.udg.mx/tutorial/vision/cursovision.pdf
Figura 3 Imagen resultado del ltraje espacial

Filtro de la media

>> I = imread('popo.jpg');
>> Im=rgb2gray(I);
>> id=double(Im);
>> imshow(Im);
>> imshow('popo.jpg');
>> imshow(Im);
>> imshow(Im);
>>
>> Hx=[-0.5 0 0.5];
>> Hy=[-0.5; 0; 0.5];
>> Gx=imfilter(id,Hx);
>> Gy=imfilter(id,Hy);
>> Ix=abs(Gx);
>> imshow(Ix)Iy=abs(Gy);

>> imshow(Ix);
>> Iy=abs(Gy);
>> imshow(Iy);
>> Gt=Ix+Iy;
>> imshow(uint8(Gt));
Figura 4 Resultado de Ix
Figura 5 Resultado de Iy

Filtro Gris
>> imagenGris=rgb2gray(img);
>> img = imread('pru.jpg');
>> imagenGris=rgb2gray(img);
>> imshow(imagenGris);title('Filtro Gris','FontName','Forte','Color','yellow','FontSize', 14);









Figura 6 Resultado de la Suma de Ix e Iy
Fil t ro Gris
Figura 7 Filtro gris



Filtro Negativo

x=1 :xmax
y=1:ymax
imagenNegativo (x,y)=1 - imagenDoble (x,y);
resultadoMatrizMatlab= im2uint8(imagenNegativo);
resultado=resultadoMatrizMatlab;
imshow(resultado),title('Filtro imagen Negativo', 'FontName' ,'Forte' ,'Color',
'yellow','FontSize', 14);








Filtro de Realce
foto=getimage();
f=foto;
h=fspecial('unsharp');
realce=imfilter(f,h,'replicate');
imshow(realce),title('Filtro Realce','FontName','Forte','Color','yellow','FontSize', 14);


Fil t ro imagen Negat ivo
Figura 8 Filtro Negativo


Figura 9 Filtro de realce







Conclusin

Pudimos observar que mediante transcurra la practica bamos observando la ayuda de ciertos
filtros para poder ya sea detallar ms una imagen o poder detectar bordes o superficies que no
Fil t ro Real ce
son tan fciles para el ojo humano, todo este tiene una aplicacin hoy en da, en muchas ramas y
se pueden realizar diversas aplicaciones ya que los filtros digitales forman una parte fundamental
del procesamiento de imgenes digitales.

También podría gustarte