道路边缘提取

2024-06-21

道路边缘提取(通用7篇)

道路边缘提取 篇1

智能车辆是一个集环境感知、规划决策、自动驾驶等多种功能于一体的综合系统。随着智能车辆控制技术的日趋成熟,决定其能否进一步应用于更加复杂、恶劣工作环境的关键是其导引技术[1]。本文采用的有线式视觉导引技术具有获取信息容量大、图像处理速度较快和方法简单实用等优点,是目前智能车辆导引技术的主流方向[2,3]。

视觉导引技术的关键是通过图像处理技术,将道路边缘特征从图像背景中分离出来,从而定位出车辆行驶的正确位置,以便对其行驶进行有效地控制。本文介绍一种基于自适应阈值分割及Hough变换的道路边缘提取方法。试验结果表明,此方法对较复杂的道路环境具有较好的适应性,能提高整个智能车辆系统运行的可靠性。

1 道路图像的边缘提取

在智能车辆运行过程中,由于摄像机安装位置距离地面较近,拍摄到的图像是近视野图像,因此,可以将图像中的道路边缘近似看成直线,这样既能保证一定的准确性,又能减少计算量。道路边缘图像的形状特征为一连续的、具有一定宽度的直线;边缘线与路面背景具有强烈的对比度,在灰度图像中表现为灰度值差别较大,路面背景有时比较杂乱[4,5]。依据道路边缘图像的特点,笔者先应用中值滤波及维纳滤波对图像进行预处理;其次,利用自适应阈值法对预处理后的图像进行分割;然后,采用数学形态学对分割后的图像去噪。

1.1 图像预处理

在实际的图像获取过程中,由于路面情况比较复杂,可能存在污迹、杂物干扰,在采样量化、传递时都会带来噪声。针对这些情况可采用维纳滤波进行图像的噪声处理,维纳滤波可实现自适应去噪,对白噪声滤波效果较好。

由于摄像机获取的道路图像对比度较低,可以使用直方图灰度变换来改善图像的对比度,图像处理中经常用到的直方图均衡化就是使输出像素灰度的概率密度均匀分布的灰度方法。Matlab的图像处理工具箱提供一个灰度变换函数imadjust来实现图像的直方图调节。Imadjust将图像的灰度值重新进行映射,使之填满整个灰度值允许的范围[0,255]。

1.2 道路边缘分割

分割采用阈值技术,用一个或几个阈值将图像的灰度直方图分类,认为图像中灰度值在同一个灰度类的像素属于同一个物体。在实际情况中,由于光照条件和路面对光的反射性能时常变化,因此,必须采用自适应阈值法[6],以适应光线动态变化,实现对道路边缘的最佳分割,本文采用迭代算法来求取最佳阈值,算法步骤如下:

步骤1 选择一个初始阈值的估计值T0:

Τ0=Ζmin+Ζmax2(1)

式中:Zmin、Zmax分别为图像的最小、最大灰度值。

步骤2 利用阈值T0将图像分割为2组,R1和R2

R1=f(x,y)|f(x,y)ΤkR2=f(x,y)|f(x,y)<Τk(2)

步骤3 计算2组的灰度均值Z1和Z2:

Ζ1=R1Ι(x,y)Ν1Ζ2=R2Ι(x,y)Ν2(3)

式中:N1、N2分别为R1和R2中的像素点个数。

步骤4 选择新的阈值Tk+1:

Τk+1=Ζ1+Ζ22(4)

步骤5 如果Tk=Tk+1,则结束,否则K=K+1,转步骤2。

1.3 基于数学形态学的图像去躁

经过阈值分割后,由于路面存在差异,还存在许多离散的小斑点,而且,道路边缘非常毛糙,影响边缘的提取。对此可采用数学形态学的“闭”运算进行处理。AB来闭合记为A·B,其定义如下:A·B=(ABB,即A先被B膨胀,再被B腐蚀。其中膨胀运算符为AB,腐蚀运算符为AΘB。经过处理后可以去除图像中的大部分噪声。

2 Hough变换直线边缘提取

在进行边缘提取之前,先将二值图像中的道路边缘和路径用边缘检测的方法检测出来。可采用数学形态学中的“腐蚀”运算来进行边缘检测,也可以利用各种边缘检测算子来检测边缘。

由于拍摄到的图像是近视野图像,因此,将图像中的道路边缘和路径可近似地视作直线,所以利用Hough变换进行道路边缘提取。Hough变换方法是利用图像全局特性而直接检测目标轮廓,其在预先知道区域形状的情况下,可以得到边界曲线,而将不连续的边缘像素点连接起来,并可以直接分割出某些已知形状的目标。其原理如下。

在参数空间中,曲线的形状取决于用于表示曲线的原始函数。常常使用直线的极坐标形式,这样可以避免直线为垂直线时带来的问题。直线的极坐标方程为

ρ=xcosθ+ysinθ(5)

上述方程中,点(x,y)被映射到空间(ρ,θ)上,如图1所示。如果直线上有n个点,那么这些点就对应参数空间(ρ,θ)上的n条正弦曲线。并且所有正弦曲线都经过(ρ,θ)上的同一个点,如果对求n点的最佳直线拟合感兴趣,可以使用图像空间到参数空间的映射方法,这种方法就是Hough变换[7,8]。Hough变换常把参数空间设计成一个累加器阵列,表示离散参数值。

依照变换方程,图像中的每一点可以表示几个参数,而参数空间的峰值就是表征一条直线的参数。Hough变换算法具体如下。

1) 适当地量化参数空间。

2) 假如参数空间的每一个单元都是2个累加器,将累加器初始化为0。

3) 对图像空间的每一个点(x,y),在其所满足的参数方程对应的累加器上加1。

4) 累加器阵列的峰值就是对应模型的参数。

Hough变换的优点是其抗噪性能比较好,并且能连接共线短直线。

3 试验结果

针对结构化道路边缘和路径的灰度图像进行了大量的试验。图2为原始图像经过预处理和自适应阈值分割后的结果。

从图2中看到,经过滤波处理后的噪声点明显减少了,有利于后续的处理;经自适应阈值分割后,道路边缘与路径明显从路面背景中清晰地分离出来,分割效果较好。为后续的Hough变换提供较为“干净”的图像数据。

图3给出了分割后经过数学形态学处理后的试验结果。从图3中可以看到,经过形态学“闭”运算的进一步去噪以及“腐蚀”运算的边缘检测,道路的边缘以及路径被有效地提取出来。图4为Hough变换直线边缘提取后的试验结果。

根据道路边缘线和路径的结构特点,利用Hough变换的算法在Matlab环境下进行直线提取。在图4中,矩形框部分为笔者获取的道路左右边缘,可看到已清晰地将边缘线和路径从图像中提取出来,结果比较理想,达到了本文研究的目标。

4 结 论

针对智能车辆中视觉导引技术里的道路边缘提取问题,笔者利用图像处理技术,实现了道路边缘线和路径标识线有效识别和提取。其中采用的最优阈值分割法,可以将道路边缘和路径标线清晰地从路面背景中分割出来,其分割效果较理想。采用的Hough变换直线提取算法,在Matlab环境下通过相关语句的编程,大量图像处理试验的结果表明,在分割后的图像中,能较好地将道路的边缘线以及路径标识线较准确地识别出来,为后续的车辆行驶路线定位和控制提供了有效的前提。该方法能够适应各种比较复杂的道路环境,且具有较强的抗干扰能力,自适应性和鲁棒性好,提高了整个智能车辆视觉感知系统的可靠性和适应性。

参考文献

[1]胡小峰,赵辉.Visual C++,Matlab图像处理与识别实用案例精选[M].北京:人民邮电出版社,2004

[2]陈超,叶庆泰.基于图像引导的自动导引小车系统设计[J].机械设计与研究,2004,20(1):65-67

[3]张海波,原魁,周庆瑞.基于路径识别的移动机器人视觉导航[J].中国图像图形学报(A辑),2004,9(7):853-857

[4]王荣本,徐友春,李庆东,等.AGVS图像识别多分支路径的研究[J].中国图像图形学报(A辑),2000,5(8):632-637

[5]钟家祯,王韧,戈素贞.自主式AGV的路径规划及导引[J].物流技术与应用,1997,2(1):14-17

