您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 基于二阶微分的图像锐化
摘要本次课程设计主要讨论了基于二阶微分的图像锐化技术的算法及其用MATLAB的实现;同时给出了利用一阶、二阶微分锐化方法效果比较的对照图像。关键词MATLAB非线性锐化Laplacian算子2基于二阶微分的图像锐化目录第一章图象锐化概述.........................................................................................31.1图像锐化的目的..............................................................................................31.2图象锐化的原理.............................................................................................31.21线性锐化滤波器..............................................................................................31.22非线性锐化滤波器..........................................................................................4第二章一阶微分锐化........................................................................................4第三章二阶微分锐化........................................................................................53.1问题的提出.......................................................................................................53.2算法推导............................................................................................................63.3Laplacian算法.............................................................................................63.4Laplacian变形算法.....................................................................................73.5Laplacian锐化边缘提取...........................................................................83.6Wallis算法.....................................................................................................93.7二阶微分的边缘提取效果比较......................................................10第五章结论...........................................................................................................113基于二阶微分的图像锐化第一章图象锐化概述1.1图像锐化的目的一是增强图像的边缘,使模糊的图像变得清晰起来;这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。二是提取目标物体的边界,对图像进行分割,便于目标区域的识别等。通过图像的锐化,使得图像的质量有所改变,产生更适合人观察和识别的图像。锐化的作用,是使灰度反差增强。因为边缘和轮廓都位于灰度突变的地方。所以锐化算法的实现是基于微分作用。1.2图象锐化的原理数字图像的锐化可分为线性锐化滤波和非线性锐化滤波。如果输出像素是输入像素领域像素的线性组合则称为线性滤波,否则称为非线性滤波。1.21线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。这种滤波器必须满足滤波器的中心系数为正数,其他系数为负数。线性高通滤波器3×3模板的典型系数4基于二阶微分的图像锐化1.22非线性锐化滤波器非线性锐化滤波就是使用微分对图像进行处理,以此来锐化由于邻域平均导致的模糊图像。第二章一阶微分锐化一阶微分的计算公式非常简单:离散化之后的差分方程:考虑到图像边界的拓扑结构性,根据这个原理派生出许多相关的方法:a.单方向一阶微分锐化b.无方向一阶微分锐化•交叉微分锐化•Sobel锐化•Priwitt锐化一阶锐化方法的效果比较:'(,)fffxyxy(,)[(1,)(,)][(,1)(,)]fijfijfijfijfij5基于二阶微分的图像锐化第三章二阶微分锐化3.1问题的提出从图像的景物细节的灰度分布特性可知,有些灰度变化特性一阶微分的描述不是很明确,为此,采用二阶微分能够更加获得更丰富的景物细节。景物细节对应关系:a.对于突变形的细节,通过一阶微分的极大值点,二阶微分的过0点均可以检测出来。b.对于细线形的细节,通过一阶微分的过0点,二阶微分的极小值点均可以检测出来。c.对于渐变的细节,一般情况下很难检测,但二阶微分的信息比一阶微分的信息略多。6基于二阶微分的图像锐化3.2算法推导3.3Laplacian算法由前面的推导,写成模板系数形式即为Laplacian算子:voidCDynSplitView::OnLaplas(){//TODO:在此添加命令处理程序代码inti,j,df;clearmem();//memcpy(image_out,image_in,m_imagex*m_imagey);intysize=m_imagey,xsize=m_imagex;intw[3][3]={{0,-1,0},{-1,4,-1},{0,-1,0}};for(j=1;jysize-1;j++)for(i=1;ixsize-1;i++){df=(int)(*(image_in+(j-1)*xsize+i-1)*w[0][0]+*(image_in+(j-1)*xsize+i-1)*w[0][1]+)1,()1,(),1(),1(),(42jifjifjifjifjiff0101410101H7基于二阶微分的图像锐化*(image_in+(j-1)*xsize+i+1)*w[0][2]+*(image_in+j*xsize+i-1)*w[1][0]+*(image_in+j*xsize+i)*w[1][1]+*(image_in+j*xsize+i+1)*w[1][2]+*(image_in+(j+1)*xsize+i-1)*w[2][0]+*(image_in+(j+1)*xsize+i)*w[2][1]+*(image_in+(j+1)*xsize+i+1)*w[2][2]);*(image_out+j*xsize+i)=int(abs(df));}Invalidate();}3.4Laplacian变形算法为了改善锐化效果,可以脱离微分的计算原理,在原有的算子基础上,对模板系数进行改变,获得Laplacian变形算子如下所示。Laplacian变形算子锐化效果:8基于二阶微分的图像锐化3.5Laplacian锐化边缘提取经过Laplacian锐化后,我们来分析几种变形算子的边缘提取效果。H1,H2的效果基本相同,H3的效果最不好,H4最接近原图。Laplacian算子边缘提取效果:9基于二阶微分的图像锐化3.6Wallis算法考虑到人的视觉特性中包含一个对数环节,因此在锐化时,加入对数处理的方法来改进。在前面的算法公式中注意以下几点:a.为了防止对0取对数,计算时实际上是用log(f(i,j)+1);b.因为对数值很小log(256)=5.45,所以计算时用46*log(f(i,j)+1)。(46=255/log(256))算法特点:Wallis算法考虑了人眼视觉特性,因此,与Laplacian等其他算法相比,可以对暗区的细节进行比较好的锐化。10基于二阶微分的图像锐化3.7二阶微分的边缘提取效果比较:以Sobel及Laplacian算法为例进行比较:a.Wallis算法考虑了人眼视觉特性,因此,与Laplacian等其他算法相比,可以对暗区的细节进行比较好的锐化。b.Wallis算法与Laplacian算法的比较voidCDynSplitView::OnSobel(){//TODO:在此添加命令处理程序代码clearmem();//memcpy(image_out,image_in,m_imagex*m_imagey);inti,j,fx,fy;intysize=m_imagey,xsize=m_imagex;intv[3][3]={{-1,0,1},{-1,0,1},{-1,0,1}},h[3][3]={{-1,-1,-1},{0,0,0},{1,1,1}};for(j=1;jysize-1;j++)for(i=1;ixsize-1;i++){fx=(int)(*(image_in+(j-1)*xsize+i-1)*h[0][0]+*(image_in+(j-1)*xsize+i)*h[0][1]+*(image_in+(j-1)*xsize+i+1)*h[0][2]+*(image_in+j*xsize+i-1)*h[1][0]+*(image_in+j*xsize+i)*h[1][1]+*(image_in+j*xsize+i+1)*h[1][2]+*(image_in+(j+1)*xsize+i-1)*h[2][0]+*(image_in+(j+1)*xsize+i)*h[2][1]+*(image_in+(j+1)*xsize+i+1)*h[2][2]);fy=(int)(*(image_in+(j-1)*xsize+i-1)*v[0][0]+*(image_in+(j-1)*xsize+i)*v[0][1]+11基于二阶微分的图像锐化*(image_in+(j-1)*xsize+i+1)*v[0][2]+*(image_in+j*xsize+i-1)*v[1][0]+*(image_in+j*xsize+i)*v[1][1]+*(image_in+j*xsize+i+1)*v[1][2]+*(image_in+(j+1)*xsize+i-1)*v[2][0]+*(image_in+(j+1)*xsize+i)*v[2][1]+*(image_in+(j+1)*xsize+i+1)*v[2][2]);*(image_out+j*xsize+i)=(int)sqrt((double)(fx*fx+fy*fy));//(int)(abs(fx)+abs(fy));}Invalidate();第五章结论锐化(sharpening)和平滑恰恰相反,它是通过增强高频分量来减少图象中的模糊,因此又称为高通滤波(highpassfilter)。锐化处理在增强图象边缘的同时增加了图象的噪声。在图象边界轮廓的部分要采用高通滤波。因为边界轮廓灰度值相差很大,呈现出高频特性。而图像内部则是灰度变化平缓,对应的应该是低频部分。通过本次课程设计,我在书本中、上课时学习的知识
本文标题:基于二阶微分的图像锐化
链接地址:https://www.777doc.com/doc-1862221 .html