1、三、总体方案设计自选黑白图像,用加噪声的方法获得有噪图像。整个设计要完成的基本功能大致如下:1、 用图像平均的方法消除噪声并计算信噪比的改善。(参考P.68)2、 用平滑滤波方法消除噪声并计算信噪比的改善(参考P.71)。3、 用中值滤波方法消除噪声并计算信噪比的改善(参考P.73)。4、 用理想低通滤波方法消除噪声并计算信噪比的改善(参考P.78)。5、用巴特沃斯低通滤波方法消除噪声并计算信噪比的改善(参考P.80)。更换不同特性的图像和噪声重复以上滤波方法,观察并分析这些算法的应用场合。在该设计中,所采用的噪声类型主要有:高斯噪声,椒盐噪声。四、各个功能模块的主要实现程序以及测试和调试1、
2、用图像平均的方法消除噪声并计算信噪比的改善程序I=imread(9.gif);x=1;M,N=size(I);II1=zeros(M,N);for i=1:16 II(:,:,i)=imnoise(I,gaussian,0,0.01); II1=II1+double(II(:,i); if or(or(i=1,i=4),or(i=8,i=16); subplot(2,2,x);imshow(uint8(II1/i);title(num2str(x); x=x+1; endendI2=double(II1/1)-double(I); %添加噪声后图与原图像想减得噪声I3=double(II1/2
3、)-double(I);I4=double(II1/3)-double(I);I5=double(II1/4)-double(I);A=std2(I2/255)2;%对 I2 图像进行方差运算B=std2(I3/255)2;%对 I3 图像进行方差运算C=std2(I4/255)2;%对 I4 图像进行方差运算D=std2(I5/255)2;%对 I5 图像进行方差运算E=std2(II1/255)2; %对噪声进行方差运算Y1=10*log(E/A);%计算图像信噪比Y2=10*log(E/B);Y3=10*log(E/C);Y4=10*log(E/D);X=A B C DSNR=Y1 Y2
4、 Y3 Y4结果:相应信噪比2、用平滑滤波方法消除噪声并计算信噪比的改善16.gifJ=imnoise(I,0,0.03);subplot(231),imshow(I);title(原始图像subplot(232),imshow(J);添加椒盐噪声的图像k1=filter2(fspecial(average,3),J);%进行3*3模板平滑滤波k2=filter2(fspecial(,5),J);%进行5*5模板平滑滤波k3=filter2(fspecial(,7),J);%进行7*7模板平滑滤波k4=filter2(fspecial(,9),J);%进行9*9模板平滑滤波subplot(23
5、3),imshow(uint8(k1);3*3模板平滑滤波Q1=uint8(k1);subplot(234),imshow(uint8(k2);5*5模板平滑滤波Q2=uint8(k2);subplot(235),imshow(uint8(k3);7*7模板平滑滤波Q3=uint8(k2);subplot(236),imshow(uint8(k4);9*9模板平滑滤波Q4=uint8(k2);%计算信噪比I2=double(J)-double(I); %通过添加噪声的图像与原图像想见运算的到噪声A=std2(I2)2 %对噪声信号数据进行方差运算B=std2(double(k1)2; %对经过
6、双精度变换的图像 k1 数据进行方差运算C=std2(double(k2)2; %对经过双精度变换的图像 k2 数据进行方差运算D=std2(double(k3)2; %对经过双精度变换的图像 k3 数据进行方差运算E=std2(double(k4)2; %对经过双精度变换的图像 k4 数据进行方差运算Y1=10*log(B/A); %计算 k1 图信噪比Y2=10*log(C/A); %计算 k2 图信噪比Y3=10*log(D/A); %计算 k3 图信噪比Y4=10*log(E/A); %计算 k4 图信噪比X=B C D E3、用中值滤波方法消除噪声并计算信噪比的改善23.gifsal
7、t & pepper,0.02) ; %添加椒盐噪声图像原图像 %构建两行三列图像组第一幅图显示原图像 I添加椒盐噪声图像) %第二幅图显示添加椒盐噪声图像k1=medfilt2(J); %对含噪声信号图像数据进行中值滤波k2=medfilt2(J,5 5);k3=medfilt2(J,7 7);k4=medfilt2(J,9 9);subplot(233),imshow(k1);3*3 模板中值滤波) %第三幅图显示经过中值滤波的图像subplot(234),imshow(k2);5*5 模板中值滤波) %第四幅图显示经过中值滤波的图像subplot(235),imshow(k3);7*7
8、模板中值滤波) %第五幅图显示经过中值滤波的图像subplot(236),imshow(k4);9*9 模板中值滤波) %第六幅图显示经过中值滤波的图像 %经双精度处理含噪声图像减去原图像得噪声成份 %对 k1 图像信号数据做方差运算 %对 k2 图像信号数据做方差运算 %对 k3 图像信号数据做方差运算 %对 k4 图像信号数据做方差运算 %求 k1 图的信噪比 %求 k2 图的信噪比 %求 k3 图的信噪比 %求 k4 图的信噪比结果4、用理想低通滤波方法消除噪声并计算信噪比的改善J=imread(eight.tifsubplot(131);imshow(J); %构建 3 行 3 列图像
9、组,显示原图像J=double(J); %对原图像进行双精度运算f=fft2(J); %对上图进行快速傅里叶变换g=fftshift(f); %移动零频点到频谱中间subplot(132);imshow(log(abs(g),),color(jet(64);M,N=size(f); %分别返回 f 的行数到 M 中,列数到 N 中n1=floor(M/2); %对 M/2 进行取整n2=floor(N/2); %对 N/2 进行取整d0=5; %初始化 d0M for j=1:N d=sqrt(i-n1)2+(j-n2)2); %点(i,j)到傅立叶变换中心的距离 if d=d0 h=1; e
10、lse h=0; g(i,j)=h*g(i,j);g=ifftshift(g); %对 g 进行反 FFT 移动g=uint8(real(ifft2(g); %单精度变换 gsubplot(133);imshow(g); %第三幅图显示 g 滤波处理后的图像I2=double(g)-double(J);B=std2(double(g)2 %对 g 图像信号数据做方差运算snr1=10*log(B/A) %求图 j 的信噪比5、用巴特沃斯低通滤波器方法消除噪声并计算信噪比的改善19.gif,0.05); %添加椒盐噪声imshow(I);有椒盐噪声的图像g=fftshift(f) %移动零频点到
11、频谱中间n=3; %初始化 nd0=20; d=sqrt(i-n1)2+(j-n2)2) %点(i,j)到傅立叶变换中心的距离 h=1/(1+(d/d0)(2 * n); g(i,j)=h * g(i,j); %单精度变换傅里叶后的图像 g 的数据I2=J-double(I); %计算噪声成份A=std2(I2/255)2 %对噪声信号数据求方差B=(std2(double(g)/255)2 %对含噪图像求方差snr=10*log(B/A) %对图求信噪比6、更换不同特性的图像和噪声重复以上滤波方法,观察并分析这些算法的应用场合,用图片 50.bmp 进行调试。得图如下:(1)图像平均(2)平
12、滑滤波(3)中值滤波(4)理想低通滤波(5)巴特沃斯低通滤波五、实验分析1. 平均图像滤波时,随着平均图像数量的增加,在各个位置上的像素的噪声影响会逐步减少;2. 线性平滑滤波处理减少了图像灰度的“尖锐”变化;中值滤波不像平滑滤波那样使图像边界模糊,它在衰减噪声的同时保持了图像细节的清晰;3. 理想滤波器有比较陡峭的截断频率,在处理过程中产生比较严重的模糊和振铃现象;Butterworth 低通滤波在高低频率间的过渡比较平滑,其产生的输出振铃现象不明显。六、实验心得通过本次课程设计的学习,我了解了图像噪声产生的原因及图像滤波去噪的原理和设计过程,熟悉和掌握了 MATLAB 的使用,以及认识到以前没有注意到得细节问题。实验过程中我认识到了到理论是实践的基础,只有理论知识学得扎实才可能在实际中遇到难题时提出合理恰当的解决方法,否则将会面临面对课题无从下手、没有思路的情况!同时实践发挥理论知识的重要途径,正所谓学以致用,课设很好锻炼我的动手能力,独立解决问题的能力,对自己的学习很有帮助。总之,本次实验收获很多,相信这对今后的学习有很大帮助。七、参考文献数字图像处理,机械工业出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1