[6]吴谨,李娟,刘成云,等.基于最大熵的灰度阀值选取方法[J].武汉科技大学学报:自然科学版,2004,27(1):58-60

[7]文贡坚,王润生.一种稳健的直线提取算法[J].软件学报,2001,12(11):1 660-1 666

[8]孙丰荣,刘积仁.快速霍夫变换算法[J].计算机学报,2001,24(10):1 102-1 109

一种改进的图像边缘提取算法 篇2

边缘反映了图像像素的不连续性, 边缘检测的目标就是要能够检测出局部特征变化剧烈或者不连续的像素点, 之后把这些像素点连接在一起构成物体的边界。图像的边缘包含了很多有价值的边界信息, 这些信息对人们进行图像分析与识别有着重大影响, 广泛应用于目标识别、计算机视觉、图像分割和区域匹配等领域。尤为重要的是, 边缘具有一种相对不变性, 光线变化可能会影响一个区域的外观, 但不会改变边缘。因此, 近年来, 广大学者对图像边缘检测进行了大量研究。

对数字图像检测边缘, 通常是把待处理的图像作为一个整体在空间域或者频率域进行相应处理, 常用的边缘检测算子包括Prewitt、Sobel和Robert等, 它们都是通过检测梯度的最大值来提取边缘;Laplace算子则是检测二阶导数的零交叉点来提取边界;这些算子引入了各种微分运算, 其特点是计算起来比较简单、容易实现, 但是对含有噪图像检测的边缘效果并不好, 经常会丢失一部分边缘细节并且会使噪声加强, 所以检测到的边缘并理想。近年来提出的Log和Canny等边缘检测算子, 虽然效果有所改进, 但计算量较大, 实时性差[1]。后来人们又相继将小波变换及数学形态学等理论引入了图像处理中, 开辟了边缘检测的新途径[2]。

如乔闹生等[3]结合小波变换模极大值的图像边缘检测法及改进的灰值数学形态学图像边缘检测两种方法的优点, 采用叠加运算进行图像融合最终检测到图像边缘。李杰等[4]基于数学形态学的图像边缘检测算法的研究, 提出了一种自适应边缘检测算法, 用不同方向与尺寸的结构元素提取图像边缘。刘清等[5]将量子叠加态和信息熵相结合, 构造出一种多结构的量子叠加态结构元素, 此叠加态结构元素涵盖线条的任意走向, 从而检测出完整、连续的边缘, 并在算法设计中利用图像能量熵确定各叠加态结构元素的概率。但是因为只考虑了各个分量的自身能量分布, 把各个分量之间的能量差别忽略了, 无法根据熵值来区分图像的噪声和有效信号。赵晨等[6]将经验模式分解用于边缘检测, 对传统的二维EMD方法进行了改进, 将原始图像分解为多个不同尺度的固有模态函数IMF (Intrinsic Mode Function) 分量及一个余量之和, 充分利用IMF1和IMF2分量的小尺度优势, 融合两个方向上的边缘以获取最终的边缘, 但是效果一般, 同时存在破坏了二维空间相关性的缺陷。

互信息来源于信息论, 它是由熵的概念引申而来的。互信息体现了随机变量之间相互包含的信息量及相互之间的统计依赖性。两个随机变量间的关联性越强, 其互信息就越大;反之, 互信息就越小。若两个随机变量是相互独立的, 则互信息就是最小值零[7]。

因此, 针对上述这些边缘检测方法在抑制噪声、精确定位边缘、较好地保留弱边缘及图像细节等方面的不足。本文结合BEMD分解和互信息熵及图像叠加的优势, 将互信息与边缘梯度特征有效融合, 提出了一种改进的含噪图像边缘检测算法。首先将图像用二维EMD进行分解, 利用相邻分量间的互信息熵来衡量高频部分与低频部分的关联强度。如果某个分量的互信息熵达到了之前设定好的拐点标准, 那么就把该分量作为高频与低频的分界点。采用文献[3]的方法对高频分量用小波变换模极大值的图像边缘检测法进行边缘提取, 低频部分用数学形态学方法进行边缘提取, 最后, 结合两种方法的优点, 采用叠加运算进行图像融合最终检测到图像边缘。该方法可以根据图像信息的自身特性, 将隐含在其中的各个模态依次剥离, 通过图像融合实现图像信号的滤波、消噪, 同时很好地保留边缘图像的细节特征。结果表明, 该算法结合了边缘比对方法的高效性和最大互信息方法的精确性, 在有效保留边缘的同时又较好地体现了原图像的细节特征。

2 EMD分解

经验模式分解 (Empirieal Mode Decomposition, EMD) 是N.E.Huang等人于1998年提出的一种全新的信号时频分析方法;后来的学者不断研究将一维EMD方法推广到二维领域, 即BEMD, 并发现图像能够被BEMD分解为局部窄带信号, 这种应用潜力使得BEMD逐渐应用于图像融合、边缘检测、图像滤波等方面[8,9]。

现下流行的用来对时变频率信号进行分析的小波分析等方法, 大部分都采用了积分分析的方法, 都是以傅里叶变换作为基本的理论依据, 它们的基函数都是固定的, 因此缺乏自适应性, 不能精确描述频率随时间的变化。而EMD是一种非平稳、非线性信号时频分析的新方法, 其最大突破在于不依赖基函数, 而是基于数据驱动的自适应分析方法, 它将时间序列信号分解成一组含有不同尺度的固有模态函数IMF, 不需要选择基函数, 同时具有多分辨率和自适应的特点[10]。

具体来说, EMD就是在时域的范围内把复杂信号分解成一序列的基本内蕴模式函数 (IMF) 之和。要求每个本征模态函数符合下面两个条件:

1) 整个的数据段里极值点的个数必须和过零点的个数相等, 最多只能相差一个。

2) 任何时刻, 局部的最大值与最小值点所定义的包络线平均值必须为零。

经验模式分解的基本思想就是对于给定的信号, 先求得信号的极值, 然后通过插值获取信号的包络及其平均值, 再计算原数据与均值的差, 分解得到一层信号, 直到将信号分解成有限个本征模态函数IMF和残差rn (t) 的组合, 分解过程可表示为

式中:rn为残差函数, 表示信号的平均趋势。

在式 (4) 中若忽略rn (t) , 则有

式中:不同频率分量的本征模态函数IMF和;x (t) 是原始的信号。从式 (5) 可以知道, 把噪声信号从原始信号里减去, 就可以去除噪声信号, 提取出有效信号。

对灰度图像而言, BEMD分解要首先在投影面上进行局部极大值点和极小值点的选取, 并形成其所定义的包络曲面, 得到局部均值曲面, 然后通过不断地筛选, 最终得到有限个二维固有模态分量BIMF和趋势项。

由于二维EMD具有完全由数据驱动的自适应性, 因此, 在其逐步提取图像局部高频、次高频的分解过程中, 反映了人类在区分图像不同纹理时视觉与频率的相观性。这使得BEMD在图像边缘提取时具有其独特的优势, 在准确检测出图像边缘的同时还能利用其数据驱动的自适应性有效抑制噪声, 性能上要比传统的边缘提取算法优越。而这其中能够分离有效信号与噪声的关键就是怎样选择重构分量。如果选择了太多的重构分量, 则大量噪声无法去除;反之, 如果选择过少, 又可能丢失有用的细节特征和边缘信息。对图像进行二维EMD分解得到不同分量IMF1, IMF2, …, IMFn, 分别对每个IMF求其能量

式中:。n是由BEMD分解得到的分量个数, Ei是第i段信号能量熵值, Pi是第i段信号能量值, P就是信号的总能量。各个IMF分量对应的固有能量熵如下

如果用互信息来描述BEMD分解后得到的相邻分量能量熵之间的相关性, 则可表示为

在二维EMD分解时, 图像信号从高频到低频依次分解, 则式 (4) 可以写为

式中:i=1, 2, …, k;j=k, k+1, …, n。假设高频部分和低频部分之间的相互统计是独立的, 那么由信息论可以知道:两个随机变量如果是相互独立的, 它们之间的互信息应该等于零。相邻的本征模态函数分量间的互信息值将在高频到低频之间出现由大到小再到大的过程, 在这过程中势必会出现一个转折点。利用该特点, 由互信息原则, 能够找到高频与低频之间的转折点, 从而得到如下目标函数

