整理图像锐化处理_第1页
整理图像锐化处理_第2页
整理图像锐化处理_第3页
整理图像锐化处理_第4页
整理图像锐化处理_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、精品文档图像锐化处理图像锐化的概念补偿图像轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。图像锐化的目的是加强图像中景物的细节边缘和轮廓。锐化的作用是使灰度反差增强。因为边缘和轮廓都位于灰度突变的地方。所以锐化算法的实现是基于微分作用。图像锐化方法图像的景物细节特征;一阶微分锐化方法;二阶锐化微分方法;一阶、二阶微分锐化方法效果比较。精品文档精品文档图像细节的灰度变化特性一阶微分曲线精品文档精品文档二阶微分曲线1、一阶微分锐化基本原理一阶微分的计算公式非常简单:Lff(x,y)=xy离散化之后的差分方程:f(i,j)=f(i1,j)-f(i,j)f(i,j1)-f(i,j)考虑到图像边界

2、的拓扑结构性,根据这个原理派生出许多相关的方法。单方向一阶微分锐化无方向一阶微分锐化?交叉微分锐化?Sobel锐化?Priwitt锐化精品文档精品文档(1)单方向的一阶锐化基本原理单方向的一阶锐化是指对某个特定方向上的边缘信息进行增强。因为图像为水平、垂直两个方向组成,所以,所谓的单方向锐化实际上是包括水平方向与垂直方向上的锐化。水平方向的一阶锐化一基本方法水平方向的锐化非常简单,通过一个可以检测出水平方向上的像素值的变化模板来实现。H=H=精品文档精品文档问题:计算结果中出现了小于零的像素值?(2)垂直方向的一阶锐化基本方法垂直锐化算法的设计思想与水平锐化算法相同,通过一个可以检测出垂直方向

3、上的像素值的变化模板来实现。10-1H=20-210-1单方向锐化的后处理这种锐化算法需要进行后处理,以解决像素值为负的问题。后处理的方法不同,则所得到的效果也就不同。方法1:整体加一个正整数,以保证所有的像素值均为正。(比如+128,还有0的则视为0,若有255的则视为255处理)这样做的结果是:可以获得类似浮雕的精品文档精品文档效果。下例是+20后的效果2020202020201770202014772020213225202020202020voidCDynSplitView:OnHsharpen()(/TODO:在此添加命令处理程序代码inti,j,buf;intw33=1,2,1,0

4、,0,0,-1,-2,-1;clearmem();intysize=m_imagey,xsize=m_imagex;for(j=1;j<ysize-1;j+)for(i=1;i<xsize-1;i+)buf=(int)(*(image_in+(j-1)*xsize+i-1)*w00+*(image_in+(j-1)*xsize+i)*w01+*(image_in+(j-1)*xsize+i+1)*w02+*(image_in+j*xsize+i-1)*w10+*(image_in+j*xsize+i)*w11+精品文档精品文档*(image_in+j*xsize+i+1)*w12+

5、*(image_in+(j+1)*xsize+i-1)*w20+*(image_in+(j+1)*xsize+i)*w21+*(image_in+(j+1)*xsize+i+1)*w22);buf+=128;if(buf<0)buf=0;if(buf>255)buf=255;*(image_out+j*xsize+i)=buf;Invalidate。;if(buf<0)buf=abs(buf);if(buf>255)buf=255;添加菜单,设置其ID属性:康壕祝化水平蜕化处理ID_HSHARPEN,ID_VSHARPEN=为菜单添加事件处理程序。精品文档精品文档方法2

6、:将所有的像素值取绝对值。这样做的结果是,可以获得对边缘的有方向提取。垂直方向锐化处理浮雕:精品文档精品文档(3)无方向一阶锐化问题的提出前面的锐化处理结果对于人工设计制造的具有矩形特征物体(例如:楼房、汉字等)的边缘的提取很有效。但是,对于不规则形状(如:人物)的边缘提取,则存在信息的缺损。为了解决上面的问题,就希望提出对任何方向上的边缘信息均敏感的锐化算法。因为这类锐化方法要求对边缘的方向没有选择,所有称为无方向的锐化算法。一阶微分(6-2)的最大值条件是_C7dd即:-sin5+cos5=0(6-3)梯度是向里,各向同性.梯度方向对应于fl:3最大变化率方向上,即一(6-4)梯度最大值G

7、=为了减少计篝量而用G=+园(6-5)精品文档精品文档gf(i,j)=詈双方向一次微分运算,直接以梯度值代替理论基础:对灰度图像f在纵方向和横方向两个方向进行微分。该算法是同时增强水平和垂直方向的边缘。利用双方向一次微分运算,算出梯度后让梯度值等于该点的灰度值。该算法的数学表达式为:G(i,j)=sqrtf(i,j)-f(i,j-1)*f(i,j)-f(i,j-1)+f(i,j)-f(i-1,j)*f(i,j)-f(i-1,j)或Gf(i,j)=|f(i,j)-f(i-1,j)|+|f(i,j)-f(i,j-1)|fx=0,0,0,fx=0,0,0.0.1.-1),0,1,0,0,0.0;0,

