Filtrar código fuente de matlab
Leer imagen original
Formato largo
Blur=imread('fig525(b).BMP');
Gráfico de rama (1, 2, 1); imshow (borroso); título ("imagen original");
Función de filtro Wiener de diseño propio
k = 0,0025
p>[m,n]=tamaño(borroso);
Espectro=cero(m,n);
h=cero(m,n);
p>
Para u=1: m
Para v=1: n
h(u, v)=exp(-k*( (u-m/2)^ 2 (v-n/2)^2)^(5/6));
espectro(u, v)=h(u, v)^2;
Fin p>
Fin
f=double(fuzzy);
f 1 = desplazamiento FFT(FFT 2(f));
HW=H ./(espectro 0.001);
restore1=HW. * f 1;
restaurado = real(IFFT 2(IFFT shift(restore 1)));
Gráfico de rama (1, 2, 2); ); title ('Filtrado Wiener con función incorporada');
Llamar a la función de filtro Wiener proporcionada por matlab
Figura;
HW 1 = real (IFFT 2(IFFT shift(H))); Ingrese el espacio vacío.
resultado 1 = deconvwnr(blur,hw1,0.001);
resultado 2 = IFFT shift(resultado 1); Intercambio de 4 cuadrantes.
Gráfico de rama (1, 2, 1); imshow (resultado 2, []); Título ('Llamada a la función de filtro Wiener');