convolucion discreta
TRANSCRIPT
![Page 1: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/1.jpg)
Docente: Ing. José Loza Vargas
ELT 932. LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES
![Page 2: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/2.jpg)
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)
![Page 3: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/3.jpg)
un ejemplo básico .m%convolucion completa de secuencias discretas usando
matlab %introducimos los datos para la secuencia aa_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…
![Page 4: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/4.jpg)
%ahora introducimos los datos para la secuencia bb_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….
![Page 5: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/5.jpg)
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')
![Page 6: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/6.jpg)
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)
![Page 7: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/7.jpg)
EN 2D
Donde NxM es el tamaño de la imagen
![Page 8: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/8.jpg)
AplicacionesFILTRADO DE IMÁGENES EN EL DOMINIO
DEL ESPACIO.MEDIANTE MASCARAS DE CONVOLUCION
Detección de Bordes.Suavizado de imagen.Inversión de colorBrillo y contraste.
![Page 9: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/9.jpg)
Convolucion de una imagen con un operador de sobel (bordes)
mS1=[-1 -2 -1;0 0 0;1 2 1]; %operador sobelimagen = 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('IMAGENCONVOLUCIO
NADA')
![Page 10: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/10.jpg)
Otros operadores para practicarOperador 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;];
![Page 11: CONVOLUCION DISCRETA](https://reader036.vdocuments.site/reader036/viewer/2022082322/5571fac44979599169930f97/html5/thumbnails/11.jpg)
INVESTIGUE…