8、-1,0);添加菜单,设置其ID属性:id_hvsharpenID_HNSHARPEN为菜单添加事何处理程序。直接梯度门限梯度voidCDynSplitView:OnHvsharpen()clearmem();inti,j,fx,fy,ysize=m_imagey,xsize=m_imagex;精品文档精品文档intv33=0,0,0,0,1,0,0,-1,0,h33=0,0,0,0,1,-1,0,0,0;for(j=1;j<ysize-1;j+)for(i=1;i<xsize-1;i+)仅=(int)(*(image_in+(j-1)*xsize+i-1)*h00+*(image

9、_in+(j-1)*xsize+i)*h01+*(image_in+(j-1)*xsize+i+1)*h02+*(image_in+j*xsize+i-1)*h10+*(image_in+j*xsize+i)*h11+*(image_in+j*xsize+i+1)*h12+*(image_in+(j+1)*xsize+i-1)*h20+*(image_in+(j+1)*xsize+i)*h21+*(image_in+(j+1)*xsize+i+1)*h22);fy=(int)(*(image_in+(j-1)*xsize+i-1)*v00+*(image_in+(j-1)*xsize+i)*v

10、01+*(image_in+(j-1)*xsize+i+1)*v02+*(image_in+j*xsize+i-1)*v10+*(image_in+j*xsize+i)*v11+*(image_in+j*xsize+i+1)*v12+*(image_in+(j+1)*xsize+i-1)*v20+*(image_in+(j+1)*xsize+i)*v21+*(image_in+(j+1)*xsize+i+1)*v22);*(image_out+j*xsize+i)=(int)(abs(fx)+abs(fy);精品文档精品文档if(int)(abs(fx)+abs(fy)>18)*(ima

11、ge_out+j*xsize+i)=255;else*(image_out+j*xsize+i)=0;Invalidate();)辅以门限判断理论基础Gf(i,j)=f(i,j)-f(i-1,j)2+f(i,j)-f(i,j-1)2严或Gf(i,j)=|f(i,j)-f(i-1,j)|+|f(i,j)-f(i,j-1)|Gf(i,j)+100;Gf(i,j)>Tg(i,j)=If(i,j);其它其中,T为门限值,像素的梯度值大于T,则加上100,加上100像素值后若大于255,精品文档精品文档取255。int)(abs(fx)+abs(fy)+100;if(int)(abs(fx)+ab

12、s(fy)>30)*(image_out+j*xsize+i)=(else*(image_out+j*xsize+i)=*(image_in+j*xsize+i);给边缘规定一个特定的灰度级理论基础Gf(i,j)=f(i,j)-f(i-1,j)2+f(i,j)-f(i,j-1)2产或Gf(i,j)=|f(i,j)-f(i-1,j)|+|f(i,j)-f(i,j-1)|'La;Gf(i,j)>Tg(i,j)='f(i,j);其它La为一指定的灰度值精品文档精品文档梯度大于30,La=255根据梯度二值化图像理论基础对阶跃边缘,在边缘点其一阶导数取极值。由此,对每个像素

13、取它的梯度值G(i,j),适当取门限T作如下判断:若6(灯)>丁则储)4点为阶跃状边缘点255;Gf(i,j)>TgO,j)=,0;其它精品文档精品文档2、边缘检测边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,通常也包括方向的确定。大多数是基于方向导数模板求卷积的方法将所有的边缘模板逐一作用于图像中的每一个像素,产生最大输出值的边缘模板方向,表示该点边缘的方向,如果所有方向上的边缘模板接近于零,该点处没有边缘;如果所有方向上的边缘模板输出值都近似相等,没有可靠边缘方向-1o1-101-101011-101一110模板8)9。模板(c)45口模板(d)135。模板口卷积p5=

14、pl+kl+p2+k2+p9林9口卷积可以简单的看成加权求和的过程精品文档精品文档本节介绍的算子有:Roberts边缘检测算子;Sobel边缘检测算子;Prewitt边缘检测算子;LoG_Laplacian高斯-拉普拉斯算子。(1)无方向一阶锐化一交叉微分交叉微分算法(Roberts算法)计算公式如下:gG/=1f(i+1,7+1)-",7)|+|/(i+U8一/G/十DI000£=oio00-1000一4=0°10-10特点:算法简单Roberts边缘检测算子(2)无方向一阶锐化一一Sobel锐化Sobel锐化的计算公式如下:1g(i,j)二d;(i,j)d;(

