M=imread('go.jpg'); %读取图像[ROW,COL, DIM] =size(M);%保存图像尺寸subplot(3,3,1),imshow(M),title('original');%显示原始图像P1=imnoise(M,'gaussian',0.05); %加入高斯躁声subplot(3,3,4),imshow(P1),title('gaussian noise');%加入高斯躁声后显示图像P2=imnoise(M,'salt & pepper',0.05); %加入椒盐躁声subplot(3,3,5),imshow(P2),title('salt & pepper noise');%%加入椒盐躁声后显示图像S1=rgb2ycbcr(P2); imgn=P2; imgn=im2double(imgn); subplot(3,3,6),imshow(imgn),title('gray'); g(:,:,1)=medfilt2(P1(:,:,1)); %对高斯躁声中值滤波g(:,:,2)=medfilt2(P1(:,:,2)); g(:,:,3)=medfilt2(P1(:,:,3)); subplot(3,3,7),imshow(g),title('medfilter gaussian'); h(:,:,1)=medfilt2(P2(:,:,1)); %对椒盐躁声中值滤波h(:,:,2)=medfilt2(P2(:,:,2)); h(:,:,3)=medfilt2(P2(:,:,3)); mean_filter_img=imgn; mean_filter_img=im2double(mean_filter_img); subplot(3,3,8),imshow(h),title('medfilter salt & pepper noise'); forr=2:1:ROW-1forc=2:1:COL-1ford=1:3mean_filter_img(r,c,d) = (imgn(r-1, c-1,d) +imgn(r-1, c,d) +imgn(r-1, c+1,d) +imgn(r, c-1,d) +imgn(r, c,d) +imgn(r, c+1,d) +imgn(r+1, c-1,d) +imgn(r+1, c,d) +imgn(r+1, c+1,d)) /9; %mean_filter_img(r,c,2) = (imgn(r-1, c-1) +imgn(r-1, c) +imgn(r-1, c+1) +imgn(r, c-1) +imgn(r, c) +imgn(r, c+1) +imgn(r+1, c-1) +imgn(r+1, c) +imgn(r+1, c+1)) /9; %mean_filter_img(r,c,3) = (imgn(r-1, c-1) +imgn(r-1, c) +imgn(r-1, c+1) +imgn(r, c-1) +imgn(r, c) +imgn(r, c+1) +imgn(r+1, c-1) +imgn(r+1, c) +imgn(r+1, c+1)) /9; endendendsubplot(3,3,3),imshow(mean_filter_img),title('mean_img'); disp('====================finish================');