Convolucion PDF

También podría gustarte

Está en la página 1de 25

USO DE MATLAB

PARA HACER UNA


CONVOLUCION
DE UN ARCHIVO
DE IMAGEN

PROCEDIMIENTO:
LA IMAGEN SELECCIONADA SE MUESTRA EN
LA PARTE DE ABAJO, PROCEDEMOS PRIMERO
A APLICAR EL CODIGO DE MATLAB CON UNA
RESPUESTA A LA MUESTRA UNITARIA DE
h [n] = [1/32,1/32,1/32]

CON UNA RESPUESTA A LA MUESTRA:


h[n] =[1/32,1/32,1/32]
CODIGO DE MATLAB

>> x=imread
x=imread('C:
imread('C:\
('C:\Dark.jpg');
% almacena en forma de matriz en la variable x el archivo de
imagen deseado.
>> h =[1/32,1/32,1/32];
% respuesta al impulso de
un filtro pasa bajas por el cual se convolucionar la
matriz de la imagen
>> y=convn
y=convn(
convn(x,h);
x,h);
% Comando que realiza la operacin de convolucin
>> imwrite(
imwrite(y,'C:
y,'C:\Darkreponse2.jpg');
% Crea el archivo de imagen, resultado de la convolucion de
la original con la muestra a la respuesta unitaria.

IMAGEN ORIGINAL

IMAGEN TRAS LA
CONVOLUCION CON
LA RESPUESTA (1/32)

CON UNA RESPUESTA A LA MUESTRA:


h[n] =[1/300,1/300,1/300]

>> x=imread('C:\Dark.jpg');
>> h =[1/300,1/300,1/300];
>> y=convn(x,h);
>> imwrite(y,'C:\Darkreponse3.jpg');

Imagen original

Imagen despus
del filtro (1/300)

CON UNA RESPUESTA A LA MUESTRA:


h[n] =[1/500,1/500,1/500]
>> x=imread
x=imread('C:
imread('C:\
('C:\Dark.jpg');
% almacena en forma de matriz en la variable x el
archivo de imagen deseado.
>> h=[1/500,1/500,1/500];
% respuesta al impulso de
un filtro pasa bajas por el cual se convolucionar la
matriz de la imagen
>> y=convn
y=convn(
convn(x,h);
x,h);
% Comando que realiza la operacin de convolucin
>> imwrite(
imwrite(y,'C:
y,'C:\Darkreponse.jpg');
% Crea el archivo de imagen, resultado de la
convolucion de la original con la muestra a la
respuesta unitaria.

Imagen original

Imagen despus
de la convolucin
(1/500).

CON UNA RESPUESTA A LA MUESTRA:


h[n] =[1/1000,1/1000,1/1000]

>> x=imread('C:\Dark.jpg');
>> h =[1/1000,1/1000,1/1000];
>> y=convn(x,h);
>> imwrite(y,'C:\Darkreponse4.jpg');

Imagen original

Imagen tras
convolucin (1/1000).

COMPARANDO LAS IMAGENES

1/32

1/300

IMAGEN ORIGINAL

1/500

1/1000

USO DE MATLAB
PARA HACER UNA
CONVOLUCION DE
UN ARCHIVO DE
SONIDO

FORMA DEL AUDIO ORIGINAL ES LA SIGUIENTE


AUDIO ORIGINAL
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

10

12
5

x 10

RESPUESTA A LA MUESTRA DE 1/300


CODIGO MATLAB
>> A=wavread('C:\Blackbird');
>> x1=[1/2,1/2,1/2,1/2,1/2];
>> M=convn(A,x1);
>> wavwrite(M,20050,16,'C:\Blackbirdreponse');
>> plot(M,r','linewidth',1),title('Convolucion
1/2'),grid;

Convolucion 1/2
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

10

12
5

x 10

RESPUESTA A LA MUESTRA DE 1/6


CODIGO MATLAB
>> A=wavread('C:\Blackbird');
>> x2=[1/6,1/6,1/6,1/6,1/6];
>> E=convn(A,x2);
>> wavwrite(E,20050,16,'C:\Blackbirdreponse2');
>> plot(E,m','linewidth',1),title('Convolucion
1/6'),grid;

Convolucion 1/6
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4

10

12
5

x 10

RESPUESTA A LA MUESTRA DE 1/20


CODIGO MATLAB
>> a=wavread('C:\Blackbird');
>> x3=[1/20,1/20,1/20,1/20,1/20];
>> G=convn(A,x3);
>> wavwrite(G,20050,16,'C:\Blackbirdreponse3');
>> plot(G,b','linewidth',1),title('Convolucion
1/20'),grid;

Convolucion 1/20
0.1
0.08
0.06
0.04
0.02
0
-0.02
-0.04
-0.06
-0.08
-0.1

10

12
5

x 10

RESPUESTA A LA MUESTRA DE 1/32


CODIGO MATLAB
>> A=wavread('C:\Blackbird');
>> x1=[1/32,1/32,1/32,1/32,1/32];
>> M=convn(A,x1);
>> wavwrite(M,20050,16,'C:\Blackbirdreponse');
>> plot(M,'r','linewidth',1),title('Convolucion
1/32'),grid;

Convolucion 1/32
0.08
0.06
0.04
0.02
0
-0.02
-0.04
-0.06
-0.08

10

12
5

x 10

COMPARANDO SIMULTANEAMENTE
LAS GRAFICAS

subplot(4,1,1),plot(M,r'),title('Convolucion
1/2),grid;
subplot(4,1,2),plot(E,m'),title('Convolucion
1/6'),grid;
subplot(4,1,3),plot(G,b'),title('Convolucion
1/20'),grid;
subplot(4,1,4),plot(m,y'),title('Convolucion
1/32'),grid;

COMPARANDO SEALES
Convolucion 1/2
1
0
-1

10

12
5

x 10
Convolucion 1/6
0.5
0
-0.5

10

12
5

x 10
Convolucion 1/20
0.1
0
-0.1

10

12
5

x 10
Convolucion 1/32
0.1
0
-0.1

10

12
5

x 10

SUPERPONIENDO LAS GRAFICAS Y


COMPARANDOLA CON LA ORIGINAL
>>plot(A,k','linewidth', 1),title('Comparacion del
Audio Original y las Convoluciones'),grid; hold on;
>>plot(M,r'); hold on;
>>plot(E,m'); hold on;
>> plot(G,b');hold on;
>>plot(m,y');

SUPERPONIENDO SEALES
Comparacion del Audio Original y las Convoluciones
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

10

12
5

x 10

También podría gustarte