如果将高频分量直接舍弃, 会损失存在于其中的有用信息, 并且达不到降噪效果。因此这里采用文献[3]的方法分别对分界后的低频近似子图像fL用改进的灰值数学形态学进行边缘检测得到其边缘fLe, 对高频细节子图像fH用小波模极大值法抑止噪声进行边缘检测得到其边缘fHe。

3 图像边缘提取算法

综上所述, 基于BEMD和互信息熵的图像边缘提取的具体过程如下:

1) 用BEMD分解含噪声的源图像f (x, y) , 得出各个不同的BIMF分量;

2) 由式 (7) 和式 (8) 计算得到各个分量的能量熵;

3) 按照式 (9) 计算各分量能量熵之间的互信息;

4) 按照式 (10) 找到高频与低频之间的转折点;

5) 由步骤4) 得出转折点后, 采用文献[3]的方法分别对低频近似子图像和高频细节子图像进行边缘检测。最后将两者采用叠加运算进行图像融合即可得

4 算法验证

本文在MATLAB7.5环境下对该算法进行了验证, 如图1所示, 传统的数学形态学算法虽然被检出的边缘分辨率较高, 但对噪声抑制效果不佳;基于小波的边缘提取算法图像边缘不够连续;文献[3]结合小波变换模极大值及改进的灰值数学形态学图像边缘检测两种方法的特点, 虽然消除了大部分噪声, 但无法保留边缘细节。与文献[3]的图1e对比可知, 图1f在去除噪声的同时最大限度地保留了图像的边缘特征。

由以上分析可知, 本文结合BEMD分解和互信息熵确定高频和低频部分的分界, 充分利用BEMD的自适应多分辨特性, 与小波降噪方法相比较, 该方法不需要对基函数与分解层数进行选取, 其降噪处理的过程完全是取决于信号特征的自适应降噪。该算法结合了边缘比对方法的高效性和最大互信息方法的精确性, 在有效保留边缘的同时又较好地体现了原图像的细节特征。实验结果表明, 同传统方法相比, 这种改进的边缘检测方法在有效提取出图像边缘细节的同时抑制了噪声, 准确度较高, 细节信息保留较多, 但又不会检测出过多的边缘, 为图像后续处理提供了一个很好的基础。

摘要:针对强干扰背景下的图像在边缘提取时难以在保留边缘细节的同时抑制噪声的情况, 提出一种基于二维经验模态分解 (Bidimensional Empirical Mode Decomposition, BEMD) 和互信息 (Mutual Information, MI) 的图像边缘提取算法。首先通过BEMD对图像信息进行分解, 然后对分解得到的各阶固有模态分量求出能量和能量熵值, 并根据互信息准则, 通过依次计算相邻分量能量熵之间的互信息值来区分高频和低频信号。最后, 结合小波变换模极大值和数学形态学两种方法的优点分别对高低频信号进行边缘检测, 叠加融合得到图像边缘。结果表明, 此方法提取出的图像边缘连续完整, 并保持了边缘的细节特征。

关键词:二维经验模态分解,互信息,边缘提取

参考文献

[1]JIANG J A, CHUANG C L, LU Y L, et al.Mathematical-morphologybased edge detectors for detection of thin edges in low-contrast regions[J].IET Image Processing, 2010, 1 (3) :269-277.

[2]ZHAO Yuqian, GUI weihua, CHEN Zhencheng.Edge detection based on multi-structure elements morphology[C]//Proc.IEEE 6th World Congression Intelligent Control and Automation.Dalian:IEEE Press, 2009:9795-9798.

[3]乔闹生, 邹北骥, 邓磊, 等.一种基于图像融合的含噪图像边缘检测方法[J].光电子·激光, 2012, 11 (23) :2215-2220.

[4]李杰, 苗长云, 武志刚, 等.基于数学形态学的图像边缘检测算法的研究[J].计算机科学, 2012, 6 (39) :546-547.

[5]刘清, 曾小荟, 王忠华, 等.量子叠加态和信息熵的形态边缘提取算法[J].计算机应用研究, 2012, 6 (29) :2387-2389.

[6]赵晨, 周振国, 崔颖.基于二维EMD改进方法的图像边缘检测[J].黑龙江大学工程学报, 2012, 3 (3) :106-110.

[7]GAO C B, ZHOU J L, HU J R, et al.Edge detection of colour image based on quaternion Fractional differential[J].IET Image Processing, 2011, 5 (3) :261-272.

[8]林丽, 周霆.HHT在眼底图像边缘检测中的应用[J].通信技术, 2011, 11 (44) :71-75.

[9]NORDEN E, SHEN Z, STEVEN R, et al.The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time analysis[C]//Proc.the Royal Society of London, Series A.London:[s.n.], 1998:903-995.

一种新模板的图像边缘提取方法 篇3

1 纵向模板算法

由算法原理可以看出,本算法最为关键的就是模板的选取。现在选定一个3×3的纵向模板

G为待处理图像,当MZ3×3在G上遍历相乘时有

ΜΖ3×3G=[1-1001-1001][a11a12a13a1na21a22a23a2na31a32a33a3nam1am2am3amn]=[a11-a21a12-a22a13-a23a1n-a2na21-a31a22-a32a23-a33a2n-a3na31-a41a32-a42a33-a43a3n-a4nam-1,1-am1am-1,2-am2am-1,3-am3am-1,n-amnam1-am-1,1am2-am-1,2am3-am-1,3amn-am-1,n](2)

式(2)中“⨂”表示遍历相乘,注意到结果矩阵的第m-1行和第m行中各对应元素绝对值相等且互为相反数,这是因为m行是结果矩阵的最后一行,无法向下相减,便用向上相减替代之。因为图像中相邻元素间属性的相似性,所以这种替代是合理的。用|aij-ai+1,j|表示式(2)矩阵中的元素,其中1≤im,1≤jn。当|aij-ai+1,j|Μ时,将aij的灰度值置为1;当|aij-ai+1,j|Μ时,将aij的灰度值置为0,这样就得到了采用纵向3×3模板算法时图像G的多像素二值边缘图。所谓的纵向模板算法,是指MZ3×3在图像G上遍历矩阵相乘后,得到的是G的纵向灰度差,即相邻行之间的灰度差。式(2)中M为选取的阈值,采用类间方差最大化阈值分割算法(Otsu)得到[4,5,6,7]。

采用Matlab语言编程、选择某机场下视景图像对提出的纵向3×3模板算法进行计算机仿真实验。图1(a)为265×351的某机场原始的下视景图像,图1(b)为采用该算法对边缘提取的结果。

从仿真结果可以看出:与Prewitt算子相比,纵向模板算法对图像中背景和目标对比度较小的部分边缘提取较为完整,对于图像中的辅道边缘,算法未能完整提取。从整体效果上讲,算法对机场下视景图像边缘的提取要优于Prewitt梯度算子。

为提高边缘提取的速度,可以将模板尺寸放大,有下面的5×5纵向模板和7×7纵向模板,

采用这两个模板提取图像边缘的算法原理与MZ3×3相同。

接着使用Matlab语言编程,为便于对照,仍然选择某机场下视景图像对提出的纵向5×5模板算法和纵向7×7模板算法进行仿真实验。图2(a)为265×351的某机场原始图像,为便于对比,将纵向3×3模板算法结果置放于此,如图2(b)所示。图2(c)为采用纵向5×5模板算法对边缘提取的结果,图2(d)为采用纵向7×7模板算法对边缘提取的结果。

从仿真结果可以看出:3种模板对机场下视景图像边缘的提取均较为完整,整体效果相当,只是随着模板尺度的增加,边缘图像稍有模糊。

下面,对这3种算法边缘提取的时间开销情况予以分析。图3(a)中分别对3种纵向模板进行了10次随机的耗时量统计,如横轴所示,纵轴表示对应的开销时间。

从图3可以看出:纵向7×7模板算法耗时最少,10次耗时均值为0.53 s;纵向5×5模板算法次之,耗时均值为0.62 s;纵向3×3模板算法花费时间最长,耗时均值为1.00 s。即随着纵向模板尺度的增大,提取图像边缘的时间减小。

2 横向模板算法

横向模板算法中的“横向”,是指模板在图像上遍历矩阵相乘后,得到的是图像的横向灰度差,即相邻列之间的灰度差。