15、i,j»-101-1-2-1dx202dy=000101_121特点:锐化的边缘信息较强精品文档精品文档Sobel锐化(2)无方向一阶锐化Priwitt锐化算法Priwitt锐化算法的计算公式如下:1g(i,j)=£(i,j)d2(i,j),101-1-1-1IIIIdx101dy=000-101111特点:与Sobel相比,有一定的抗干扰性。图像效果比较干净。精品文档精品文档几种方法的效果比较Sobel算法与Priwitt算法的思路相同,属于同一类型,因此处理效果基本相同。Roberts算法的模板为2*2,提取出的信息较弱。单方向锐化经过后处理之后,也可以对边界进行增强。

16、精品文档精品文档(3)二阶微分锐化一一问题的提出1)对于突变形的细节,通过一阶微分的极大值点,二阶微分的过0点均可以检测出来。2)对于细线形的细节,通过一阶微分的过0点,二阶微分的极小值点均可以检测出来。3)对于渐变的细节,一般情况下很难检测,但二阶微分的信息比一阶微分的信息略多。精品文档精品文档二阶微分锐化一一算法推导:"fx2Mfx(i,j)-fx(i1,j)Mf(i,j)-f(i-1,j)-f(i1,j)-f(i,j)f2f二fy(i,j)-fyjj1)个乙JJy=f(i,j)-f(i,j-1)-f(i,j1)-f(i,j)'2f=4f(i,j)-f(i1,j)-f(i

17、-1,j)-f(i,j1)-f(i,j1)由前面的推导,写成模板系数形式形式即为Laplacian算子:0-10也14-1_0-10精品文档精品文档voidCDynSplitView:OnLaplas()(/TODO:在此添加命令处理程序代码inti,j,df;clearmem();memcpy(image_out,imagejn,m_imagex*m_imagey);intysize=m_imagey,xsize=m_imagex;intw33=0,-1,0,-1,4,-1,0,-1,0;for(j=1;j<ysize-1;j+)for(i=1;i<xsize-1;i+)df=(

18、int)(*(image_in+(j-1)*xsize+i-1)*w00+*(image_in+(j-1)*xsize+i-1)*w01+*(image_in+(j-1)*xsize+i+1)*w02+*(image_in+j*xsize+i-1)*w10+*(image_in+j*xsize+i)*w11+*(image_in+j*xsize+i+1)*w12+*(image_in+(j+1)*xsize+i-1)*w20+*(image_in+(j+1)*xsize+i)*w21+*(image_in+(j+1)*xsize+i+1)*w22);*(image_out+j*xsize+i)

19、=int(abs(df);.Invalidate();二阶微分锐化Laplacian变形算法为了改善锐化效果,可以脱离微分的计算原理,在原有的算子基础上,对模板系数进行改变,获得Laplacian变形算子如下所示。-1H3=一2-1-1-105-1-10-2104-2H4=-1-21_0精品文档精品文档二阶微分锐化Wallis算法考虑到人的视觉特性中包含一个对数环节,因此在锐化时,加入对数处理的方法来改进。g(i,j)=iogf(i,j)-iss=logf(i-1,j)logf(i1,j)logf(i,j-1)logf(i,j1)在前面的算法公式中注意以下几点:1)为了防止对0取对数,计算时实

20、际上是用log(f(i,j)+1);2)因为对数值很小10g(256)=5.45,所以计算时用46*1og(f(i,j)+1)o(46=25310g(256)算法特点:Wallis算法考虑了人眼视觉特性,因此,与Laplacian等其他算法相比,可以对暗区的细节进行比较好的锐化。一阶与二阶微分的边缘提取效果比较以Sobel及Laplacian®法为例进行比较。Sobel算子获得的边界是比较粗略的边界,反映的边界信息较少,但是所反映的边界比较清晰;Laplacian算子获得的边界是比较细致的边界。反映的边界信息包括了许多的细精品文档精品文档节信息,但是所反映的边界不是太清晰voidCDynSplitView:OnSobel()(/TODO:在此添加命令处理程序代码clearmem();memcpy(image_out,image_in,m_imagex*m_imagey);inti,j,fx,fy;intysize=m_imagey,xsize=m_imagex;intv33=-1,0,1,-1,0,1,-1,0,1,h33=-1,-1,-1,0,0,0,1,1,1;for(j=1;j<ysize-1;

温馨提示

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

评论

0/150

提交评论