ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:517.50KB ,
资源ID:8657941      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8657941.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(去除高斯噪声的图像处理技术.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

去除高斯噪声的图像处理技术.doc

1、去除高斯噪声的图像处理技术 -------验证《image enhancement based on noise estimation》 一.概述 大家都知道这样的一个事实,对图象躁声的处理存在一个平滑和锐化的矛盾。躁声在图象中对于高频部分的贡献比正常数据要大,也就是说它与它周围的象素存在“突变”,这就是我们平滑的原因。但是“突变”也可能是边界,只进行平滑可能会模糊边界,得到不满意的结果。“锐化”就是为了突显边界,这两者之间存在一个权衡。我们以8位的BMP图,和未知的高斯噪声为例子。为了能有效的验证我们算法的正确性,我们先写给出制造高斯躁声的程序(可以调节方差),然后给出

2、有效的消除高斯躁声的算法。我们程序的编译运行的环境是WindowsXP系统,VC++2005。 二. 设计思路 1.制造高斯躁声的设计: 要研究图像的增强与恢复,就必须先了解噪声,高斯噪声是自然界中存在最广泛的噪声,因此也成为我们本次实验的对象噪声,其振幅分布服从高斯分布即正态分布。含有高斯噪声的图像,可以看成是图像的每一个像素值加上一个高斯分布的随机数。因此,要生成含高斯噪声的图像,就必须先产生高斯分布的随机数,然后再将随机数加入图像。 根据box-muller算法,可以利用极坐标的原理,由均匀分布的随机数生成标准正态分布的随机数。但经测试,系统程序库中的随机函数rand生成的假随

3、机数,在分布精度上并不满足均匀分布的统计特性。故需要重新设定随机种子与随机算法,以生成较为严格的均匀分布随机数。 2.消除高斯噪声的设计: 这个算法是用于图象增强,但其设计是源于图象恢复,其实本质上也是种图象恢复。我们首先要估计出在原图象上的高斯躁声,用较为准确的估计值确定参数。我觉得最为关键的点,就在于方差估计算法的设计。在确定好参数以后,我们通过两次不同的平滑和一次锐化,可以有效的消除高斯躁声。具体的设计可以从算法设计中看出。 三. 算法设计 1.制造高斯躁声的算法: 生成含高斯噪声的算法可以转化为两个算法的实现:第一,生成均匀分布随机数;第二,实现均匀分布随机数向高斯

4、分布随机数转化的box-muller算法。 系统程序库中的随机数发生器rand,实际上是一个函数子过程,通过线形同余法,即采用递推关系,这样使得计算量变得较少,但也因此造成了产生的随机数的序列相关性,因此,要设计或者改进这种随机数发生器,就必须破坏这种序列相关性。在本实验中,我们采用混洗的方法破坏序列相关性,即设V1,V2,V3,…,Vn是由rand产生的n个随机数,现随机的取一正整数j(1<=j<=n),取Vj为一要求的随机数,而Vj再由rand生成的另一随机数替换,替换后再由V1,V2…,Vn中随机的取一个为下一次要求的随机数,依此重复。为进一步改进产生随机数的统计特性,本实验函数ran

5、1(idum)采用三个线形同余发生器,公共组成,其中,第一个线形同余发生器用于产生随机数的最高有效位部分,第二个用于产生随机数的最低有效位部分,第三个用于控制混洗过程。经测试,ran1(idum)所产生的随机数较好的体现了平均分布的统计特性。具体实现方法,及代码,见代码部分。 用变换的方法可以实现均匀分布的随机数向正态分布的转换。根据box-muller算法,设是的均匀分布随机函数,则可作变换: 等价的,可得: 因此,是两个独立的标准正态分布随机数。 进一步,考虑到三角函数的计算量大,因此,把取换为在单位圆内取随机点,由代替

6、而该点与轴的角代替2,则: 现设是区间上的独立的均匀分布随机数,且: 显然,是上的均匀随机数,若,则: 是两个独立的标准正态分布随机数。具体实现方法,及代码,见代码部分。 基于8位图像的特点:每个像素由256个灰度等级表示,故需要按照特定的方差,将产生的正态分布随机数分进512个区段中。因此,在程序中添加了cint(double x)函数和方差的相关常量0.05后,完成了基于box-muller和极坐标理论生成的正态分布随机数在8位图像中的高斯噪声添加工作。 2.消除高斯噪声的算法: 在

7、我们的算法里面,主体分为两大块: 我们先设定象素值L=256。 a.高斯躁声参数的估计: 平均值u:常被认为是0。、 方差σ:所要估计的。先给出几个涉及到的方程: 算法的主要思路: 处理的象素集合: 公式1: 公式1为一个滤波器,其中,b,c取经验值(b=1,c=3),选择滤波器中的参数a(我们选定的范围是从1到100)用于求解噪声方差。 公式2: 公式3: 公式4: 当选择一个a的值后,式1滤波结果图像(记为G(a)),按式2计算G(a)的边界梯度,统计边界梯度图的直方图(H(g,a)中g指梯度(由于求梯度前做过滤波,就与a有关了),Hmax(a)为

8、该直方图的最大值(公式3),当然不同的a选择就会有不同的G(a),当然也就会有不同的梯度图,直方图也随之不同,其中获得Hmax最大值的那个a选择,就是公式4中的a0。得到了a0以后,除以2就得到我们估计的方差。(在我们后面的验证中可以看到该方法很有效)。 在我们程序中函数是:int estimate()和long H(BYTE* y, int a0) 主要的过程: while(a<100) { for(i=1; i

9、magedata[i*m_ImageWidth+j],m_imagedata[i*m_ImageWidth+j-1],a,1,3); temp[1]=Bt(m_imagedata[i*m_ImageWidth+j],m_imagedata[i*m_ImageWidth+j+1],a,1,3); temp[2]=Bt(m_imagedata[i*m_ImageWidth+j],m_imagedata[(i-1)*m_ImageWidth+j],a,1,3); temp[3]=Bt(m_imagedata[i*m_ImageWidth+j],m_imagedata[(i+1

10、)*m_ImageWidth+j],a,1,3); y[i*m_ImageWidth+j]=m_imagedata[i*m_ImageWidth+j]+( temp[0]+temp[1]+temp[2]+temp[3])/4; } } a++; long q= H(y,a); if( max

11、cess( float a1, float a2, float d ) 涉及到共三个过程(按顺序执行): 1.平滑: 这里提到了Bt函数:float Bt(BYTE soursData, BYTE aroundData, float a, float b, float c),这个函数实际是个二维图: float Bt(BYTE soursData, BYTE aroundData, float a, float b, float c) { int i=-soursData+aroundData; if( i<=-c*a || i>=c*a ) { return

12、 0; } else if( i>-c*a && i<=-a*b )// || ( i>a && i-b*a && i<=-a ) { return -a; } else if( i>-a && i<=a ) { return i; } else if( i>a && i<=b*a ) { return a; } else if( i>b*a && i

13、} return 0; } 有了这个函数以后,我们可以根据以下的方程处理: 先给出四个处理的象素集合: , 其中:,y是处理后的象素值(其对应的位置是I,j),x是处理前的象素值(其对应的位置是I,j,原图象的象素),a1可以根据预估计的σ(公式是a1=(19*σ-29)/6)计算得到,可以根据经验设定b1=1.5, c1=3。 经过计算后,我们进入下一步处理。 2.平滑: 用的是和以上一样的函数float Bt(BYTE soursData, BYTE aroundData, float a, float b, float c)。 象素计算的集合和第一步

14、平滑一样。 可以根据这个方程进行我们的第2步平滑: 其中,y是处理后的象素值(其对应的位置是I,j),x是处理前的象素值(其对应的位置是I,j,上次处理的结果),a2可以根据预估计的σ(公式是a2=σ/2)计算得到,可以根据经验设定b2=1.5, c2=3。 经过计算后,我们进入下一步处理。 3.锐化: 这里提到了Bt函数:float Gm(BYTE soursData, BYTE aroundData, float d),这个函数实际是也个二维图: float Gm(BYTE soursData, BYTE aroundData, float d) { int i=-s

15、oursData+aroundData; int L=256; int e=128; float m1=2; float m2=0.5; float g=2L-2+4*d-3*e; if( i<=-g ) { return L-1; } else if( i>-g && i<=-e ) { return (-0.5*i+1.5*e-2*d); } else if( i>-e && i<=-d) { return (-2*i-2*d); } else if( i>-d && i<=d) { r

16、eturn 0; } else if( i>d && i<=e) { return (-2*i+2*d); } else if( i>e && i=g ) { return (-L+1); } return 0; } 得到了Gm函数以后,可以根据以下的函数: 处理的象素集合是: 在这个集合上,运用公式; 其中y是处理后的象素值(其对应的位置是I,j),x是处理前的象素值(其对应的位置是I,j,上次处理的结果),d可以

17、根据预估计的σ(公式是d=(5/4*σ+25/4))计算得到,其他的参数可以根据e=128,m1=f/(e-d)=2,m2=(L-1-f)/(g-e)=0.5得到,m1是处理前的象素值和处理后的象素值差的绝对值在d和e 之间时的直线斜率;m2是处理前的象素值和处理后的象素值差的绝对值在e和g 之间时的直线斜率,可以从我们的float Gm(BYTE soursData, BYTE aroundData, float d)函数中看出来。 经过以上处理以后,我们可以得到较好的消除高斯躁声的图象。 四. 实验结果及其说明: 测试1: 图片1(没有躁声,也就是说σ=0) 经过我们

18、的填加躁声处理后,得到图片2(设定的σ=16): 经过我们的预测函数,预测得到的σ=16,可见该函数还是比较准确的: 经过处理后的图象,σ=4: 注: 可以得到两点: 1.我们的填加高斯躁声的程序是正确的,欲估σ的函数也是比较有效的; 2.针对高斯躁声的图象加强的方法虽然不能将图片恢复到原样,但也取得了比较好的结果,证明了算法的有效。 测试2: 选用了原论文上的图片,其原文上给出的σ=10: 我们的预估函数得到的σ=10,再次验证该函数还是比较准确的: 经过处理后的图象,σ=3: 再次验证算法的有效 五. 总结

19、在开始阅读国外论文的时候,有些地方不是很了解,经过思考也还存在些问题,尤其是在预估计这个地方,最后请教老师,感到有豁然开朗的感觉。做这个程序,我一直很感兴趣,因为感到一种直观的结果,很有意思。我试图给出另一些算法,用于和该算法进行对比,但在进行滤波处理后,用一次微分锐化总觉得很过了,反观这个算法,它并没有单一的处理,不是一条直线,所以能很好的避免锐化过分的问题,我想这也就是float Gm(BYTE soursData, BYTE aroundData, float d)函数构造的思路。想想自己滤波的处理也并不好,这就是float Bt(BYTE soursData, BYTE aroundData, float a, float b, float c)和两次不同角度的平滑的原因,这样也有利于后面的锐化,这只是我的想法。 六. 参考资料 《image enhancement based on noise estimation》 ----------------------------------Fabrizio Russo 《数字图像处理第二版》---------------------------------------------------------------------冈萨雷斯

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服