各种尺度的横向模板如下所示

在纵向模板算法中,是以模板MZ左乘图像G的,而在横向模板算法中,Mh则是右乘图像G的,

式(8)中“⨂”表示遍历相乘,注意到结果矩阵的第n-1列和第n列中的各个对应元素绝对值相等且互为相反数,这是因为第n列是结果矩阵的最后一列,无法向后相减,便用向前相减替代之。用|aij-ai,j+1|表示式(8)矩阵中的元素,其中1≤im,1≤jn-1。当|aij-ai,j+1|Μ时,将aij的灰度值置为1;当|aij-ai,j+1|Μ时,将aij的灰度值置为0,这样就得到了采用横向模板算法时图像G的多像素二值边缘图。式中阈值M的选取方法与式(2)相同。

使用Matlab语言编程,对提出的横向模板算法进行仿真实验。为便于对比,将纵向3×3模板算法结果置放于此,如图4(a)所示,图4(b)为采用横向3×3模板算法对边缘提取的结果,图4(c)为采用横向5×5模板算法对边缘提取的结果,图4(d)为采用横向7×7模板算法对边缘提取的结果。

由实验结果可以看出:横向3×3模板算法的边缘提取效果优于纵向3×3模板算法。这一点可以由位于右侧的斜向贯穿图像上下的辅道看出,纵向模板算法几乎未提取到该边缘,而横向模板算法对该边缘提取得较为完整;横向3种模板算法对机场边缘提取效果相当,均较完整地检测到了图像边缘。

下面,对这3种横向模板算法边缘提取的时间开销情况进行分析。图3(b)中分别对3种纵向模板进行了10次随机的耗时量统计,如横轴所示,纵轴表示对应的开销时间。

从该图可以看出:横向7×7模板算法耗时最少,10次耗时均值为0.48 s;横向5×5模板算法次之,耗时均值为0.59 s;横向3×3模板算法花费时间最长,耗时均值为0.89 s。整体上,横向模板算法的耗时量要小于纵向模板。这是因为该下视景机场图像265×351的尺寸格式所致,其行数少于列数,故横向时耗时少,纵向时耗时多。

由以上分析可知,无论是纵向模板算法还是横向模板算法,其对下视景机场图像边缘的提取都要优于梯度算子,从耗时角度讲,纵、横向模板算法与Prewitt梯度算子相当。因此,对纵、横向模板算法提出以下改进算法。

3 纵向和横向模板算法的改进

在前述算法中,依据梯度算子模板的思路,提出了纵向和横向模板算法的N×N,N=3,5,7模板,但注意到当采用纵向模板算法时,模板中的最后一行没有起到算法目的,只是将原像素值再次赋给了当前像素点。同理,当采用横向模板算法时,模板中的最后一列亦没有起到算法目的[8]。

针对以上算法缺点,在纵向模板算法中可以将对算法没有贡献的最后一行去掉,这时,相应模板改变为

同理,在横向模板算法中可以将对算法没有贡献的最后一列去掉,这时,相应模板改变为

对改进后算法进行仿真,结果显示,边缘提取效果与改进前几乎没有差别,所以在此不再列显边缘提取效果,但耗时情况有所改善,具体情况见图5。图5(a)是纵向模板算法改进前后的耗时情况对比,图5(b)是横向模板算法改进前后的耗时情况对比。

由图5(a)可以看出,纵向7×7模板算法耗时最少,10次耗时均值为0.50 s;纵向5×5模板算法次之,耗时均值为0.6 s;纵向3×3模板算法花费时间最长,耗时均值为0.98 s;由图5(b)可以看出,横向7×7模板算法耗时最少,10次耗时均值为0.45 s;横向5×5模板算法次之,耗时均值为0.57 s;横向3×3模板算法花费时间最长,耗时均值为0.84 s,如表1所示。

表1反映了模板算法改进前后的时间花费情况,对于纵向模板算法,改进后平均耗时减少了3.3%,横向模板算法改进后平均耗时减少了4.6%。

4 结束语

提出了一种基于新模板提取图像边缘的方法,并基于该方法的实际机理,从提取图像边缘的耗时方面进行了有益改进。从实验结果得到以下结论:(1)利用纵、横模板提取图像边缘的方法,采用Matlab语言编程对1幅265×351大小的图像进行边缘提取时,效果要优于Prewitt算法,且耗时与其相当,仅为0.48~0.53 s。(2)针对边缘提取的时间优化,对纵、横模板提取图像边缘的方法进行了改进,在保证提取图像边缘信息几乎不变的情况下,将纵、横模板提取图像边缘的时间分别减少了3.3%和4.6%。(3)提出的纵、横模板提取图像边缘的方法,具有模型简单且实时性强等特点。对于图像边缘实时提取领域的开发和研究,以及利用该算法对图像定位与匹配等领域进一步的研究,具有一定意义。

摘要:为解决拉普拉斯和梯度等类算子提取图像边缘时算法复杂、程序化实现较为困难的问题,提出了一种新的横向和纵向模板算法,通过仿真实验,获得了优于梯度算子提取图像边缘的结果。并对以上算法进行改进,在边缘图像信息衰减微小的情况下,有效地改善了图像边缘的提取时间。利用该算法,对图像定位与匹配等领域进行了进一步的研究。

关键词:图像处理,图像边缘提取,模板算法,横向模板,纵向模板

参考文献

[1]BEHZAD K P,BEHROOZ K P,AZRIEL R.Optimally i-sotropic laplacian operator[J].IEEE Transactions on Im-age Processing,1999,8(10):1467-1472.

[2]MEJJAOLI H,TRIMECHE K.On a mean value propertyassociated with the dunkl laplacian operator andapplications[J].Integral Transforms and Special Functions,2001,12(3):279-302.

[3]刘煜.飞行器下视景像预处理及实时匹配技术研究[D].西安:西北工业大学,2007.

[4]梁光明,孙即祥,马琦,等.Ostu算法在Canny算子中的应用[J].国防科技大学学报,2003,25(5):36-39.

[5]岳振军,邱望成,刘春林.一种自适应的多目标图像分割方法[J].中国图象图形学报:A辑,2004,9(6):674-678.

[6]杜健辉,吕文阁,侯梦华.基于竞选算法的Otsu阈值快速确定方法[J].机电工程技术,2007,36(3):57-58.

[7]任继军.基于灰度空间自动阈值选取的彩色舌图像分割算法[J].陕西科技大学学报:自然科学版,2005,23(2):73-77.

道路边缘提取 篇4

在岩石工程中, 对于岩石工程项目的成败, 山体灾害的精确预测起着至关重要的作用。岩石裂隙几何信息的精确测量对监测岩体结构的健康状态、避免岩体结构损坏性缺陷, 以期能更早、更高效地采取措施防患于未然, 这是当今世界的一大课题[1,2]。

岩石裂隙边缘的精确提取是后续各种裂隙测量的基础, 在对岩石裂隙类图像应用经典的canny算法提取边缘时[3,4], 发现很容易丢失岩石裂隙图像的边缘以及出现假边缘, 并有很多噪音, 很难对裂隙进行后期的宽度、面积等各种测量[5,6]。由此针对岩石裂隙类图像的复杂性及受噪声干扰相当严重等特点, 本文通过研究每一类噪声的规律和特征, 对岩石裂隙图像的不同区域像素点进行不同的滤波预处理, 利用原有的高斯滤波算法和新提出的自适应加权中值滤波算法相结合的方法, 将改进的canny算子方法应用到岩石裂隙图像处理中, 经试验证明, 改进的canny算子不仅能很好地滤除掉噪声, 并且还能很好地摒除掉背景的干扰, 清晰地提取出岩石裂隙边缘图像。

1 裂隙图像区域特征分析

岩石裂隙图像中有些区域比较平坦, 仅存在幅值较小的高斯噪声, 有些区域比较尖锐, 存在灰度突变点, 这些突变点分为脉冲噪声点和图像边缘点。一种好的滤波方法, 应该在不同的区域, 针对不同的图像特点, 采用不同的滤波方法。所以在滤波之前应当对每个像素点灰度变化的特点进行检测。

