Está en la página 1de 11

ELT 932.

LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

Docente: Ing. José Loza Vargas


Comandos en MATLAB
Convolución:
C = conv(vectorA,vectorB);
Correlación:
CR = xcorr(vectorA,vectorB);

NOTA.- estos comandos no toman en cuenta la


posición n, asumen que comienzan en 0.
Un comando relacionado:
A = filter(vectorA,vectorB,parametros)
un ejemplo básico .m
%convolucion completa de secuencias discretas usando matlab

%introducimos los datos para la secuencia a


a_min = input('ingrese el limite inferior para el vector a:');
a_max = input('ingrese el limite superior para el vector a :');
na = a_min:a_max;
tamano_a = length(na);
a = zeros(1,tamano_a);
disp('ahora introduzca los valores de la señal discreta a:');
i=1;
for i = 1:tamano_a
fprintf('introduzca termino d( %d ):',na(i));
a(i)= input('');
end;
%continua…
%ahora introducimos los datos para la secuencia b
b_min = input('ingrese el limite inferior para el vector b:');
b_max = input('ingrese el limite superior para el vector b:');
nb = b_min:b_max;
tamano_b = length(nb);
b = zeros(1,tamano_b);
disp('ahora introduzca los valores de la senal discreta b:');
i=1;
for i = 1:tamano_b
fprintf('introduzca termino d( %d ):',nb(i));
b(i)= input('');
end;

CONVOLUCION = conv(a,b);
lim_min_conv = a_min+b_min;
lim_max_conv = a_max+b_max;
n_conv = lim_min_conv:lim_max_conv;
%continua….
subplot(2,2,1)
stem(na,a)
title('señal a')
subplot(2,2,2)
stem(nb,b)
title('señal b')
subplot(2,2,3)
stem(n_conv,CONVOLUCION)
title('señal CONVOLUCION a y b')
Aplicación- IMAGENES

Una imagen básica


es una señal
discreta f[x,y] en
dos dimensiones,
cuyos valores
representan la
intensidad de
luminiscencia
observada en el
pixel (x,y)
EN 2D

Donde NxM es el tamaño de la imagen


Aplicaciones
FILTRADO DE IMÁGENES EN EL DOMINIO DEL
ESPACIO.
MEDIANTE MASCARAS DE CONVOLUCION

Detección de Bordes.
Suavizado de imagen.
Inversión de color
Brillo y contraste.
Convolucion de una imagen con un
operador de sobel (bordes)
mS1=[-1 -2 -1;0 0 0;1 2 1]; %operador sobel
imagen = imread('lena','BMP');
imagen_conv = conv2(double(mS1),double(imagen));
figure;
subplot(1,2,1);
imshow(imagen),title('IMAGEN ORIGINAL')
subplot(1,2,2);
imshow(imagen_conv),title('IMAGENCONVOLUCIONADA')
Otros operadores para practicar
Operador Prewitt (bordes)
OP1=[-1 -1 -1;0 0 0; 1 1 1];
OP2=[-1 0 1;-1 0 1;-1 0 1];
Operador Laplaciano (bordes)
OL1=[0 1 0;1 -4 1;0 1 0];
OL2=[1 1 1;1 -8 1;1 1 1];
Operador Roberts (bordes)
OR1=[-1 0;0 1];
OR2=[0 -1;1 0];
Operador media (suavizado)
OM=(1/9)*[1 1 1; 1 1 1; 1 1 1;];
INVESTIGUE…

También podría gustarte