《5第五章 图像锐化处理.ppt.ppt》由会员分享,可在线阅读,更多相关《5第五章 图像锐化处理.ppt.ppt(65页珍藏版)》请在三一办公上搜索。
1、第五章 图像的锐化处理,景物边界细节的增强方法,图像锐化的目的是加强图像中景物的细节边缘和轮廓。锐化的作用是使灰度反差增强。因为边缘和轮廓都位于灰度突变的地方。所以锐化算法的实现是基于微分作用。,图像锐化的概念,图像的景物细节特征;一阶微分锐化方法;二阶锐化微分方法;一阶、二阶微分锐化方法效果比较。,图像锐化方法,图像细节的灰度变化特性,图像细节的灰度分布特性,图像细节的灰度变化微分特性,一阶微分曲线,二阶微分曲线,一阶微分锐化 基本原理,一阶微分的计算公式非常简单:,离散化之后的差分方程:,考虑到图像边界的拓扑结构性,根据这个原理派生出许多相关的方法。,一阶微分锐化,单方向一阶微分锐化无方向
2、一阶微分锐化 交叉微分锐化 Sobel锐化 Priwitt锐化,单方向的一阶锐化 基本原理,单方向的一阶锐化是指对某个特定方向上的边缘信息进行增强。因为图像为水平、垂直两个方向组成,所以,所谓的单方向锐化实际上是包括水平方向与垂直方向上的锐化。,水平方向的一阶锐化 基本方法,水平方向的锐化非常简单,通过一个可以检测出水平方向上的像素值的变化模板来实现。,水平方向的一阶锐化 例题,1*1+2*2+1*3-1*3-2*0-1*8=-3,问题:计算结果中出现了小于零的像素值,垂直方向的一阶锐化 基本方法,垂直锐化算法的设计思想与水平锐化算法相同,通过一个可以检测出垂直方向上的像素值的变化模板来实现。
3、,垂直方向的一阶锐化 例题,1*1+2*2+1*3-1*3-2*2-1*8=-7,问题:计算结果中出现了小于零的像素值,单方向锐化的后处理,这种锐化算法需要进行后处理,以解决像素值为负的问题。后处理的方法不同,则所得到的效果也就不同。,单方向锐化的后处理,方法1:整体加一个正整数,以保证所有的像 素值均为正。(比如+128,还有255的则视为255处理)这样做的结果是:可以获得类似浮雕的效果。,单方向锐化的后处理,方法2:将所有的像素值取绝对值。这样做的结果是,可以获得对边缘的有方向提取。,水平方向锐化,像素负值取绝对值,Image_Htest(BYTE*image_in,BYTE*image
4、_out,int xsize,int ysize,int w3)int i,j,buf;for(j=1;j255)buf=255;*(image_out+j*xsize+i)=buf;,buf+=128;if(buf255)buf=255;,水平方向锐化,像素负值取绝对值,水平方向锐化,像素值加一整数,垂直方向锐化,像素值加一整数,垂直方向锐化,像素负值取绝对值,交叉锐化,像素值加一整数,无方向一阶锐化 问题的提出,前面的锐化处理结果对于人工设计制造的具有矩形特征物体(例如:楼房、汉字等)的边缘的提取很有效。但是,对于不规则形状(如:人物)的边缘提取,则存在信息的缺损。,无方向一阶锐化 设计思
5、想,为了解决上面的问题,就希望提出对任何方向上的边缘信息均敏感的锐化算法。因为这类锐化方法要求对边缘的方向没有选择,所有称为无方向的锐化算法。,一阶微分,双方向一次微分运算,直接以梯度值代替,理论基础:对灰度图像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
6、)|,双向一阶微分,直接梯度运算,Image_HVtest(BYTE*image_in,BYTE*image_out,int xsize,int ysize,int h3,int v3)int i,j,fx,fy;for(j=1;jysize-1;j+)for(i=1;ixsize-1;i+)fx=(int)(*(image_in+(j-1)*xsize+i-1)*h00+*(image_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)*
7、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)*v01+*(image_in+(j-1)*xsize+i+1)*v02+*(image_in+j*xsize+i-1)*v10+*(image_in+j*xsize+i)*v11+*(image_in+j*xsi
8、ze+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);,fx=0,0,0,0,1,-1,0,0,0;,fx=0,0,0,0,1,0,0,-1,0;,直接以梯度值代替,辅以门限判断,理论基础Gf(i,j)=f(i,j)-f(i-1,j)2+f(i,j)-f(i,j-1)2 1/2或Gf(i,j)=|f(i,j)-f(i-1,j)|+|f(i,j)-f
9、(i,j-1)|Gf(i,j)+100;Gf(i,j)Tg(i,j)=f(i,j);其它 其中,T为门限值,像素的梯度值大于T,则加上100,加上100像素值后若大于255,取255。,梯度大于30,加100,梯度大于30,加100,给边缘规定一个特定的灰度级,理论基础 Gf(i,j)=f(i,j)-f(i-1,j)2+f(i,j)-f(i,j-1)2 1/2或Gf(i,j)=|f(i,j)-f(i-1,j)|+|f(i,j)-f(i,j-1)|La;Gf(i,j)T g(i,j)=(6-13)f(i,j);其它La为一指定的灰度值,梯度大于30,La=255,给背景规定灰度级,Gf(i,j)
10、;Gf(i,j)Tg(i,j)=(6-14)Lb;其它Lb为一对背景指定的灰度值。,根据梯度二值化图像,理论基础 对阶跃边缘,在边缘点其一阶导数取极值。由此,对每个像素取它的梯度值G(i,j),适当取门限T作如下判断:若G(i,j)T则(i,j)点为阶跃状边缘点,255;Gf(i,j)Tg(i,j)=0;其它,边缘检测,边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,通常也包括方向的确定。大多数是基于方向导数模板求卷积的方法。,将所有的边缘模板逐一作用于图像中的每一个像素,产生最大输出值的边缘模板方向,表示该点边缘的方向,如果所有方向上的边缘模板接近于零,该点处没有边缘;如果所有方向上的
11、边缘模板输出值都近似相等,没有可靠边缘方向。,卷积,卷积可以简单的看成加权求和的过程。,(1)卷积,本节介绍的算子有:Roberts边缘检测算子;Sobel边缘检测算子;Prewitt边缘检测算子;LoG_Laplacian高斯-拉普拉斯算子。,无方向一阶锐化 交叉微分,交叉微分算法(Roberts算法)计算公式如下:,特点:算法简单,该算法的算子如下:,Roberts边缘检测算子,Roberts边缘检测算子,无方向一阶锐化 Sobel锐化,Sobel锐化的计算公式如下:,特点:锐化的边缘信息较强,Sobel边缘检测算子,Sobel边缘检测算子,无方向一阶锐化 Priwitt锐化算法,Priw
12、itt锐化算法 的计算公式如下:,特点:与Sobel相比,有一定的抗干扰性。图像效果比较干净。,Prewitt边缘检测算子,Prewitt边缘检测算子,一阶锐化 几种方法的效果比较,Sobel算法与Priwitt算法的思路相同,属于同一类型,因此处理效果基本相同。Roberts算法的模板为2*2,提取出的信息较弱。单方向锐化经过后处理之后,也可以对边界进行增强。,二阶微分锐化 问题的提出,从图像的景物细节的灰度分布特性可知,有些灰度变化特性一阶微分的描述不是很明确,为此,采用二阶微分能够更加获得更丰富的景物细节。,二阶微分锐化 景物细节特征对应关系,灰度截面,一阶微分,二阶微分,(a)阶跃形(
13、b)细线形(c)斜坡渐变形,二阶微分锐化 景物细节对应关系,1)对于突变形的细节,通过一阶微分的极大值点,二阶微分的过0点均可以检测出来。,二阶微分锐化 景物细节对应关系,2)对于细线形的细节,通过一阶微分的过0点,二阶微分的极小值点均可以检测出来。,二阶微分锐化 景物细节对应关系,3)对于渐变的细节,一般情况下很难检测,但二阶微分的信息比一阶微分的信息略多。,二阶微分锐化 算法推导,二阶微分锐化 Laplacian 算法,由前面的推导,写成模板系数形式形式即为Laplacian算子:,Image_LaplasSharp(BYTE*image_in,BYTE*image_out,int xsi
14、ze,int ysize,int w3)int i,j,df;for(j=1;jysize-1;j+)for(i=1;ixsize-1;i+)df=(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
15、+(j+1)*xsize+i)*w21+*(image_in+(j+1)*xsize+i+1)*w22);*(image_out+j*xsize+i)=int(abs(df);,实现效果,灰度渐变,一阶sobel算子,二阶Laplacian算子,二阶微分锐化 Laplacian变形算法,为了改善锐化效果,可以脱离微分的计算原理,在原有的算子基础上,对模板系数进行改变,获得Laplacian变形算子如下所示。,示例,二阶微分锐化 Laplacian锐化边缘提取,经过Laplacian锐化后,我们来分析几种变形算子的边缘提取效果。H1,H2的效果基本相同,H3的效果最不好,H4最接近原图。,示例,
16、二阶微分锐化 Wallis算法,考虑到人的视觉特性中包含一个对数环节,因此在锐化时,加入对数处理的方法来改进。,示例,二阶微分锐化 Wallis算法,在前面的算法公式中注意以下几点:1)为了防止对0取对数,计算时实际上是用log(f(i,j)+1);2)因为对数值很小log(256)=5.45,所以计算 时用46*log(f(i,j)+1)。(46=255/log(256)),二阶微分锐化 Wallis算法,算法特点:Wallis算法考虑了人眼视觉特性,因此,与Laplacian等其他算法相比,可以对暗区的细节进行比较好的锐化。,示例,一阶与二阶微分的边缘提取效果比较,以Sobel及Laplacian算法为例进行比较。Sobel算子获得的边界是比较粗略的边界,反映的边界信息较少,但是所反映的边界比较清晰;Laplacian算子获得的边界是比较细致的边界。反映的边界信息包括了许多的细节信息,但是所反映的边界不是太清晰。,谢谢大家,