对于岩石破损类图像中的像素点, 可以大体上分为四类。一是完好的岩石成像像素点;二是成像或传输过程中产生的随机噪声中的高斯噪声;三是成像或传输过程中产生的随机噪声中的脉冲噪声;四是破损岩石的裂隙成像像素点。像素点分类判断方法如下:在以像素点x (i, j) 为中心的区域N:{x (i+m, j+n) | -LmL, -Ln< L}中, 计算区域平均灰度值M和区域灰度均方差D

若像素点x (i, j) 灰度值与M相等或相差在规定阈值t内 (算法中选定t=30) , 则属于第一类像素点。若像素点x (i, j) 灰度值与M之差大于阈值t, 但是该值平方与D接近, 则属于第二类像素点。若像素点灰度值与M之差远大于阈值t, 并且该值平方也远大于D, 则属于第三或第四类像素点。

图像中岩石裂隙像素点的灰度值特点与成像过程中产生的脉冲噪声点相似, 要与脉冲噪声点区别, 必须借助于裂隙像素点的分布特点, 用相邻像素点的特征值来区分。脉冲噪声点的分布是孤立的, 灰度值突变并且与相邻像素点无相关性。裂隙像素点的分布特点是灰度值突变并且与相邻像素点有较强相关性。分析岩石裂隙的种类, 从形状特点上可以分为三类, 即纵向裂隙、横向裂隙、 龟状裂隙。对应于这三种裂隙的特点, 构筑一个区域特征值R:

R=max|Mn-Mx|

式中Mx是像素x (i, j) 的灰度值, Mn (n=l, 2, 3, 4) 是区域内以像素点x (i, j) 为中心与水平方向分别成0°、45°、90°、135°的一维窗口的灰度均值。为避免中心像素点灰度值对这个区域特征值的干扰, 所有的一维窗口都是空心的, 即计算一维窗口的灰度均值时去除中心像素点灰度值。若去域特征值R大于规定阈值t, 则属于第三类像素点。对于第三类像素点, 根据所处区域特点不同又可分为两小类。一类是孤立脉冲噪声点, 此类噪声点的区域特征值R远大于阈值t。另一类是靠近裂隙边缘的脉冲噪声点, 此类噪声点的区域特征值R大于但是接近阈值t。若区域特征值R小于或等于阈值t, 则属于第四类像素点。阈值t的选取可以和第一次判断中的阈值t相等, 即同类像素点灰度差值控制在噪声均值之下。

2 边缘检测裂隙算法

2.1 图像自适应滤波分析

对于第一类像素点高斯滤波很好地对其进行平滑, 对于第二类像素点高斯滤波更是能很好地消除成像中的高斯噪声, 因此这两类像素点高斯滤波能很好地对裂隙图像进行预处理, 而对于第三类噪声点, 高斯滤波无法很好地滤除其中的孤立脉冲噪声, 而标准中值滤波器很好地解决了消除脉冲干扰的问题, 但也存在着对此类噪声滤除效果差, 尤其是当滤波窗口较大时 (增加滤波窗尺寸, 可以提高噪声滤除能力) 会破坏图像中的细节等缺点。因此, 对于第三类噪声点中靠近裂隙边缘的噪声, 使用标准中值滤波器会破坏一部分裂隙边缘图像。为解决滤噪和保护细节的矛盾, 研究中对标准中值滤波器进行改进, 构建了新型自适应加权中值滤波器。加权中值滤波权系数为:

式中C是常量, 用来调节d*t/R的取值范围小于l;d是点 (i, j) 到区域窗口中心的欧氏距离。将区域内像素点灰度值由小到大进行排序, 对应的各点权重值也形成了新的序列δ′ (L) 。加权中值的算法为:

式中∑δ (i, j) 是区域内所有像素的权值之和;N是中值所对应的新序列的序号, 即满足此式的δ′ (L) 对应的点的灰度值就是中值。对于孤立脉冲噪声点, 区域特征值R远大于阈值t, 加权中值滤波近似退化为标准中值滤波, 可以较好地滤除脉冲噪声。对于靠近裂隙边缘的脉冲噪声点, 区域特征值R大于阈值t, 加权中值滤波在保护细节能力和滤波效果两方面进行了自适应滤波, 随着R值增大滤噪效果明显, 而细节保护能力减弱;相反, 随着R值减小滤噪效果较差, 而细节保护能力增强, 符合了我们的滤波要求。对于第四类像素点, 由于其区域特征值R小于或等于阈值t, 区域内像素点的权重随着与中心点的距离增大而迅速减小, 在滤除噪声的同时中心点得到了较好保护。

2.2 裂隙canny算子边缘检测过程

1) 首先用上述分析的滤波算法对不同区域特征像素进行其对应的预处理。

2) 利用Sobel算子找到图像灰度的沿着2个方向的偏导数 (Gx, Gy) 并求出梯度的大小:

|G|=Gx2+Gy2

3) 计算梯度的方向:

θ=arctan (GxGy)

4) 将边缘方向大致分为水平、垂直、45°、135°。这4个方向, 通过梯度的方向, 找到这个像素梯度方向的邻接像素。

5) 遍历图像, 去除非边缘像素。若某个像素的灰度值与其梯度方向上前后2个像素的灰度值相比不是最大的, 那么这个像素值置为0, 即该像素不是边缘。

6) 第5) 步处理后的边缘像素会导致梯度幅度图像中出现脊, 使用累计直方图计算2个阈值。在第5) 步的处理结果中, 凡是大于高阈值的一定是边缘;凡是小于低阈值的一定不是边缘;如果检测结果大于低阈值但又小于高阈值, 那就要看这个像素的邻接像素中有没有超过高阈值的边缘像素:如果有的话那么它就是边缘了, 否则它就不是边缘。

3 试验结果与分析

本文以中国与瑞典合作的大型合作项目 (TRUE) 中的裂隙作为例子进行分析比较, 在Visual C++开发环境下编程实现图像处理算法, 图1和图2是原始的岩石裂隙图像, 图3和图4分别是对应原始图像的经典canny算子的处理结果, 图5和图6是本文改进的canny算子处理结果。为了便于比较, 对图1的两种处理算法设置相同的高斯函数标准差sigma=0.6和低阈值和高阈值之间的比例Rationlow=0.6, 高阈值占图像像素总数的比列RationHigh=0.9, 对图2的处理也设置相同的sigma=0.6, Rationlow=0.6, RationHigh=0.81。由于岩石裂隙噪音的复杂性以及背景的干扰, 见图3和图4, 传统的canny算子无法清晰的提取出裂隙边缘, 同时由于高斯滤波将边缘模糊化, 由此出现一些假边缘。本文的算法很好地将背景干扰及各种噪音一并滤除掉, 同时很好地提取出了裂隙边缘 (见图5和图6) 。

4 结 论

试验对比结果表明, 本文提出的根据区域特征进行滤波的canny算子处理算法可以清晰地提出岩石裂隙的边缘轮廓, 为后期的各种测量提供了高质量的裂隙图像。但本文算法所检测的结果中有少量断裂, 有待今后进一步研究和改进。

摘要:提出一种适合于岩石裂隙类边缘提取的数字图像处理算法。通过分析破损岩石裂隙图像像素点区域特征, 在经典的canny算子图像处理算法的基础上, 提出了自适应加权中值滤波并结合高斯滤波针对不同区域像素进行预处理, 算法能够根据裂隙类图像的区域特征自适应进行滤波。试验结果表明, 本算法能够提高裂隙边缘检测的准确性, 获得比较理想的边缘检测效果。

关键词:图像处理,裂隙提取,区域特征

参考文献

[1]蔡升华, 李方柱.裂隙岩体渗流破坏规律研究[J].电力勘测, 2000, 2:5-27.

[2]Johansson Maria.Digital image processing of borehole images for deter-mination of rock fracture orientation and aperture[D].Sweden:De-partment of Civil and Environmental Engineering Royal Institute ofTechnology, 1999.

[3]王植, 贺赛先.一种基于canny理论的自适应边缘检测方法[J].中国图像图形学报, 2004, 9 (8) :957-962.

[4]Helmi Z, Shafri M, Paul M M.Wavelet shrinkage in noise removal ofhyperspectral remote sensing data[J].American Journal of AppliedSciences, 2005, 2 (7) :1169-1173.

[5]王卫星, 段娇.基于数字图像处理技术的岩石节理宽度测量[J].微型机与应用, 2005, 4 (10) :51-53.

道路边缘提取 篇5

1 边缘提取

