一种基于图像局部区域的亚像素边缘检测方法与流程

文档序号:17609029发布日期:2019-05-07 20:56阅读:278来源:国知局
一种基于图像局部区域的亚像素边缘检测方法与流程

本发明涉及图像处理技术领域,特别是涉及一种基于图像局部区域的亚像素边缘检测方法。



背景技术:

随着机器视觉的发展,配有ccd摄像机的视觉系统被广泛应用于手机镜片丝印等领域。这些领域中绝大多数都需要分析图像中的边缘来获得位置信息,而亚像素级边缘检测能在相对低的硬件配置下获得比像素级更多的边缘信息。目前,亚像素边缘检测算法主要可以分为三类,即插值法、曲线拟合法和基于钜的边缘检测法。但是,在高噪声、边缘难辨、低对比度的情况下,目前还不能实现图像边缘的准确提取。

因此,如何在高噪声、边缘难辨、低对比度的情况下,实现图像边缘的准确提取,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种基于图像局部区域的亚像素边缘检测方法,可以在高噪声、边缘难辨、低对比度的情况下,实现图像边缘的准确提取。

为解决上述技术问题,本发明提供了如下技术方案:

一种基于图像局部区域的亚像素边缘检测方法,包括:

通过预设的边缘检测算法提取目标图像的像素级边缘;

根据所述像素级边缘选取对应的线条拟合边缘;

通过以像素点为中心的5×3区域计算亚像素级边缘点的位置及方向。

优选地,所述通过预设的边缘检测算法提取目标图像的像素级边缘,包括:建立坐标系,并通过canny边缘检测算法提取目标图像的像素级边缘,获取像素级边缘点的信息。

优选地,所述根据所述像素级边缘选取对应的线条拟合边缘,包括:

当所述像素级边缘为一条直线时,选取直线拟合边缘;

当所述像素级边缘不是直线时,选取曲线拟合边缘。

优选地,所述通过以像素点为中心的5×3区域计算亚像素级边缘点的位置及方向,包括:

当所述像素级边缘为一条直线时,通过方程y=a+bx表示该边缘,并将所述坐标系设置在像素点p(i,j)的中心,其中,该直线将边缘局部区域划分为灰度值分别为a和b的两块区域;

计算所述像素点p(i,j)的灰度值;

以所述像素点p(i,j)为中心的5×3区域内,分别计算左、中、右三列区域的像素值之和,并计算左、中、右三列区域中位于像素级边缘线下的面积;

根据左、中、右三列区域的像素值之和以及左、中、右三列区域中位于像素级边缘线下的面积分别计算a、b、像素值a、像素值b,其中像素值a和像素值b采用5×3区域内对角的三个像素点的平均值作为像素值,并根据a、b、像素值a、像素值b,计算所述亚像素级边缘点的位置及方向。

优选地,所述计算所述像素点p(i,j)的灰度值,为:

假设数字图像f除边缘区域外是一个连续函数f(x,y),同时也假设在图像边缘处是不连续的,如果图像边缘在像素点(i,j)处不连续,可得像素点(i,j)的灰度值为:

其中a和b是边缘像素点两侧的灰度值,sa和sb分别是其对应的面积,h是像素边缘的长度,所以满足h2=sa+sb;

根据上述假设,计算出边缘像素点p(i,j)的灰度值为:

其中,pi,j是像素点内位于边缘线以下的的面积(0≤pi,j≤h2)。

优选地,所述以所述像素点p(i,j)为中心的5×3区域内,分别计算左、中、右三列区域的像素值之和,并计算左、中、右三列区域中位于像素级边缘线下的面积,包括:

以所述像素点p(i,j)为中心的5×3区域内,分别以sl,sm以及sr表示左、中、右三列的像素值之和,分别为:

其中,l、m和r分别代表左、中、右三列区域每一列位于边缘线下的面积;

左、中、右三列区域中位于像素级边缘线下的面积为:

