基于matlab的图像边缘检测算法研究(4)

2019-04-16 20:20

基于matlab的图像边缘检测算法研究

G(x,y)?1?22?exp?(x?y)? ?222???2???1(2-16)

其中,G(x,y)是一个圆对称函数,其平滑的作用是可通过?来控制的。将图像

G(x,y)与f(x,y)进行卷积,可以得到一个平滑的图像,即

g(x,y)?f(x,y)?G(x,y) (2-17)

(2)增强:对平滑图像g(x,y)进行拉普拉斯运算,即

h(x,y)??2?f(x,y)?G(x,y)?

(2-18)

(3)检测:边缘检测判据是二阶导数的零交叉点(即h(x,y)?0的点)并对应一阶导数的较大峰值。

由于对平滑图像g(x,y)进行拉普拉斯运算可等效为G(x,y)的拉普拉斯运算与

f(x,y)的卷积,故上式变为:

h(x,y)?f(x,y)??2G(x,y)

式中?2G(x,y)称为LOG滤波器,其可写为:

(2-19)

?2G?2G1?x2?y2??122??G(x,y)=2+2=4??1exp?x?y????? 2?x?y???2?22????2(2-20)

第 10 页 共 22页

2013届毕业设计(论文)

第3章 Canny边缘检测算法的改进与研究

§3.1 Canny边缘检测算法

根据边缘检测的有效性和定位的可靠性,Canny研究了最优边缘检测器所需的特性,推导出最优边缘检测器的数学表达式。对于各种类型的边缘,Canny边缘检测算子的最优形式是不同的。

§3.1.1 Canny边缘检测基本原理

Canny给出了评价边缘检测性能优劣的三个指标

[10-14]

(1)好的信噪比,即将非边缘点判为边缘点的概率要低,边缘的漏检率要低;即,使输出的信噪比最大,定义信噪比SNR为:

SNR=|??W?wG(?x)h(x)dx|???w (3-1)

?wh2(x)dx其中G(x)代表边缘函数,h(x)代表宽度为W的滤波器的脉冲响应,?代表高斯噪声的均方差。信噪比越大,边缘检测效果越好。

(2)好的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;

Localization?|??W?wG'(?x)h'(x)dx|?Localization越大表明定位精度越高。

??w (3-2)

?wh'2(x)dx(3)对单一边缘仅有唯一响应,即单个边缘产生多个响应的概率要低,并且虚假边缘响应应得到最大抑制。为了保证单边缘只有一个响应,检测算子的脉冲响应导数的零交叉点平均距离D(f')应满足:

???h'2(x)dx????D(f')?????? ?w''h(x)dx?????w?1/2(3-3)

以上述指标为基础,利用泛函数求导的方法可导出Canny边缘检测器是信噪比和定位之乘积的最优逼近算子。将以上三个指标结合可获得最优的检测算子。

第 11 页 共 22页

基于matlab的图像边缘检测算法研究

§3.1.2 Canny算法边缘检测步骤 Canny算法边缘检测步骤[5][14]如下:

(1)用高斯滤波器平滑图像;

(2)用一阶偏导有限差分计算梯度幅值和方向; (3)对梯度幅值应用非极大值抑制; (4)用双阈值算法检测和连接边缘。 §3.1.3 Canny算法的流程图

Canny算法的流程图[15]如图3.1所示:

输 入 图 像 输出边缘 图像 高斯平滑 梯度计算 非极大值抑制 双门限检测 图3.1 Canny算法的流程图

(1)高斯平滑滤波器

高斯平滑滤波器是一种线性滤波模板,模板各位置的权重是根据高斯分布函数确定的,由于高斯平滑滤波器的二维可分性(轴与轴方向进行高斯滤波互不干扰)。我们可以用两个一维高斯滤波器的连续卷积来实现一个二维高斯滤波器:

① 对图像使用一维高斯卷积模板,在一个方向上进行滤波(例如水平方向); ② 转置图像;

③ 对转置以后的图像使用同一个高斯卷积模板,在垂直方向进行滤波; ④ 将图像转置回原来位置,这样就得到经过二维滤波的图像。 (2)使用一阶有限差分计算偏导数的两个阵列P与Q:

P[y,x]?(S[y,x?1]?S[y,x]?S[y?1,x?1]?S[y?1,x])/2 Q[y,x]?(S[y?1,x]?S[y,x]?S[y?1,x?1]?S[y,x?1])/2

