基于matlab图像处理的去噪处理.docx_第1页
基于matlab图像处理的去噪处理.docx_第2页
基于matlab图像处理的去噪处理.docx_第3页
基于matlab图像处理的去噪处理.docx_第4页
基于matlab图像处理的去噪处理.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于matlab的图像处理基于matlab图像处理的去噪处理 解图像的运动模糊 一( 问题提出: 影响图像质量的因素有很多,如亮度,对比度,和噪声等。而其中的噪声又有椒盐噪声,高斯噪声等几种。人们在摄影照相过程中,如果相机与被照对象之间有相对运动发生,则所得图片会产生运动模糊,直观上看就是图像不清晰,有拖影,这也是图像噪声的一种。为提高图像质量解决这样的模糊问题需对图像进行相关的去早处理。本文选择的是一张汽车车轮的图片如图1所示,很明显图像产生运动模糊,因而要进行去噪处理,要求能较为清晰观察到车轮的形态和螺丝的个数。 图1 汽车车轮 二( 噪声分析: 图1所示为明显的图像退化,而这种退化的典型的表现为模糊,失真和有噪声,造成过这种退化的原因有很多,具体分析有如下几点: 1. 成像系统的像差,畸变和有限带宽造成图像退化; 2. 拍摄时,相机与景物之间的相对运动产生的运动模糊; 3. 镜头聚焦不准产生的散焦模糊; 4. 成像系统中存在的噪声干扰。 可以看出,造成图1图像退化的主要原因是第二点运动模糊。 三( 选用算法: 对运动模糊的噪声处理算法有很多,本文选择维纳滤波法进行去噪。在使用维纳滤波前首先介绍一个重要概念即PSF,PSF也称为点扩展函数。在空间领域,PSF描述了光学系统使一个点光源扩散的程度;PSF使光学转换函数OTF的傅里叶逆变换。在频域里,OTF描述了一个线性,位置不变的系统对脉冲的相应。对产生运动模糊图像的处理的实质是用可以描述失真的PSF对模糊图像进行去卷积运算,即卷积的逆运算。Matlab中通常使用fspecial()函数来创建一个确定类型的PSF即 PSF=fspecial(motion,LEN,THETA) 其中motion是表示摄像头近似线性移动即选用的滤波器或算子;LEN是移动像素的个数,THETA是移动的角度。然后用这个PSF对模糊图像进行维纳滤波的处理。 维纳滤波,在matlab中可以调用deconvwnr()函数来实现,是对解运动模糊效果较好的一种去噪方法。具体格式如下: J=deconvwnr(I,PSF) 其中,J代表处理后的图片,I为模糊图片,PSF是点扩散函数。但是在实际处理过程中发现,使用维纳滤波会给图片带来一些其它的噪声,因而在解运动模糊后需要再对图像进行去噪,本文采用中值滤波。 中值滤波器也叫最大滤波器和最小滤波器。其实现的滤波原理是通过预设一个窗口矩阵对数字图像进行扫描,在窗口矩阵范围内,某一点的值用该点邻域中各点的中值替换。其实现格式如下: K=medfilt2(I,x,y) 其中K为处理后的图片,I为被处理图片,x,y为窗口矩阵。 四( 图像处理: 1. 读入图片 读入图片并转为灰度图像运行指令 i=imread(d:/03.jpg) I0=rgb2gray(i); figure; imshow(I0); 结果如下: 图2 2. 设置生成PSF PSF=fspecial(motion,LEN,THETA) 为了确定LEN和,根据观察模糊图像用试代法,先取值为LEN=30,THETA=30 即PSF=fspecial(motion,30,30) 3. 用维纳滤波处理 运行指令 wnrl=deconvwnr(I0,PSF); figure; imshow(wnrl); 结果如下: 图3 调整PSF中的参数得 PSF=fspecial(motion,35,35),运行如下: 图4 SF=fspecial(motion,25,25),运行如下: 图5 显然,真实值小于30,30. F=fspecial(motion,20,20),运行如下: 图6 继续不断地试值,逐渐逼近真实值,最后得到处理效果较好一组数据 F=fspecial(motion,26,15) 图7 4. 中值滤波 运行指令 K=medfilt2(wnrl,3,3); figure; imshow(K) 结果如下: 图8 五( 调试程序出现的错误: 在调试程序时出现如下错误提示: ? Error using = imagesprivatecheckinputcheck_attributes Function ORDFILT2 expected its first input argument, A, to be two-dimensional. Error in = imagesprivatecheckinput at 37 check_attributes(A, attributes, function_name, variable_name, . Error in = ordfilt2ParseInputs at 135 checkinput(A, numeric,logical, 2d,real, mfilename, A, 1); Error in = ordfilt2 at 51 A,order,domain,s,padopt,msg = ParseInputs(varargin:); Error in = medfilt2 at 53 b = ordfilt2(a, order, domain, padopt); Error in = Untitled1 at 16 K=medfilt2(wnrl,3,3); 经仔细分析观察发现,出现此错误并不影响维纳滤波器的使用,而对于中值滤波则实现不了,因而判断出错误是出在中值滤波的这段程序,但检查程序后发现此段程序并没有错误,进而考虑到问题应是源图片对程序的影响,中值滤波所处理的图像应该是灰度图像,而从D盘读入的图片是彩色的,所以需要用rgb2gray(i)指令将图像转化为灰度图像,改正后程序无误。 六( 总结: Matlab中提供了简单易用的图像处理功能,利用所提供的功能指令基本实现了对运动模糊图像的去噪处理,其中涉及到了维纳滤波和中值滤波两种去噪算法,达到问题所要求的处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论