优选地,所述根据左、中、右三列区域的像素值之和以及左、中、右三列区域中位于像素级边缘线下的面积分别计算a、b、像素值a、像素值b,其中像素值a和像素值b采用5×3区域内对角的三个像素点的平均值作为像素值,并根据a、b、像素值a、像素值b,计算所述亚像素级边缘点的位置及方向,包括:

根据左、中、右三列区域的像素值之和以及左、中、右三列区域中位于像素级边缘线下的面积分别计算a、b:

其中,像素值a和像素值b采用5×3区域内对角的三个像素点的平均值作为像素值:

标记像素中心点到边缘的垂直距离,则亚像素边缘经过点(0,a),则边缘点的方向为:

优选地,所述通过以像素点为中心的5×3区域计算亚像素级边缘点的位置及方向,包括:

当所述像素级边缘不为直线时,通过二次曲线方程y=a+bx+cx2来近似表示该边缘,取像素点为中心的5×3区域;

以l、m和r分别代表左、中、右三列区域每一列位于边缘线下的面积;

计算参数a、b、c,并根据参数a、b、c计算边缘曲线,获取亚像素边缘位置,并计算在x=0处的曲率。

优选地,所述以l、m和r分别代表左、中、右三列区域每一列位于边缘线下的面积,具体为:

优选地,所述计算参数a、b、c,并根据参数a、b、c计算边缘曲线,获取亚像素边缘位置,并计算在x=0处的曲率,包括:

根据l、m和r计算得参数a、b、c为:

根据参数a、b、c求得边缘曲线,得到亚像素边缘位置,并在x=0处的曲率为:

与现有技术相比,上述技术方案具有以下优点:

本发明实施例所提供的一种基于图像局部区域的亚像素边缘检测方法,包括:通过预设的边缘检测算法提取目标图像的像素级边缘;根据像素级边缘选取对应的线条拟合边缘;通过以像素点为中心的5×3区域计算亚像素级边缘点的位置及方向。通过对提取的像素级边缘进行线条拟合,并以像素点为中心的5×3区域计算亚像素级边缘点的位置及方向,尤其是采用5×3区域进行计算,能够有效利用局部区域的像素值变化趋势拟合出实际边缘点,实现了在高噪声、边缘难辨、低对比度的情况下,对图像边缘的准确提取。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种具体实施方式所提供的基于图像局部区域的亚像素边缘检测方法流程图;

图2为本发明一种具体实施方式所提供的局部像素点灰度值示意图;

图3为本发明一种具体实施方式所提供的图像边缘为一条直线时的边缘示意图;

图4为本发明一种具体实施方式所提供的图像边缘为一条直线时的像素边缘灰度示意图;

图5为本发明一种具体实施方式所提供的图像边缘为一条直线时的以像素点p(i,j)为中心的5×3区域示意图;

图6为本发明一种具体实施方式所提供的图像边缘为一条直线时的边缘点方向示意图;

图7为本发明一种具体实施方式所提供的图像边缘为非直线时的以像素点p(i,j)为中心的5×3区域示意图。

具体实施方式

本发明的核心是提供基于图像局部区域的亚像素边缘检测方法,可以在高噪声、边缘难辨、低对比度的情况下,实现图像边缘的准确提取。

为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。

请参考图1,图1为本发明一种具体实施方式所提供的基于图像局部区域的亚像素边缘检测方法流程图。

在本发明的一种具体实施方式中,提供了一种基于图像局部区域的亚像素边缘检测方法,包括:

s11:通过预设的边缘检测算法提取目标图像的像素级边缘。

在本实施方式中通过预设的边缘检测算法提取目标图像的像素级边缘,优选包括:建立坐标系,并通过canny边缘检测算法提取目标图像的像素级边缘,获取像素级边缘点的信息。

s12:根据像素级边缘选取对应的线条拟合边缘。

