- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB多方法去高斯白噪声
1、用 matlab实现多幅图像平均去高斯白噪声.
clear;
I=imread(2222.jpg);
I=rgb2gray(I);
imshow(I);
[a,b]=size(I);
I2=zeros(a,b);
noise=randn(a,b)*25;
I1=double(I)+noise;
figure(2);
imshow(uint8(I1));
for n=1:30
noise=randn(a,b)*25;
I1=double(I)+noise;
I2=I2+double(I1);
end;
I2=I2/n;
figure(3);
imshow(uint8(I2));
原图 加了白噪声 多图去除白噪声
2、用 matlab实现均值滤波去除高斯白噪声.
clear;
I=imread(2222.jpg);
I=rgb2gray(I);
figure;
imshow(I);
noise=randn(a,b)*25;
I=double(I)+noise;
[a,b]=size(I);
I2=zeros(a+2,b+2);
I3=zeros(a,b);
for n=1:a
for m=1:b
原图
均值滤波后图
3、用 matlab实现中值滤波去除脉冲噪声.
clear;
I=imread(2222.jpg);
I=rgb2gray(I);
figure(1);
imshow(I);
%I0=zeros(1:9);
[a,b]=size(I);
I2=zeros(a+2,b+2);
I3=zeros(a,b);
for n=1:a
for m=1:b
I2(n+1,m+1)=I(n,m);
end;
end;
for n=0:100
I2(round(rand*a),round(rand*b))=0;
end;
心得体会:这两次作业是一起做的,所以心得也基本一样吧,主要是在边缘扩展的时候感觉有点怪怪的,不知道那么扩展对不对,还有不知道除了0扩展之外其他扩展怎么写和效果怎么样,有时间试试看。
题目没看清楚把第三道题做成高斯噪声了,重新改过。
再检查发觉均衡化处理的后的图片的直方图没有遍布0到255,在0到55出现空白,不知道到是什么原因,用其他图片测试正常,就这张图片出现这个问题。
I2(n+1,m+1)=I(n,m);
end;
end;
for n=2:a
for m=2:b
I3(n-1,m-1)=[I2(n-1,m-1)+I2(n-1,m)+I2(n-1,m+1)+I2(n,m-1)+I2(n,m)+I2(n,m+1)+I2(n+1,m-1)+I2(n+1,m)+I2(n+1,m+1)]/9;
end;
end;
figure(2);
imshow(uint8(I3));
for n=0:200
I2(round(rand*a),round(rand*b))=255;
end;
figure(2)
imshow(uint8(I2));
I2=double(I2);
for n=2:a
for m=2:b
I0=[I2(n-1,m-1),I2(n-1,m),I2(n-1,m+1),I2(n,m-1),I2(n,m),I2(n,m+1),I2(n+1,m-1),I2(n+1,m),I2(n+1,m+1)];
I0=sort(I0);
I3(n-1,m-1)=I0(5);
end;
end;
figure(3);
imshow(uint8(I3));
处理前原图
添加随机脉冲噪声
处理后图片
文档评论(0)