边缘提取算子有很多, 但是各有利弊。Sobel检测算子和Prewitt检测算子具有运算简单, 运算量小, 运算速度快, 易于编程实现等优点, 但是对噪声敏感且提取的边缘信息不完全, 甚至有一些边缘信息缺失, 致使提取效果不太理想;LoG提取的结果要比Sobel好一些, 但是它对噪声过于敏感并且仍然有一些边界轮廓不清晰;Canny检测算子提取效果较好, 但是它使用两个阈值分别提取强弱边缘, 使得算法复杂, 运算量较大, 有时可能会出现双边缘。

本文采用最简单的soble算子为原型进行改进, 提出了一种基于图像方向信息的动态阈值边缘检测方法。基于方向信息的动态阈值边缘提取算法的整体思路为:先求出整幅图像的梯度和角度信息, 然后将梯度和角度信息分块, 在各个子块上使用不同的阈值进行判断, 并使用8邻域搜索算法根据子块上各个象素的梯度和角度信息检测图像边缘信息, 最终将各个子块的边缘图像合成为一幅图像。本文改进算法的流程图如图1所示。

通过研究发现, 大部分的边缘检测算子都是用图像的梯度幅值来代替图像灰度值, 而忽略了图像象素的方向信息即角度信息[1], 这样对图像进行边缘提取时对图像信息考虑并不完全, 那么得到的处理结果精确度就不高。事实上, 图像的边缘总是有一定的走向, 可以用边缘曲线的法线方向 (和切线垂直的直线) 来代表边缘点的方向。所以本文在进行梯度运算时, 同时考虑梯度的幅值和方向信息。

另外, 大部分的算法在整幅图像中使用一个阈值, 然而由于各种原因 (如:受光照的影响, 使得图像中存在有模糊的边缘) 人们在实际中所获得的图像并非标准图像, 这样在图像分割时并不能兼顾各处的具体情况, 使得提取到的边缘结果中就会有部分的弱边缘象素缺失。为解决这种问题, 又不会增加算法的复杂度, 本文在算法简单的算子基础上引入了动态阈值[2]的思想, 即在一幅图像中使用多个阈值。将图像进行分块处理, 在各个子块上使用不同的阈值, 这样那些弱边缘象素就可能被提取出来。

在各个子块上使用8邻域搜索算法, 即如果某一位置上的象素是边缘象素, 那么便逐个判断与其距离最近的八个象素看他们是否也是边缘象素, 这样可以把一些较弱的边缘象素也提取出来。根据图像边缘的连续性, 如果一个象素点是边缘点, 那么与它相邻的象素点也是边缘象素。而沿任一噪声点的方向不可能找到灰度和方向信息都相差较小的边缘点。图像边缘的切线方向指出了相邻边缘点间的相对位置关系, 切线的垂直方向是图像灰度梯度方向。如果周围象素与本象素的差值较小, 并且其方向夹角小于π2, 那么则认为此象素为边缘象素。这样可以将一些弱边缘象素提取出来, 使提取出来的边缘象素信息增多, 并且使提取的边缘信息更加准确。

下面给出sobel算子、prewitt算子、canny算子的提取图如图2 (a) 、 (b) 、 (c) 所示, 经改进后的边缘提取算法的效果图如图2 (d) 所示。可以看出改进后的算法提取效果清晰, 且大部分的弱象素信息也被提取出来了。

2 帧差法[3]

帧差, 又称为时域差分 (temporal difference) 或称为帧间差分, 是检测两帧图像中是否有变化区域的最简单的方法。帧差, 就是在时间序列上对两帧或者三帧图像进行差分, 并通过阈值分割运动目标与非运动目标的方法。它对于动态环境具有较强的自适应性, 但是不能完全提取出所有相关的特征点, 在运动实体内部容易产生空洞现象。这种方法直接比较两帧图像的灰度值, 图像序列逐帧的差分, 相当于对图像序列进行了时域上的高通滤波。现给出帧间差分的定义形式如式 (1) 、式 (2) 所示:

式中:IDL是相邻帧差图, IL (x, y, i) 和IL (x, y, i-1) 分别是第i帧和第i-1帧的亮度分量, i表示帧数 (i=1, …N) , N为序列总帧数, T为阈值。

这种方法的优点是: (1) 算法实现简单, 程序设计复杂度低; (2) 对光线等场景变化不太敏感, 能够适应各种环境, 稳定性好。

其缺点是: (1) 不能提取出对象的完整区域, 只能提取出边界; (2) 依赖于选择的帧间时间间隔, 对快速运动的物体, 需要选择较小的时间间隔, 如果选择不合适, 当物体再前后两帧中没有重叠时, 会被检测为分开的两个物体;而对慢速运动物体, 应该选择较大的时间间隔, 如果此时选择不适当, 当物体在前后两帧中几乎完全重叠时, 则检测不到运动物体。

3 改进算法

传统的帧差法是将两帧图像相减, 然后通过一个阈值来获得图像中的运动物体, 这种方法简单实用。但是却存在两个问题:

(1) 在运动物体本身象素与背景灰度值相近时, 容易使运动物体部分象素丢失;

(2) 有部分光线或背景变化引起的象素灰度改变也被检测出来。

为了解决传统帧差法存在的问题, 本文采用了一种融合了边缘提取技术的运动检测方法, 这种新方法的流程图如图3所示。

帧差法对两帧图像的灰度相减处理可分为double型灰度相减和uint8型灰度相减。double型会使结果出现运动物体重叠的情况, 而uint8型会使两幅图像中的运动物体交叠部分象素缺失, 而这些交叠象素是需要提取的运动物体上的象素。在本文采取的思路中, 我们希望能尽可能多的获得运动物体的信息, 所以本文采用double型, 获得交叠的运动区域。

如果在前一帧图像中某个象素点为边缘象素, 并且在后一帧图像中也为边缘象素, 那么两者相减后的结果会使该象素丢失, 故本文在进行阈值确定以后, 对这种情况做了处理, 将这些象素点也提取出来。

从帧差法得到的结果图可看出图中有一些空洞, 这些空洞是两幅图像的边缘重叠点, 这些重叠点也是运动目标上的象素, 为提取出这些重叠点我们进行了膨胀[4]处理。然后采用上述改进的边缘提取算法, 将当前帧图像的边缘提取出来, 然后将膨胀后的结果与当前帧图像的边缘进行与运算, 便得到了运动目标的完整轮廓。最后将两帧图像进行帧差法得到的结果与运动目标的完整轮廓进行或运算便得到运动物体。

4 试验分析

利用MATLAB仿真软件进行仿真, 使用传统帧差法获得仿真效果如图4所示, 本文所提出的运动检测新算法进行仿真得到仿真结果如图5所示。

由图5中可以看出得到了比较完整的运动物体轮廓图, 从轮廓图可以使人清晰的辨别出运动物体的属性。但是此算法为了获取尽量多的信息, 不可避免的引入了大量的噪声信息, 所以在去除多余噪声方面还有待于进一步的改进。

参考文献

[1]孙瑾, 顾宏斌, 郑吉平.一种基于梯度方向信息的运动目标检测方法[J], 中国图像图形学报, 2008, 3 (3) :571-579

[2]万力, 易昂, 傅明.一种基于Canny算法的边缘提取改善方法[J], 计算技术与自动化, 2003, 3 (22) :24-26

[3] Zarka Niza, Alhalah Ziad, Deeb Rada.Real-time human motion detection and tracking 2008 3rd International Conference on Information and Communication Technologies:From Theory to Application, ICTTA, 2008:4530098

道路边缘提取 篇6

奶牛的现代育种技术主要是根据奶牛的性能和体型两项指标进行评定。奶牛体型外貌评定是奶牛优化育种工作的一项重要内容[1],而奶牛数字图像边缘提取是奶牛体型线性评定的前提,是最难也最迫切解决的问题之一。

图像最基本的特征是边缘。边缘是图像性区域和另一个属性区域的交接处,是区域属性发生突变的地方,也是图像中不确定性最大的地方和图像信息最集中的地方,图像的边缘包含着丰富的信息。从图像中准确地获取边缘信息是奶牛体型线性评定的基础。