根据像素级边缘选取对应的线条拟合边缘,包括:当像素级边缘为一条直线时,选取直线拟合边缘;当像素级边缘不是直线时,选取曲线拟合边缘。

在本实施方式中,根据像素级边缘的实际情况将其分为两种情况,一种是像素级边缘为直线,一种是非直线。

s13:通过以像素点为中心的5×3区域计算亚像素级边缘点的位置及方向。

请参考图2-图6,图2为本发明一种具体实施方式所提供的局部像素点灰度值示意图;图3为本发明一种具体实施方式所提供的图像边缘为一条直线时的边缘示意图;图4为本发明一种具体实施方式所提供的图像边缘为一条直线时的像素边缘灰度示意图;图5为本发明一种具体实施方式所提供的图像边缘为一条直线时的以像素点p(i,j)为中心的5×3区域示意图;图6为本发明一种具体实施方式所提供的图像边缘为一条直线时的边缘点方向示意图。

在本发明的一种实施方式中,当像素级边缘为一条直线时,通过方程y=a+bx表示该边缘,并将坐标系设置在像素点p(i,j)的中心,其中,该直线将边缘局部区域划分为灰度值分别为a和b的两块区域,此时假定a、b、a、b均是未知的,则局部像素点的灰度值如图2所示。

假设数字图像f除边缘区域外是一个连续函数f(x,y),同时也假设在图像边缘处是不连续的,如果图像边缘在像素点(i,j)处不连续,可得像素点(i,j)的灰度值为:

其中a和b是边缘像素点两侧的灰度值,sa和sb分别是其对应的面积,h是像素边缘的长度,所以满足h2=sa+sb,如图3和图4所示,其中,图4是图3中第二行倒数第二个方块区域的放大示意图,其可以根据实际需要选取。

根据上述假设,计算出边缘像素点p(i,j)的灰度值为:

其中,pi,j是像素点内位于边缘线以下的的面积(0≤pi,j≤h2)。

如图5所示,以像素点p(i,j)为中心的5×3区域内,分别以sl,sm以及sr表示左、中、右三列的像素值之和,分别为:

其中,l、m和r分别代表左、中、右三列区域每一列位于边缘线下的面积;

左、中、右三列区域中位于像素级边缘线下的面积为:

根据左、中、右三列区域的像素值之和以及左、中、右三列区域中位于像素级边缘线下的面积分别计算a、b:

其中,像素值a和像素值b采用5×3区域内对角的三个像素点的平均值作为像素值:

一旦知道边缘直线的相关,就可以求出边缘像素点的边缘信息。如图6所示,标记像素中心点到边缘的垂直距离,则亚像素边缘经过点(0,a),

则边缘点的方向为:

请参考图7,图7为本发明一种具体实施方式所提供的图像边缘为非直线时的以像素点p(i,j)为中心的5×3区域示意图。

在本发明的另一种实施方式中,当像素级边缘不为直线时,通过二次曲线方程y=a+bx+cx2来近似表示该边缘,取像素点为中心的5×3区域如图7所示,以l、m和r分别代表左、中、右三列区域每一列位于边缘线下的面积;计算参数a、b、c,并根据参数a、b、c计算边缘曲线,获取亚像素边缘位置,并计算在x=0处的曲率。

其中,以l、m和r分别代表左、中、右三列区域每一列位于边缘线下的面积,具体为:

计算参数a、b、c,并根据参数a、b、c计算边缘曲线,获取亚像素边缘位置,并计算在x=0处的曲率,包括:

根据l、m和r计算得参数a、b、c为:

根据参数a、b、c求得边缘曲线,得到亚像素边缘位置,并在x=0处的曲率为:

综上所述,基于图像局部区域的亚像素边缘检测方法,可以准确得到亚像素图像的边缘,与其他算法相比在高噪声、边缘难辨和低对比度的情况下,能获得更高的检测效果。

以上对本发明所提供一种基于图像局部区域的亚像素边缘检测方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1