(3-4) (3-5)

幅值和方位角:

第 12 页 共 22页

M?y,x??P[y,x]2?Q[y,x]2 (3-6) (3-7)

?[y,x]?arctan(Q[y,x]/P[y,x])

2013届毕业设计(论文)

(3)非极大值抑制(NMS non-maxima suppression)

细化幅值图像中的屋脊带,即只保留幅值局部变化最大的点。仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值,解决方法是利用梯度的方向。

将梯度角的变化范围减小到圆周的四个扇区之一,方向角的规范化,如图3.2所示

2(90)3(135?)1(45?)0(180)

0(0?)

1(225)

2(270)3(315)

图3.2 方向角的规范化

四个扇区的标号为0到3,对应3?3邻域的四种可能组合。在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。这一过程可以把M宽屋脊带细化成只有一个像素点宽。在非极大值抑制过程中,保留了屋脊的高度值。

(4)取阈值

一般而言,边缘信号的响应是比较少的,且是比较大的值,而噪声的响应是很多的但是值相对较小,那么阈值就可以通过滤波后的图像的统计累积直方图得到。对非极大值抑制幅值进行阈值化的结果是一个图像的边缘阵列。阈值化后得到的边缘阵列仍然有假边缘存在,原因是阈值太低(假正确),以及阴影的存在,使得边缘对比度减弱,或阈值取得太高而导致部分轮廓丢失(假错误)。选择合适的阈值是困难的,需要经过反复试验,为了解决这个问题,Canny提出了一种双阈值方法,首先利用累计统计直方图得到一个高阈值t1,然后再取一个低阈值t2。如果图像信号的响应大于高阈值,那么它一定是边缘;如果低于低阈值,那么它一定不是边缘;如果在低阈值和高阈值之间,我们就看它的8个邻接像素有没有大于高阈值的边缘,如果有,那么它是边缘,否则它不是边缘。在使用Canny算法检测边缘时,高斯滤波器的标准差设为1,强边缘像素点占总像素和的0.3,高低阈值的比例为0.4[16]。

第 13 页 共 22页

基于matlab的图像边缘检测算法研究

§3.1.3 传统Canny算法的实验与分析

通过传统的Canny算法边缘检测结果如图3.3所示:

(a) (b) (c)

图3.3 传统的Canny算法边缘检测结果,其中(a)Lena的原图,(b)Canny算法边缘检测结果,(c)被20%的椒盐噪声污染后,Canny算法边缘检测结果

图3.3所示“Lena的原图”清晰度一般,行数和列数均是256,通过多种滤波器检测,可知该图已被多种噪声污染(即,包含高斯噪声、椒盐噪声、周期噪声等等[4]),而Canny算法所采用的是高斯平滑滤波器。由图3.3(c)边缘检测结果显示,高斯平滑滤波器对椒盐噪声滤波效果很差,从而导致边缘检测出现极多的假边缘,而图3.3(b)未被人工干预的椒盐噪声污染,检测效果相对而言少去了椒盐噪声产生的假边缘,从而说明了边缘检测中对噪声滤波的重要性。在另一方面,通过传统的Canny算法边缘检测,对应Canny给出的评价边缘检测性能优劣的三个指标,图3.3(b)中的效果反应了传统的Canny算法不能给出满意的结果,而这一方面源于高斯平滑滤波器的滤波效果,另一方面则是阈值的选取,在Canny算法中基于直方图人工选取阈值可以得到不错的边缘检测效果,但会付出相当的时间和人力代价。

§3.2 基于Canny算法的改进与研究

§3.2.1 自适应中值滤波器

自适应中值滤波器[4]可以根据被滤波区域的图像特性来改进结果,设Sxy表示一个被处理的、中心在(x,y)处的子图像,在Gonzalez and Woods[2002]中详细说明的算法如下所示:

令Zmin表示Sxy中的最小亮度值,Zmax表示Sxy中的最大亮度值,Zmed表示Sxy中的亮度中值,Zxy表示坐标(x,y)处的亮度值。

这个自适应中值滤波算法工作在两个层面,表示为levelA和levelB:

第 14 页 共 22页


基于matlab的图像边缘检测算法研究(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:细胞中的元素和化合物教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: