matlab对图片加入噪声
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datematlab对图片加入噪声matlab对图片加入噪声图片去噪:对一幅图像加入不同的噪声(随机点噪声、椒盐噪声等),选取不同的方法去噪,比如说邻域平均、中值滤波、图像迭加等,比较对于不同的噪声,不同的方法哪种更好。A加入随机点噪声进行邻域平均、中值滤波、图像迭加邻域平均>> I=imread('D:gem.bmp');>> snoise=0.1*randn(size(I);>> J1=imadd(I,im2uint8(snoise); % 受随机噪声干扰>> M4=0 1 0; 1 0 1; 0 1 0;>> M4=M4/4; % 4邻域平均滤波>> I_filter1=filter2(M4,J1);>> M8=1 1 1; 1 0 1; 1 1 1; % 8邻域平均滤波>> M8=M8/8;>> I_filter2=filter2(M8,J1);>> subplot(2,2,1),imshow(I);title('原始图像 Gem');>> subplot(2,2,2),imshow(J1);title('加随机噪声后图像');>> subplot(2,2,3),imshow(I_filter1,map);title('4邻域平均滤波');>> subplot(2,2,4),imshow(I_filter2,map);title('8邻域平均滤波');均值滤波>> G=imread('D:gem.bmp');>> I=rgb2gray(G);>> snoise=0.1*randn(size(I);>> A=imadd(I,im2uint8(snoise);>> B1=filter2(fspecial('average',3),A)/255;>> B2=filter2(fspecial('average',5),A)/255;>> B3=filter2(fspecial('average',10),A)/255;>> subplot(2,2,1),imshow(A);title('加随机噪声后图像');>> subplot(2,2,2),imshow(B1);title('平均3后图像');>> subplot(2,2,3),imshow(B2);title('平均5后图像');>> subplot(2,2,4),imshow(B3);title('平均10后图像'); 原图B .加入椒盐噪声进行邻域平均、中值滤波、图像迭加邻域平均>>I=imread('moon.tif');>>J=imnoise(I,'salt & pepper',0.02); >>subplot(1,2,1),imshow(I);title('原图');>>subplot(1,2,2),imshow(J);title('加噪');>>K1=filter2(fspecial('average',7),J);>>K2=filter2(fspecial('average',9),J);>>figure,subplot(1,2,1),imshow(uint8(K1);title('3x3');>> subplot(1,2,2),imshow(uint8(K1);title('5x5')>>subplot(1,2,1),imshow(uint8(K1);title('7x7');>>subplot(1,2,2),imshow(uint8(K1);title('9x9')中值滤波>>I=imread('moon.tif');>>J=imnoise(I,'salt & pepper',0.02);>>K1=medfilt2(J);>> K2=medfilt2(J,5 5);>> K3=medfilt2(J,7 7);>>K4=medfilt2(J,9 9);>> subplot(1,2,1),imshow(K1);title('3x3');>> subplot(1,2,2),imshow(K2);title('5x5');>>subplot(1,2,1),imshow(K3);title('7x7');>>subplot(1,2,2),imshow(K4);title('9x9');C.加入高斯噪声进行邻域平均、中值滤波、图像迭加邻域平均>> G=imread('D:gem.bmp');>> I=rgb2gray(G);>> J1=imnoise(I,'gaussian',0,0.02); % 受高斯噪声干扰>> M4=0 1 0; 1 0 1; 0 1 0;>> M4=M4/4; % 4邻域平均滤波>> I_filter1=filter2(M4,J1);>> M8=1 1 1; 1 0 1; 1 1 1; % 8邻域平均滤波>> M8=M8/8;>> I_filter2=filter2(M8,J1);>> subplot(2,2,1),imshow(I);title('原始图像 Gem');>> subplot(2,2,2),imshow(J1);title('加高斯噪声后图像');>> subplot(2,2,3),imshow(I_filter1,map);title('4邻域平均滤波');>> subplot(2,2,4),imshow(I_filter2,map);title('8邻域平均滤波');>> subplot(2,2,3),imshow(B2);title('平均5后图像');>> subplot(2,2,4),imshow(B3);title('平均7后图像');均值滤波>> I=imread('D:gem.bmp');>> A=imnoise(I,'gaussian',0.01);>> B1=filter2(fspecial('average',3),A)/255;>> B2=filter2(fspecial('average',5),A)/255;>> B3=filter2(fspecial('average',7),A)/255;>> subplot(2,2,1),imshow(A);title('加高斯噪声后图像');>> subplot(2,2,2),imshow(B1);title('平均3后图像');>> subplot(2,2,3),imshow(B2);title('平均5后图像');>> subplot(2,2,4),imshow(B3);title('平均7后图像');D.图像迭加滤波 >>I=imread('pout.tif');>> m n=size(I);>>J1(m,n)=0;J2(m,n)=0;J3(m,n)=0;>>for i=1:10 temp=imnoise(I,'gaussian',0,0.01); J1=J1+double(temp)/10;end>>for i=1:20 temp=imnoise(I,'gaussian',0,0.01); J2=J2+double(temp)/20;end>>for i=1:50 temp=imnoise(I,'gaussian',0,0.01); J3=J3+double(temp)/50;end>>figure;subplot(2,2,1),imshow(I),title('原图象');>>subplot(2,2,2),imshow(mat2gray(J1),title('10次迭加滤波');>>subplot(2,2,3),imshow(mat2gray(J2),title('20次迭加滤波');>>subplot(2,2,4),imshow(mat2gray(J3),title('50次迭加滤波')-