数字图像去噪算法的研究(8)

2019-02-15 21:59

学士学位论文

致 谢

32

学士学位论文

附 录

电子信息科学与技术 夏笑笑

1.不同尺寸模板的均值滤波取出高斯噪声的代码如下: >>clear all

>>i=imread('cameraman.tif') >>h1=ones(3)/9 >>h2=ones(7)/49

>>j=imnoise(I,'gaussian',0,0.02) >>j=imnoise(i,'gaussian',0,0.02) >>j=double(j)

>>g1=conv2(j,h1,'same') >>g2=conv2(j,h2,'same'); >>subplot(2,2,1);

>>imshow(i); title('原始图像'); >>subplot(2,2,2);

>>imshow(j,[]); title('添加高斯噪声图像'); >>subplot(2,2,3);

>>imshow(g1,[]); title('3*3均值滤波图像'); >>subplot(2,2,4); >>imshow(g2,[]);

>>title('7*7均值滤波图像')

2.均值滤波与超限像素平滑滤波图形去噪的源代码: >>clear all

>>I=imread('cameraman.tif'); >>[m,n]=size(I); >>T=50; >>G=[]

>>H1=ones(3)/9;

>>J=imnoise(I,'salt & pepper',0.05); >>J=double(J);

>>G1=conv2(J,H1,'same'); >>for i=1:m

for j=1:n

if abs(J(i,j)-G1(i,j))>T G(i,j)=G1(i,j); else

G(i,j)=J(i,j); end end end

33

学士学位论文

>>subplot(2,2,1); >>imshow(I);

>>title('原始图像') >>subplot(2,2,2) >>imshow(J,[])

>>title('添加椒盐噪声图像'); >>subplot(2,2,3); >>imshow(G1,[]);

>>title('3*3均值滤波图像') >>subplot(2,2,4) >>imshow(G,[])

>>title('超限像素平滑图像')

3. 对高斯、椒盐、乘性噪声的图像进行中值滤波的仿真代码如下: >>clear all

>>I=imread('cameraman.tif')

>> N1=imnoise(I,'salt & pepper',0.04); >> N2=imnoise(I,'gaussian',0.02); >> N3=imnoise(I,'speckle',0.02); >> G1=medfilt2(N1); >> G2=medfilt2(N2); >> G3=medfilt2(N3); >> subplot(2,3,1); >> imshow(N1)

>> title('添加椒盐噪声图像'); >> subplot(2,3,2); >> imshow(N2)

>> title('添加高斯噪声图像'); >> subplot(2,3,3); >> imshow(N3);

>> title('添加乘性噪声图像'); >> subplot(2,3,4); >> imshow(G1);

>> title('椒盐噪声中值滤波图像'); >> subplot(2,3,5); >> imshow(G2);

>> title('高斯噪声中值滤波图像'); >> subplot(2,3,6); >> imshow(G3);

>> title('乘性噪声中值滤波图像');

4.对加入高斯噪声、椒盐噪声的图像分别作均值、维纳和中值滤波的源代码如下: >> I=imread('cameraman.tif');

34

学士学位论文

>> J2=imnoise(I,'salt & pepper',0.02); >> J1=imnoise(I,'gaussian',0,0.02); >> K= medfilt2(J1); >> K2= medfilt2(J2);

>> h=filter2(fspecial('average',3),J1)/255; >> h1=filter2(fspecial('average',3),J2)/255; >> s=wiener2(J1,[3 3]); >> s1=wiener2(J2,[3 3]);

>> subplot(3,3,1);imshow(I); >> title('原始图像');

>> subplot(3,3,2);imshow(J1); >> title('加高斯噪声图像'); >> subplot(3,3,3);imshow(J2); >> title('加椒盐噪声图像'); >> subplot(3,3,4);imshow(h); >> title('均值滤高斯噪声'); >> subplot(3,3,5);imshow(s); >> title('维纳滤高斯噪声'); >> subplot(3,3,6);imshow(K); >> title('中值滤高斯噪声'); >> subplot(3,3,7);imshow(h1); >> title('均值滤椒盐噪声'); >> subplot(3,3,8);imshow(s1); >> title('维纳滤椒盐噪声'); >> subplot(3,3,9);imshow(K1); >> title('中值滤椒盐噪声'); 5.图像的二维小波两级分解与重构

9.图像的二维小波分解与重构的代码如下: >>clear all

>>load woman2%装载图像,调用wavedec2函数,用db1小波对图像进行两级分解 >> [C,S]=wavedec2(X,2,'db1'); >>cA1=appcoef2(C,S,'db1',1);

>>cA2=appcoef2(C,S,'db1',2);%利用appcoef2和分解结构[CS]分别提取1、2层近似分量

>>cH1=detcoef2('h',C,S,1); >>cV1=detcoef2('v',C,S,1); >>cD1=detcoef2('d',C,S,1); >>cH2=detcoef2('h',C,S,2);

35

学士学位论文

>>cV2=detcoef2('v',C,S,2);

>>cD2=detcoef2('d',C,S,2); 利用deccoef2和分解结构[CS]分别提取1、2层细节分量 >>figure(1) >>image(X); >>colormap(map); >>title('原始图像') >>figure(2)

>>colormap(map); %对近似和细节部分进行显示 >>colnb=size(map,1)

>>cod_cA1=wcodemat(cA1,colnb); >>cod_cH1=wcodemat(cH1,colnb); >>cod_cV1=wcodemat(cV1,colnb); >>cod_cD1=wcodemat(cD1,colnb); >>cod_cA2=wcodemat(cA2,colnb); >>cod_cH2=wcodemat(cH2,colnb); >>cod_cV2=wcodemat(cV2,colnb); >>cod_cD2=wcodemat(cD2,colnb);

>>image([cod_cA1,cod_cH1;cod_cV1,cod_cD1]); title('第一层分解系数'); >>figure(3)

>>image([cod_cA2,cod_cH2;cod_cV2,cod_cD2]); >>colormap(map); title('第二层分解系数'); >>Xnew=waverec2(C,S,'db1') >>figure(4)

>>image(Xnew); colormap(map); title('图像重构') 6.对一维信号软硬阈值处理源代码: >>snr=3;

>> init=2055615866;

>> [xref,x]=wnoise(3,11,snr,init); >> subplot(221) >> plot(xref)

>> axis([1 2048 -10 10]) >> title('Original signal') >> subplot(223) >> plot(x)

36


数字图像去噪算法的研究(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电路第1-3章习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: