Anda di halaman 1dari 7

Procesamiento Digital De Se

nales II
Fundaci
on Universitaria Los Libertadores

Informe Laboratorio No.2


Informe Laboratorio No. 2




1.

Julian Andres Ospina Castro

Introducci
on

En este informe se realizara la introduccion a los comandos en MATLAB, para colocar filtros
a las im
agenes, no se har
a con los comando determinados de MATLAB, sino que se crea un
algoritmo para el filtro normalizado y el filtro de mediana. Se evidenciaran los scripts de programaci
on en MATLAB y los pantallazos de los resultados de cada script.

Scripts De MATLAB
A continuaci
on se observara el script en el cual se definen las variables y comandos para las
operaciones que se deben realizar para filtrar la imagen y el analisis correspondiente a algunos
comandos del sistema u operaciones del sistema.

Script Filtro Normalizado:


El proceso de filtrado consiste en la aplicacion a cada uno de los pixeles de la imagen con una
matriz de filtrado llamada Kernel de tama
no NxN (generalmente de 3x3 aunque puede ser de
mayor dimensi
on y debe ser impar) compuesta por n
umeros enteros y que genera un nuevo
valor mediante un producto punto entre la matriz de la imagen original y la matriz Kernel, al
realizar esta operaci
on se modifica el pixel central y este proceso se sigue con los pixeles de
toda la imagen. El resultado final del producto punto se divide entre un escalar, generalmente
la multiplicaci
on de los tama
nos de la matriz Kernel.

%Limpieza del sistema.


clear all;clc;close all;
%Lectura y muestra de la imagen.
xx=imread(cameraman.tif);
figure(Name,Imagen Original,NumberTitle,off,Color,[1 1 1])
imshow(xx);
title(Imagen Original)
%Matriz Kernel 3X3.
h=[1 1 1;1 1 1;1 1 1]
%Tama~
no de matrices.
[p q]=size(xx);
[n m]=size(h);
%Creacion matriz de ceros para la imagen.
x=zeros(p+n-1,q+n-1);
x(2:p+n-2,2:q+n-2)=xx;
%Creacion matriz de ceros para la salida.
1

y=zeros(p+n-1,q+n-1);
%Ciclo para recorrer la matriz.
for i=2:p+n-2
for j=2:q+n-2
%Operacion producto punto.
y(i,j)=dot(x(i-1,j-1:j+1),h(1,:))+dot(x(i,j-1:j+1),h(2,:))+dot(x(i+1,j-1:j+1),h(3,:));
%Promedio de la matriz
y(i,j)=(y(i,j))/9;
end
end
%Tranformaci
on double a uint8.
y=uint8(y);
%Salida imagenes en tipo uint8.
figure(Name,Imagen Con Filtro Normalizado,NumberTitle,off,Color,[1 1 1])
imshow(y);
title(Imagen Con Filtro Normalizado)
En este script se hace una lectura de la imagen del sistema cameraman (Figura 1) y a esta imagen se le crea una matriz de normalizado, llamada Kernel, que en nuestro caso es de 3X3, luego
de tener la imagen y la matriz Kernel, revisamos su tama
no (Figura 2). Para empezar a hacer el
filtro, creamos unas matrices de ceros y una matriz de salida y, las cuales si las mostramos en
pantalla, aparecen como una imagen en blanco o negro, esto dependiendo los valores que se le
asignen a la matriz. Con el ciclo for, recorremos la matriz en todas sus posiciones y realizamos
un producto punto, luego de tener este resultado, hacemos la normalizacion de la matriz de
salida dividiendo por el tama
no de nuestra matriz Kernel y al final hacemos la conversion de la
imagen de tipo double a uint8 y mostramos la imagen con el filtro normalizado.

Script Filtro De Mediana:


