图像增强算法.doc_第1页
图像增强算法.doc_第2页
图像增强算法.doc_第3页
图像增强算法.doc_第4页
图像增强算法.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

图像增强算法摘要:本文简要介绍图像增强的概念和图像增强算法的分类,说明了图像增强技术的应用和前景展望。并简要的介绍了灰度变换和直方图均衡化处理方法。结合实际,重点对维纳滤波的代码和去噪效果进行了研究。关键词:图像增强;灰度变化;直方图均衡化;维纳滤波;代码1.概述1.1 研究的目的和意义近年来,随着电子计算机技术的进步,计算机图像处理得到了飞跃的发展,己经成功的应用于几乎所有与成像有关的领域,并正发挥着相当重要的作用。它利用计算机对数字图像进行系列操作,从而获得某种预期的结果。对图像进行处理时,经常运用图像增强技术以改善图像的质量增强对某种信息的辨识能力,以更好的应用于现代各种科技领域,图像增强技术的快速发展同它的广泛应用是分不开的,发展的动力来自稳定涌现的新的应用,我们可以预料,在未来社会中图像增强技术将会发挥更为重要的作用。在图像处理过程中,图像增强是十分重要的一个环节。因此,对图像增强技术和方法进行研究对国计民生有着十分重要的作用。本文拟通过对部分图像增强方法的研究,起到巩固书本知识,拓展个人解决问题的能力。2.1 本文的框架结构本文一共分为五章,第一章是概述,对全文内容进行一次提纲性的概括,起到总领的作用。第二章是图像增强概述。第三章是图像增强算法。第四章是维纳滤波代码的研究。2图像增强概述2.1 图像增强的基本定义图像增强是数字图像处理的基本内容之一。图像增强是指按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些不需要的信息的处理方法,同时也是提高图像质量的过程。图像增强的目的是为了某种应用目的去改善图像质量,处理的结果使图像的某些特性方面更加鲜明、突出,使处理的结果更适合于人的视觉特性或机器识别分析,以便于实现对图像的更高级处理和分析。图像增强处理并不能增加原始图像的信息,而只能增强对某种信息的辨识能力,使处理后的图像对某些特定的应用比原来的图像更加有效。2.2 图像增强方法图像增强方法从增强的作用域出发可分为空间域增强和频率域增强两种。常见的图像增强方法有:对比度增强法、直方图均衡化、平滑噪声和锐化等。2.3 图像增强的历史和应用近年来,随着计算机信息技术的不断发展,图像增强技术得到了长足的发展,广泛地应用到了诸如军事、地质、海洋、森林、医学、微生物和刑侦等领域,发挥着重要的作用,对国计民生的作用不可低估。图像增强处理始于20世纪60年代,由美国加州理工学院的喷气推进实验室,对徘徊者7号太空飞船发回的月球照片进行处理,标志着图像处理技术得到了实际的应用。目前,21世纪的图像增强处理技术已向高质量化方面发展,实现了图像的实时处理,采用的数字全息技术使图像包含最为完整和丰富的信息,实现图像的智能生产、处理、理解和识别。3图像增强算法图像增强方法从增强的作用域出发,可分为空间域增强和频率域增强两种。频率域方法在图像的某个频率域中对变换系数进行处理, 然后通过逆变换获得增强图像。空间域方法对图像进行点运算,是一种既简单又重要的图像处理技术, 它能让用户改变图像上像素点的灰度值, 这样通过点运算处理将产生一幅新图像。本节主要介绍灰度变换和直方图均衡变换。3.1 灰度变换灰度变换是图像增强的重要方法之一,它不改变图像内的空间关系,可使图像动态范围增大,对比度得到扩展,使图像特征明显,更加清晰。可表示为:根据变换函数的形式,灰度变换分为线性变换,分段性变换和非线性变换。3.1.1 线性变换假定图像f(x,y)的灰度范围为a,b,变换后的图像g(x,y)的灰度范围线性的扩展至c,d,其数学表达式如下:在曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内。这时在显示器上看到的将是一个模糊不清、似乎没有灰度层次的图像。采用线性变换对图像每一个像素灰度作线性拉伸,可有效地改善图像视觉效果。这种线性变换使灰度小于a和灰度大于b的像素灰度强度强行变换成c 和d,增强了图像中绝大多数像素的灰度层次感。 原始图像 变换结果3.1.2 分段线性变换为了突出感兴趣目标所在的灰度区间,相对抑制那些不感兴趣的灰度区间,可采用分段线性变换。设原图像f(x,y)在0,Mf,感兴趣目标的灰度范围在a,b,欲使其灰度范围拉伸到c,d,则对应的分段线性变换表达式为:3.1.3 非线性变换当用某些非线性函数如对数函数、指数函数等,作为映射函数时,可实现图像灰度的非线性变换。对数变换 对数变换的一般表达式为 这里a,b,c是为了调整曲线的位置和形状而引入的参数。当希望对图像的低灰度区较大的拉伸而对高灰度区压缩时,可采用这种变换,它能使图像灰度分布与人的视觉特性相匹配。(2)指数变换 指数变换的一般表达式为 这里参数a,b,c用来调整曲线的位置和形状。这种变换能对图像的高灰度区给予较大的拉伸。3.2 直方图均衡化直方图均衡化是将原图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。直方图均衡化算法是图像增强空域法中的最常用、最重要的算法之一。它以概率理论作基础, 运用灰度点运算来实现直方图的变换, 从而达到图像增强的目的。这些方法是不以图像保真为原则的, 它们是通过增强处理设法有选择地突出某些对人或机器分析感兴趣地信息, 抑制一些无用信息, 以提高图像地使有价值。在实际应用中, 应针对不同的图像应采用不同的图像增强方法,或同时采用几种适当的增强算法进行实验, 从中选出视觉效果较好的、计算不复杂的、又合乎应用要求的一种算法。3.2.1 直方图均衡化的原理为了改善图像质量,可以对灰度分布进行变换改变,其中一种方法称为直方图均衡化处理。直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。假定变换函数为 式中是积分变量,而T(r)就是r的累积分布函数。这里,累积分布函数是r的函数,并且单调地从0增加到1,所以这个变换函数满足T(r)在0r1内单值单调增加。可以证明,用r的累积分布函数作为变换函数可产生一幅灰度级分布具有均匀概率密度的图像。其结果扩展了像素取值的动态范围。通常把为得到均匀直方图的图像增强技术叫做直方图均衡化处理或直方图线性化处理。用离散形式表示累积分布函数为: 3.2.2 直方图均衡化步骤(1) 列出原始图像灰度级fj, j=0,1,k,L-1;(2) 统计各灰度级的象素数目,nj, j=0,1,k,L-1;(3) 计算原始图像直方图Pf(fj)=nj/n,n为原始图像总的象素数目;(4) 计算累积分布函数c(f);(5) 应用转移函数,计算映射后的灰度级,gi=INT(gmax-gmin)c(f)+gmin+0.5(6) 统计映射后各灰度级的象素数目ni, i=0,1,p-1;(7) 计算输出图像直方图Pg(gi)= nj/n,i=0,1,p-1;(8) 用fj和gi的映射关系,修改原始图像灰度级,获得直方图近似均匀分布的输出图像。图 直方图均衡化对比示意图4维纳滤波图像去噪方法的研究4.1 wiener2c+代码BOOL WienerFilter(WORD *pData, int iWid, int iHgh, int ihoodW, int ihoodH) if (pData = NULL) return FALSE; int iSize = iWid*iHgh; float *pKernel=new floatihoodW*ihoodH; for ( int i = 0 ; i ihoodW*ihoodH ; i + ) pKerneli = (float)1/(ihoodW*ihoodH); float *pMean=new floatiSize; float *pVal =new floatiSize; for ( i = 0 ; i iSize ; i + ) pMeani = (float)(pDatai*pDatai); Filter2(pVal,pMean,iWid,iHgh,pKernel,ihoodW,ihoodH); Filter2(pMean,pData,iWid,iHgh,pKernel,ihoodW,ihoodH); for ( i = 0 ; i iSize ; i + ) pVali = pVali-(pMeani*pMeani); /temp for mean double dMean=0; for ( i = 0 ; i iSize ; i + ) dMean+=(double)pVali/iHgh; dMean=dMean/iWid; for ( i = 0 ; i 0?(pVali-(float)dMean):0; float ftemp = (pDatai-pMeani)*pVali/(pVali+(float)dMean)+pMeani; if (ftemp (GRAYLEVEL-1) ftemp = GRAYLEVEL-1; pDatai = (WORD)ftemp; delete pKernel; delete pMean; delete pVal; return TRUE;void Filter2(float *pRes,WORD *pData, int iWid, int iHgh, float *pKernel, int iKWid, int iKHgh) float ftemp=0; for ( int j = 0 ; j iHgh ; j + ) for ( int i = 0 ; i iWid ; i + ) ftemp=0; for ( int x = 0 ; x iKWid ; x + ) for ( int y = 0 ; y iKHgh ; y + ) int ix=(x-iKWid/2+i)0?0:(x-iKWid/2+i); int iy=(y-iKHgh/2+j)iWid) ix=iWid-1; if (iy+1)iHgh) iy=iHgh-1; ftemp+=pDataix+iy*iWid*pKernelx+y*iKWid; pResj*iWid+i = ftemp; void Filter2(float *pRes,float *pData, int iWid, int iHgh, float *pKernel, int iKWid, int iKHgh) float ftemp=0; for ( int j = 0 ; j iHgh ; j + ) for ( int i = 0 ; i iWid ; i + ) ftemp=0; for ( int x = 0 ; x iKWid ; x + ) for ( int y = 0 ; y iKHgh ; y + ) int ix=(x-iKWid/2+i)0?0:(x-iKWid/2+i); int iy=(y-iKHgh/2+j)iWid) ix=iWid-1; if (iy+1)iHgh) iy=iHgh-1; ftemp+=pDataix+iy*iWid*pKernelx+y*iKWid; pResj*iWid+i = ftemp; Related posts:4.2 二维自适应维纳滤波对高斯噪声的滤除I=imread(C:桌面1.gif); %读取图像J=imnoise(I,gaussian,0,0.005); %加入均值为0,方差为0.005的高斯噪声K2=wiener2(J,3 3); %对加噪图像进行二维自适应维纳滤波K2=wiener2(J,5 5); %对加噪图像进行二维自适应维纳滤波K2=wiener2(J,7 7); %对加噪图像进行二维自适应维纳滤波K2=wiener2(J,9 9); %对加噪图像进行二维自适应维纳滤波subplot(2,3,1);imshow(I);title(原始图像);subplot(2,3,2);imshow(J);title(加噪图像);subplot(2,3,3);imshow(K1);title(恢复图像1);subplot(2,3,4);imshow(K2);title(恢复图像2);subplot(2,3,5);imshow(K3);title(恢复图像3);subplot(2,3,6);imshow(K4);title(恢复图像3);维纳滤波的两个函数wiener2与deconvwnr都能够完成维纳滤波的功能, deconvwnr强调图象复原方面,wiener2强调图象空间域锐化的作用,其中J=wiener2(I,m,n)返回有噪声图像I经过wierner(维纳)滤波后的图像,m,n指定滤波器窗口大小为m*n,默认值为3*3,J=wiener2(I,m,n,noise)指定噪声的功率,J,noise=wiener2(I,m,n)在图像滤波的同时,返回噪声功率的估计值noise。imnoise的语法格式为J = imnoise(I,type)J = imnoise(I,type,parameters)其中J = imnoise(I,type)返回对原始图像I添加典型噪声的有噪图像J。参数type和parameter

温馨提示

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

评论

0/150

提交评论