边缘提取技术是图像处理和计算机视觉等领域最基本的技术。如何快速、精确地提取图像边缘信息是国内外研究的热点。然而,边缘检测又是图像处理中的一个难题。 经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。常用的边缘检测方法有Sobel算子、Roberts算子、Prewitt算子、LOG算子和Canny算子等,这也是本文讨论的重点。

1 边缘检测算子

1.1 Sobel算子

Sobel算子的基本思想是在一像素点的4邻域先求加权平均,对噪声进行平滑处理,然后再通过微分求梯度,接近模板中心的梯度幅值较大。适当选取一定的阈值τ来取舍,如果取得的gr >τ,则认为点(i,j)是边缘点,从而得到图像中的边缘。其计算式为[2]

G(x,y)=|△xf|+|△yf|=

|f(x-1,y+1)+2f(x,y+1)+f(x+1,y+1)-

f(x-1,y+1)-2f(x,y-1)-f(x+1,y+1)|+

|f(x-1,y-1)+2f(x-1,y)+f(x-1,y+1)-

f(x+1,y-1)-2f(x+1,y)-f(x+1,y+1)|

Sobel 算子的两个卷积计算核如图1所示。图像中的每个点都用这两个核作卷积,第1个核对通常的垂直边缘响应最大,第2个核对水平边缘响应最大。两个卷积的最大值作为该点的输出值,运算结果是一幅边缘幅度图像。Sobel 算子对灰度渐变和噪声较多的图像处理得较好。

Sobel 边缘检测算子也检测出了一些伪边缘,使得边缘比较粗糙,降低了检测定位精度。在检测定位精度要求不是很高的情况下,Sobel 算子是比较常用的边缘检测算子。

1.2 Roberts算子

Roberts算子是一种利用局部差分算子寻找边缘的算子[3,4,5],其模板如图2所示。Roberts 算子对具有陡峭的低噪声图像效果较好。

根据任一相互相垂直方向在差分都可用来估计梯度 ,Robert 算子采用对角方向相邻两像素之差 ,即

xf=f(x,y)-f(x-1,y-1)

yf=f(x,y)-f(x-1,y-1)

幅值G(x,y)=xf2+yf2

Robert梯度以{x-1/2,y-1/2}为中心,度量了{x-1/2,y-1/2}点处45°和135°方向(相互正交)的灰度变化。适当取门极T,做如下判断:若G(x,y)>T,则(x,y)为阶跃状边缘点。因此,Robert边缘检测算子相当于用模版对图像进行卷积。

1.3 Prewitt算子

Prewitt 边缘算子是一种边缘样板算子[6,7],利用像素点上下左右邻点的灰度差,在边缘处达到极值来检测边缘。其基本思想与Sobel 算子类似,先求邻域平均,对噪声进行平滑处理,然后求梯度。计算式为

G(x,y)=|△xf|+|△yf|=

|f(x-1,y+1)+f(x,y+1)+f(x+1,y+1)-

f(x-1,y+1)-f(x,y-1)-f(x+1,y-1)|+

|f(x-1,y-1)+f(x-1,y)+f(x-1,y+1)-

f(x+1,y-1)-f(x+1,y)-f(x+1,y+1)|

其水平方向和垂直方向上的算子模板为

[-101-101-101][-1-1-1000111]

Prewitt 算子的两个卷积计算核如图3所示。图像中的每个点都用这两个核作卷积,取最大值作为输出。Prewitt 算子对灰度渐变和噪声较多的图像处理得较好。

1.4 拉普拉斯-高斯算子法

拉普拉斯-高斯算子法(Laplacian of Gaussian算子,通常缩写成为LOG算子)是一种二阶微分算子。LOG算子是一个线性的、移不变的算子,它通过寻找图像灰度值中二阶微分过0点来检测边缘点。其原理为:灰度级变形成的边缘经过微分算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对应于二阶微分中的过0点,通过检测过0点即可将图像的边缘提取出来。对一个连续函数f (x,y),其在(x ,y)处的LOG 算子定义为

2f=2fx2+2fy2

拉普拉斯算子卷积核如图4所示,它是一个二阶算子 ,将在边缘处产生一个陡峭的0交叉。LOG算子先用高斯低通滤波器将图像进行预先平滑;然后,用拉普拉斯算子找到图中的陡峭边缘;最后,用0灰度值进行二值化,产生闭合的、联通的轮廓,消除了所有内部点。

拉普拉斯-高斯模版有个基本要求,即模版中心的系数为正,其余相邻系数为负,所有系数的和为0。

1.5 Canny算法

Canny是通过寻找图像梯度的局部极大值,用高斯一阶微分来计算梯度[8,9,10]。算法中通过双阈值法来检测强边缘和弱边缘。当弱边缘与强边缘连接成轮廓边缘才输出,所以Canny算法不容易受噪声影响,能够在噪声和边缘检测间取得较好的平衡[5]。取高斯函数为Μ(x,y)=12πσ2e-x2+y22σ2,某一方向上一阶方向导数为Μ(x,y)n=Μ(x,y)n=n*Μ(x,y),将f(x,y)与M(x,y)n进行卷积,改变n的方向,使(x,y)* M(x,y)n 取最大值的方向就是梯度方向。

梯度矢量的模为M=|M(x,y)n*f(x,y)|,梯度矢量的方向为A=Μ(x,y)n*f(x,y)|Μ(x,y)n*f(x,y)|

利用Canny算子检测图像边缘的关键,是选取适当的Gauss滤波器邻域大小和适当的阈值。Gauss 滤波器邻域大小决定着对噪声的抑制效果,直接影响最终图像边缘检测的效果。增大滤波器邻域大小可以获得较好的噪声抑制效果,但由于大量卷积运算而引起了巨大的计算量,同时固定大小的 Gauss 滤波器无法满足检测具有不同尺度大小的边缘结构的要求 ,权衡其折中综合效果是比较困难的。

2 各种边缘检测算子的效果比较

首先,读取RGB奶牛数字图像,将RGB图像转换成灰度图像,如图5所示。

然后,对奶牛数字图像进行灰度直方图均衡化。这样可使原图像灰度集中的区域拉开,使灰度分布均匀,从而增强图像整体对比度,使图像的细节清晰。原图和直方图均衡化后的直方图如图6所示,均衡化的奶牛图像如图7所示。

再对奶牛数字图像进行中值滤波。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,其基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点,如图7所示。

分别采用Sobel算子、Roberts算子、Prewitt算子、LOG算子和Canny算子对奶牛数字图像边缘进行提取,如图8~图12所示。

由图8~图12分析可知[11]:

1)Sobel算子对灰度渐变的图像处理效果较好,而且对噪声具有平滑作用,但存在伪边缘,边缘不连续,边缘定位不准确,对变化不大的部位处理效果差。图8中,奶牛牛尾的下半部分和奶牛的左后腿边缘信息没有提取出来,而且奶牛数字图像背景提取很差。

2)Roberts算子定位精度比Sobel算子要高,对具有陡峭的低噪声的图像效果较好,但检测出的边缘比较粗,因此边缘定位不是很准确。图9中,奶牛牛尾的下半部分和奶牛的左后腿边缘信息也没有很好地提取出来,奶牛数字图像背景提取也很差。

3)Prewitt算子对灰度渐变的图像处理效果较好,对噪声有平滑作用,但是提取的图像边缘的间断点较多,定位精度较低,因此与图8和图9相比,图10也存在一样的缺点,但是Prewitt边缘提取整体效果比图8和图9要好一些。

4)LOG算子首先用高斯函数进行滤波, 然后使用Laplacian算子检测边缘,克服了Laplacian算子抗噪声能力比较差的缺点。与图8、图9和图10相比,图11克服了奶牛牛尾的下半部分和奶牛的左后腿边缘信息没有很好地提取出来的缺点,而且奶牛数字图像的背景提取也比较精确。

5)Canny算子采用高斯函数对图像进行平滑处理,同时采用了双阈值算法检测和连接边缘,因此具有较强的噪声抑制能力,不容易受噪声的干扰,能够检测到真正的弱边缘。边缘的连续性较好,但是该算子也将一些高频边缘平滑掉,造成边缘丢失。与前几种算法相比,图12提取奶牛边缘线型连接程度较好,边缘提取的也较完整。

3 结论