En este filtro se ordena todos los pixeles de la matriz de la imagen y se determina cual es el
valor central de la imagen, por esta razon es un poco mas complicado y el efecto en la imagen
es menor en el filtro.
%Limpieza del sistema.
clear all;clc;close all;
%Lectura y muestra de la imagen.
xx=imread(cameraman.tif);
figure(Name,Imagen Original,NumberTitle,off,Color,[1 1 1])
imshow(xx);
title(Imagen Original)
%Matriz Kernel 3X3.
h=[1 1 1;1 1 1;1 1 1]
%Tama~
no de matrices.
2

Procesamiento Digital De Se
nales II
Fundaci
on Universitaria Los Libertadores

Informe Laboratorio No.2

[p q]=size(xx);
[n m]=size(h);
%Creacion matriz de ceros para la imagen.
x=zeros(p+n-1,q+n-1);
x(2:p+n-2,2:q+n-2)=xx;
%Creacion matriz de ceros para la salida.
y=zeros(p+n-1,q+n-1);
%Ciclo para recorrer la matriz.
for i=2:p+n-2
for j=2:q+n-2
%Creacion vector de la imagen.
u=[x(i-1,j-1) x(i-1,j) x(i-1,j-1) x(i,j-1) x(i,j) x(i,j+1) x(i+1,j-1) x(i+1,j) x(i+1,j+1)];
%Mediana del vector de la imagen.
z=median(u);
y(i,j)=z;
end
end
y=uint8(y);
figure(Name,Imagen Con Filtro Mediana,NumberTitle,off,Color,[1 1 1])
imshow(y);
title(Imagen Con Filtro Mediana)

En este script seguimos el mismo procedimiento de lectura de imagen, matriz Kernel y matrices
de ceros del sistema, la diferencia de este script es que volvemos con el ciclo for la matriz de la
imagen un vector, el cual mediante el comando median,se organizan los datos del vector y se
halla la mediana y esta se ubica en la posicion indicada. As se realiza el filtro de mediana en
una imagen.

An
alisis Del Sistema

En esta secci
on se podr
a evidenciar el resultado del script realizado para el manejo de imagenes,
encontraremos capturas de pantalla de la interfaz de MATLAB y las imagenes con sus respectivos an
alisis. Se utilizo en los dos scripts de MATLAB, la misma imagen original (Figura 1).

Filtro Normalizado

Figura 1. Imagen original.

Figura 2. Tama
no de las matrices en el WorkSpace de MATLAB.

En esta figura se puede observar que la imagen que se esta trabajando es de tipo uint8, ya que
el tama
no es de 256x256 pixeles.

Procesamiento Digital De Se
nales II
Fundaci
on Universitaria Los Libertadores

Informe Laboratorio No.2

Figura 3. Matriz de ceros en imagen (negro).

Figura 4. Matriz de ceros en imagen (blanco).

En la figura 3 y la figura 4 se ven las matrices llenas de ceros para la imagen.

Figura 5. Imagen con filtro normalizado.

Figura 6. Muestras de la imagen con filtro normalizado.


En la figura 5 y figura 6, se observa la implementacion del filtro normalizado, comparando con la
imagen original (Figura 1), se reduce la intensidad de la imagen y se ve con una menor calidad, si
en la matriz Kernel se modifican los valores la imagen tiende a convertirse en una imagen blanca.

Filtro De Mediana

Figura 7. Mediana hallada del vector u en el WorkSpace de MATLAB.


6

Procesamiento Digital De Se
nales II
Fundaci
on Universitaria Los Libertadores

Informe Laboratorio No.2

Como se est
a recorriendo la matriz por posicion, se tienen diferentes resultados de la mediana
en la matriz final, ya que se toma cada pixel de la imagen y se toma la mediana de los pixeles
de alrededor, por esta razon en el WorkSpace se ven varios valores.

Figura 8. Imagen con el filtro de mediana.


En esta imagen se puede observar la implementacion del filtro de mediana, el cual hace que la
imagen tenga un efecto borroso, pero sin que el cambio sea extremo, debido a que se toman los
pixeles que ya tiene la imagen y no se modifican como en el filtro normalizado.

Anda mungkin juga menyukai