您的位置:首页 > 编程语言 > MATLAB

代数加法运算去除高斯噪声及matlab实现

2017-10-30 17:48 387 查看
分析:加法运算可以用来去除不相关均值为0 的噪声。

代码:

clear
I=imread('eight.tif');
subplot(131)
imshow(I);
[m,n]=size(I);
J=imnoise(I,'gaussian',0,0.02);%加入高斯噪声
subplot(132)
imshow(J);
K=zeros(m,n);
for i=1:100
J=imnoise(I,'gaussian',0,0.02);
J1=im2double(J);
K=K+J1;%代数加法运算,去除噪声
end
K=K/100;
K=(im2uint8(K));
max=K(1,1);
min=K(1,1);
for i=1:m-1
for j=1:n-1
if (min>K(i,j))
min=K(i,j);%取图中最小灰度值
end
if(max<K(i,j))
max=K(i,j);%取图中最大灰度值
end
end
end
subplot(231)
imshow(I);title('原图');colorbar;
subplot(232)
imshow(J);title('加入高斯噪声');colorbar;

subplot(234)
imshow(K,[]);colorbar;title('自动取灰度范围');
subplot(235)
imshow(K,[min,max]);colorbar;title('设置灰度范围');
subplot(236)
imshow(K);colorbar;title('默认全灰度范围');


效果:



注意: 对于imshow()的第二个参数【】,若省略,则为【0,255】;若只有【】,效果与【min,max】相同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息