本文采用Sobel算子、Roberts算子、Prewitt算子、LOG算子和Canny算子对奶牛数字图像边缘进行提取,并对这几种方法的结果进行分析与比较。从图8~图12中的各个算子的检测效果来看,Roberts梯度算子、Sobel梯度算子和Prewitt梯度算子的边缘检测速度快,但得到的往往是断续的、不完整的结构信息,这类检测方法对噪声较为敏感。LOG算子和Canny算子对图像边缘的提取优于以上3种方法,能够有效抑制噪声,比较完整地显示奶牛图像的整个边缘,这为奶牛体型线性评定提供了一个很好的基础。

在实际场合中获取的奶牛图像数据往往容易被噪声污染,而实际所需的边缘检测方法要求既能检测到边缘的精确位置,又可以抑制无关细节和噪声,但是大部分传统的边缘检测的方法通常只局限于检测单一类型的边缘,不能完全满足奶牛线性评定的需要。因此,下一步应该对现有的方法进行改进,以得到满意的边缘检测结果,这是目前图像处理中研究的热点之一。

参考文献

[1]王文娣,钱东平,杨世风.基于图像处理的奶牛体型评分系统研究[J].河北农业大学学报,2004,27(5):100-103.

[2]陈天华.数字图像处理[M].北京:清华大学出版社,2007.

[3]CANNY J.A computational approach to edge detection[J].IEEE Trans on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.

[4]郝文化.Matlab图像图形处理应用教程[M].北京:中国水利水电出版社,2003.

[5]余成波.数字图像处理及Matlab实现[M].重庆:重庆大学出版社,2003.

[6]J Prewitt Object enhancement and extraction[J].PictureProcess,1970(3):75-149.

[7]周晓明,马秋禾,肖蓉,等.一种改进Canny算子边缘检测算法[J].测绘工程,2008,17(2):28-31.

[8]章毓晋.图像处理和分析[M].北京:清华大学出版社,1999.

[9]王郑耀.数字图像的边缘检测[D].西安:西安交通大学,2003.

[10]雷丽珍.数字图像边缘检测方法的探讨[J].测绘通报,2006(3):40-42.

道路边缘提取 篇7

图像边缘是图像最基本的特征之一,边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。而边缘提取算法则是图像边缘检测问题中经典技术难题之一。

边缘检测主要采用各种算法来发现、强化图像中那些可能存在边缘的像素点。提取边缘能大大地减少所要处理的信息量但是又保留了图像中物体的形状信息。常用的图像边缘检测算子有:Rober算子、Sobels算子、Prewitt算子、Log算子,Canny算子等。本文主要通过对Canny和Log算子的分析以及通过Matlab编程仿真实验对比,得出两种算子的适用范围,并为实际采用合适的图像边缘检测技术提供参考。

1 Canny算子和Log算子

1.1 Canny算子

Canny算子算法是一阶微分算子,是能滤去噪声且保持边缘特性的边缘检测的一阶微分算法中的最佳算子。检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点。图像边缘检测必须满足两个条件:一是必须能有效地抑制噪声;二是必须尽量精确确定边缘的位置。既要提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感。

1.1.1 Canny边缘检测基本原理:

具有既能滤去噪声又保持边缘特性的边缘检测最优滤波器,其采用一阶微分滤波器。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。

1.1.2 Canny算子实现的方式为:

step1:首先用高斯滤波器平滑图像;

在某一方向n上是G(x,y)的一阶方向导数为:

将图像f(x,y)与Gn作卷积,同时改变n的方向,Gn*f(x,y)取得最大值时的n就是正交于检测边缘的方向。

然后用一阶偏导的有限差分来计算梯度的幅值和方向;

A(x,y)反映了图像(x,y)点处的边缘强度,θ是图像(x,y)点处的法向矢量。

再对梯度幅值进行非极大值抑制;

仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。

解决方法:利用梯度的方向。

四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心像素M与沿着梯度线的两个像素相比。如果M的梯度值不比沿梯度线的两个相邻像素梯度值大,则令M=0。最后用双阈值算法检测和连接边缘。

1.2 Log算子

高斯-拉普拉斯算子算法是二阶微分算子,对边缘的检测技术采取的是二阶导数的零交叉点来检测边缘点的算法。

该算子是一个与方向无关的各向同性(旋转轴对称)边缘检测算子。若只关心边缘点的位置而不顾其周围的实际灰度差时,一般选择该算子进行检测。

该算子通常有下列计算公式表示:塄2f(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)

式中塄2f(x,y)表示数字图像中每个像素关于x轴和y轴的二阶偏导数之和,即处理后像素(x,y)处的灰度值,f(x,y)是具有整数像素坐标的输入图像。

由于拉普拉斯算子为二阶差分,其方向信息丢失,常产生双像素,对噪声有双倍加强作用,因此它很少直接用于边缘检测。

鉴于此,Marr等人将高斯滤波和拉普拉斯边缘检测结合在一起,形成了Log算子,即高斯-拉普拉斯算子。该算子先用高斯算子对图像进行平滑,然后采用拉普拉斯算子根据二阶微分过零点来检测图像边缘。

高斯-拉普拉斯算子通常具有如下形式:

式中,σ是方差,r是离原点的径向距离,即r2=x2+y2,x、y为图像的横坐标和纵坐标。高斯拉普拉斯算子是两种算子的结合,既具备高斯算子的平滑特点又具备拉普拉斯算子锐化特点。因为图像中包含噪声,平滑和积分可以滤掉这些噪声,消除噪声后再进行边缘检测(锐化和微分)会得到较好的效果。

2 Matlab仿真实验结果及分析

用Matlab的边缘检测函数edge,对选取的图像分别作Canny和Log边缘检测。Matlab边缘检测函数的标准格式为edge(文件名,算子名,阈值,滤波器),不考虑滤波器的格式为edge(文件名,算子名,阈值),其检测程序如下:

I=imread('D:MATLAB7coins.png');%为读入指定路径的文件名为coins.png图像,

imshow(I);

title('原始图像');

BW1=edge(I,'Canny',阈值);%edge调用Canny为检测算子判别阈值为XXX

BW2=edge(I,'Log',阈值);%edge调用Log为检测算子判别阈值为XXX

figure,imshow(BW1);%显示Canny检测结果。

title('阈值为XXX的Canny算子边缘检测图像');%显示Canny检测结果标题。

figure,imshow(BW2);%显示Log检测结果。

title('阈值为XXX的LOG算子边缘检测图像');%显示Log检测结果标题。

本实验针对同一图像的不同算子进行不同阈值的规定,并分别对设定不同阈值的图像进行边缘检测,并进行仿真分析。

Canny算法提取图像的结果分析:如图2所示采用的阈值越大则图像的边缘处理效果越清晰,且边缘条理显著。但是当阈值超过0.5时图像边缘的有效信息将丢失,但是图像的边缘更加明显判断;而采用的阈值越小则图像的边缘处理效果越模糊不清,且边缘分界点无法判断,变得模糊不清。且当阈值小于0.0002时图像边缘的边缘有效信息部分丢失,边缘点的判断模糊,虽仍然能够识别它的边界线,但清晰边界点已无法识别判断图像的边缘点准确性。

高斯-拉普拉斯算法提取图像的结果分析:如图2所示采用的阈值越大则图像的边缘处理效果越模糊不清,且边缘点条理无法判断。当阈值超过0.01时图像边缘的有效信息已经完全丢失;采用的阈值越小则图像的边缘处理效果越清晰,且边缘点条理显著。但是当阈值小于0.0001时图像边缘的处理效果越模糊。

3 结束语

仿真实验表明,利用Matlab进行算法测试,结果准确,设计方法简单,开发周期短,界面友好,方便灵活,效率较高,功能扩展步骤简洁,有利于数字图像处理方面的研究。

参考文献

[1]贾永红.数字图像处理.武汉:武汉大学出版社,2003.

[2]雷丽珍.数字图像边缘检测方法的探讨[J].测绘通报,2006,3:40-42.

[3]何斌.数字图像处理[M].北京:人民邮电出版社,2001.

[4]付红伟.医学图像的计算机处理[J].软件导刊,2011,1:172-174.

【道路边缘提取】推荐阅读:

边缘算法05-16

边缘特征05-30

边缘人05-30

边缘区域06-26

边缘地区07-24

边缘检测07-25

边缘融合09-05

边缘经济09-09

边缘性05-13

边缘智能网络05-21

上一篇:RFID中间件下一篇:日常应用文写作