图像的噪声及恢复

上传人:mg****85 文档编号:33582258 上传时间:2018-02-15 格式:DOC 页数:8 大小:357KB
返回 下载 相关 举报
图像的噪声及恢复_第1页
第1页 / 共8页
图像的噪声及恢复_第2页
第2页 / 共8页
图像的噪声及恢复_第3页
第3页 / 共8页
图像的噪声及恢复_第4页
第4页 / 共8页
图像的噪声及恢复_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《图像的噪声及恢复》由会员分享,可在线阅读,更多相关《图像的噪声及恢复(8页珍藏版)》请在金锄头文库上搜索。

1、实验 7 图像的噪声及恢复一、实验目的:了解图像的噪声模型,学习降低噪声、恢复图像的处理方法二、实验内容:学习并使用 imnoise、spfilt 等产生噪声和滤波的函数1、噪声模拟图像增强操作主要是针对图像的各种噪声而言的。数字图像产生噪声的途径有很多种。MATLAB 图像处理工具箱提供 imnoise 函数,可以用该函数给图像添加不同种类的噪声,该函数的调用格式如下:g=imnoise(f, type, parameters)。 f 是输入图像,type 和 parameters 的说明见下表:type parameters 说明gaussian m, v 均值为 m,方差为 v 的高斯噪

2、声localvar v 均值为 0,方差为 v 的高斯白噪声Poisson 无 泊松噪声salt&pepper d 噪声密度为 d 的椒盐噪声speckle v 均值为 0,方差为 v 的均匀分布随机噪声函数 imnoise 在给图像添加噪声前,将它转换为范围0 1内的 double类图像。指定噪声参数时必须考虑到这一点。例如要将均值为 64、方差为400 的高斯噪声添加到一幅 uint8 类图像上,我们可将均值标度为 64/255,将方差标度为 400/(255)2,以便作为函数 imnoise 的输入。读入一幅图像,使用上述函数对它添加各类噪声。1、退化函数建模在图像复原问题中,一个重要的

3、退化模型是在图像获取时传感器和场景之间的均匀线性运动而产生的图像模糊。我们可以使用函数 fspecial 对图像模糊建模:PSF=fspecial(motion,len,theta)。调用 fspecial 将返回 PSF,它近似于由有着 len 个像素的摄像机的线性移动的效果。参数 theta 以度为单位,以顺时针方向对正水平轴度量。len 的默认值是 9,theta 的默认值是 0,它对应于在水平方向上的 9 个像素的移动。我们使用函数 imfilter 来创建一个已知 PSF 或用刚刚描述的方法计算得到的 PSF 的退化图像: g=imfilter(f, PSF, circular)。其

4、中, circular用来减少边界效应。然后通过添加适当的噪声来构造退化的图像模型:g=g+noise。噪声的产生方法见内容 1。例如,我们先产生一个测试板图像:f=checkerboard(8)。退化图像使用如下命令产生:PSF=fspecial(motion,7,45); gb=imfilter(f, PSF, circular)。噪声模式使用下面命令产生:noise=imnoise(zeros(size(f), gaussian, 0, 0.001)。通常,我们会直接使用 imnoise(gb, gaussian, 0, 0.001)将噪声加到gb 上,然而由于稍后需要噪声图像,所以在此

5、我们单独计算噪声。加了噪声的模糊图像如下产生:g=gb+noise。运行上述命令,观察实验结果,注释每条命令。仿照上述命令自己产生一个模糊噪声图像。2、直接逆滤波和维纳滤波:维纳滤波使用函数 deconvwnr 来实现。函数 deconvwnr 有三种可能的语法形式。在这些形式中,g 代表退化图像,fr 是复原图像。第一种语法形式fr=deconvwnr(g, PSF)假设信噪比为零,从而维纳滤波器就是逆滤波器。第二种语法形式 fr=deconvwnr(g, PSF, NSPR)假设信噪比功率已知,或是个常数或是个数组,函数接受其中的任何一个,这是一个参数维纳滤波器。最后,语法形式fr=dec

6、onvwnr(g, PSF, NACORR, FACORR)假设噪声和未退化图像的自相关函数NACORR 和 FACORR 是已知的。我们可以使用内容 2 中的例子建立加了噪声的模糊图像模型,使用deconvwnr 函数来复原模糊噪声图像。如下命令: fr1=deconvwnr(g, PSF);fr1 是直接逆滤波的结果,g 是污染了的图像,PSF 是上例中计算出的点扩散函数。由于噪声的影响,结果并不理想。那么如果 g 不含噪声,使用直接逆滤波效果又是如何呢?实验验证你的结论。我们还可以用第二种语法形式的参数维纳滤波器进行滤波,命令如下:%计算信噪比Sn=abs(fft2(noise).2;n

7、A=sum(Sn(:)/prod(size(noise);Sf=abs(fft2(f).2;fA=sum(Sf(:)/prod(size(f);R=nA/fA;%维纳滤波fr2=deconvwnr(g, PSF, R);fr2 和 fr1 相比较效果要优越得多。运行上述命令,观察实验结果,注释每条命令,并回答相关问题。仿照上述命令对自己产生的模糊噪声图像进行恢复。3、实验要求:写出处理过程,提交原图像、噪声图像、模糊图像和恢复后的图像,注释每条命令,并回答相关问题。4、实现结果:f=imread(rice.png);f=double(f/255);figure,imshow(f,)原图%均值为

8、 m,方差为 v 的高斯噪声g=imnoise(f,gaussian,0.1,0.04);figure,imshow(g,)%均值为 0,方差为 v 的高斯白噪声n,m=size(f);v=rand(n,m);h=imnoise(f,localvar,v);figure,imshow(h,)%泊松噪声i=imnoise(f,Poisson);figure,imshow(i,)%噪声密度为 d 的椒盐噪声j=imnoise(f,salt figure,imshow(j,)%均值为 0,方差为 v 的均匀分布随机噪声k=imnoise(f,speckle,0.2);figure,imshow(k)

9、%图像模糊PSF=fspecial(motion,7,45);gb=imfilter(f, PSF,circular);figure,imshow(gb)noise=imnoise(zeros(size(f),gaussian, 0, 0.1);%不加噪模糊图像的维纳滤波fr=deconvwnr(gb, PSF)figure,imshow(fr)%加噪但不知信噪比的维纳滤波g=gb+noise;fr=deconvwnr(g, PSF)figure,imshow(fr)%计算信噪比Sn=abs(fft2(noise).2;nA=sum(Sn(:)/prod(size(noise);Sf=abs(fft2(f).2;fA=sum(Sf(:)/prod(size(f);R=nA/fA;%维纳滤波fr2=deconvwnr(g, PSF, R);figure,imshow(fr2) %知道信噪比的图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号