实验(1)使用给定的图像cameraman做实验,添加高斯噪声,所使用的均值滤波器包括算术均值滤波器、几何均值滤波器和逆谐波滤波器
close all
clear all
I = imread('D:/cameraman.tif');
I_noise=double(imnoise(I,'gaussian',0.06));
I_mean1=imfilter(I_noise,fspecial('average',3));
I_mean2=exp(imfilter(log(I_noise),fspecial('average',3)));
Q=-1.5;
I_mean3=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
Q=1.5;
I_mean4=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
subplot(2,3,1); imshow(I);xlabel('原图');
subplot(2,3,2); imshow(I_noise,[]);xlabel('高斯噪声污染的图像');
subplot(2,3,3); imshow(I_mean1,[]);xlabel('3x3算数均值滤波器滤波');
subplot(2,3,4); imshow(I_mean2,[]);xlabel('3x3几何均值滤波器滤波');
subplot(2,3,5); imshow(I_mean3,[]);xlabel('Q=-1.5的逆谐波滤波器滤波');
subplot(2,3,6); imshow(I_mean4,[]);xlabel('Q=1.5的逆谐波滤波器滤波');
实验(2)使用给定的图像cameraman做实验,添加椒盐噪声,所使用的滤波器包括算术均值滤波器和中值波滤波器
close all
clear all
I=imread('D:\cameraman.tif');
I_noise=double(imnoise(I,'salt & pepper',0.06));
I_mean=imfilter(I_noise,fspecial('average',5));
I_mean2=medfilt2(I_noise)
subplot(1,4,1); imshow(I);xlabel('原图 ');
subplot(1,4,2); imshow(I_noise,[]);xlabel('椒盐噪声污染的图像 ');
subplot(1,4,3);imshow(I_mean,[]);xlabel('算数均值滤波器滤波 ');
subplot(1,4,4);imshow(I_mean2,[]);xlabel('中值滤波器滤波 ');
实验(3)利用高斯带阻滤波器实现对含有周期噪声的lenazhouqizaosheng.jpg图像进行复原。
close all
clear all
I=imread('D:\lenazhouqizaosheng.jpg');
[M,N]=size(I);
PF=fftshift(fft2(I));
PFV=log(1+abs(PF));
freq=90;
width=5;
ff=ones(M,N);
for i=1:M
for j=1:N
ff(i,j)=1-exp(-0.5*((((i-M/2)^2+(j-N/2)^2)-freq^2)/(sqrt(i.^2+j.^2)*width))^2);
end
end
out=PF.*ff;
out=ifftshift(out);
out=ifft2(out);
out=abs(out);
out=out/max(out(:));
subplot(1,4,1); imshow(I);xlabel('含有周期噪声的图像 ');
subplot(1,4,2); imshow(PFV,[]);xlabel('含噪图像的频谱 ');
subplot(1,4,3);imshow(ff,[]);xlabel('高斯带阻滤波器 ');
subplot(1,4,4);imshow(out,[]);xlabel('滤波效果图 ');