System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及线段检测,尤其涉及一种基于预测校正机制的直线段检测方法及系统。
技术介绍
1、直线段(简称线段)在现实世界的场景中传达了大量的几何和拓扑信息,使其广泛应用于各种计算机视觉任务,例如三维重建,同时定位与建图,姿态估计,消失点检测和无人机图像中的电力线提取等。
2、现有的基于边缘点的直线段检测技术主要包括以下几个步骤:(1)对图像进行高斯平滑以抑制噪声;(2)计算梯度幅值和梯度方向;(3)计算锚点,即梯度幅值的局部极大值;(4)边缘绘制,利用路由方法链接边缘点进行线段拟合;(5)对线段进行验证。该类方法大体流程如图1所示。
3、对于上述的步骤(1)、(2)很好理解,与绝大多数图像处理方法一致。步骤(3)则是先对图像的梯度幅值施加一个阈值过滤部分像素,然后进行非极大值抑制,即沿着每个像素的梯度方向判断其梯度幅值是否是最大。如果是,则该像素为锚点。步骤(4)则是利用锚点的梯度方向寻找其邻域内满足一定条件的其他锚点,依次进行下去,将这些锚点构成一个像素链。若像素链满足一定规模,则对该像素链使用最小二乘法进行线段拟合,得到线段所在直线的参数方程和线段的端点坐标。步骤(5)则是利用图像的梯度信息进行进一步的验证以控制假阳性。
4、综上,现有线段检测方法存在以下缺点:
5、缺点1:现有方法在计算图像梯度步骤中,对图像的梯度幅值施加预设阈值以抑制假阳性,但这个阈值同时也将用于生成线段的一部分像素过滤掉。因此,现有方法检测到的线段的完整性不高。
6、缺点2:现有方法在计算图像
7、缺点3:现有方法在锚点选取步骤中,通常直接对梯度幅值进行非极大值抑制,但这样通常会将噪声点也算作锚点。因此,现有方法的检测效率不高。
8、缺点4:基于计算图像梯度步骤和锚点选取步骤中所述的缺点,现有方法去除了对线段有用的像素,且引入了噪声影响。因此,现有方法无法全面提取图像中有关线段的所有细节。
9、缺点5:现有方法在边缘绘制步骤中,通常选取一个锚点作为开始点,然后根据该锚点的梯度方向寻找邻域内满足一定条件的下一个锚点,这种寻找方式严重依赖所计算的梯度方向。因此,现有方法通过这种链接方式所提取的用于拟合线段的像素链通常质量都不高,导致检测的线段的方向和位置的准确度不高。
技术实现思路
1、为此,本专利技术实施例提供了一种基于预测校正机制的直线段检测方法及系统,用于解决现有技术中现有方法检测的线段的完整性不高、检测不到低对比度区域的线索、检测效率不高、无法提取图像中有关线段的所有细节以及检测的线段的方向和位置的准确度不高等问题。
2、为了解决上述问题,本专利技术实施例提供一种基于预测校正机制的直线段检测方法,该方法包括:
3、步骤s1:计算输入图像的梯度幅值和梯度方向;
4、步骤s2:基于提前设计好的多尺度自适应canny边缘检测器预测图像中的线段,具体包括:首先基于多尺度自适应canny边缘检测器,通过设置三个尺度参数对输入图像进行边缘检测;然后将来自这三个不同尺度信息的边缘融合成最终的边缘;最后对边缘执行非极大值抑制并使用最小二乘法进行线段拟合,得到线段所在直线的方程表达式以及线段的端点坐标,即得到预测线段;
5、步骤s3:采用定向路由方法对预测出的线段进行校正;
6、步骤s4:对校正后的线段进行验证,输出最终的线段。
7、优选地,在步骤s1中,计算输入图像的梯度幅值和梯度方向,具体包括:
8、首先,将输入的彩色图像转变为灰度图像i(x,y);其次,对灰度图像i(x,y)进行高斯平滑减少噪声影响;然后,利用sobel算子计算高斯平滑后的灰度图像的梯度其中gx和gy分别是关于x和y的导数,梯度方向gθ的计算公式为:
9、gθ=arctan(gy/gx);
10、梯度幅值gm的计算公式为:
11、gm=|gx|+|gy|
12、式中,|·|表示l1范数。
13、优选地,单个尺度下自适应canny边缘检测器的检测流程包括以下步骤:
14、步骤一:设置尺度参数α=α1,α2,α3,将输入图像基于α等分,即分成α2个子图,每个子图的大小为其中h,w分别表示原图像的长和宽;
15、步骤二:基于亥姆霍兹原理计算各个子图ii对应的对线段检测有意义的最小梯度幅值,计算公式如下:
16、ei,mi=cannyl(ii)
17、式中,cannyl(·)表示cannylines的边缘检测方法;ei表示该子图ii的自适应边缘检测结果;mi表示子图ii中对检测线段有意义的最小梯度幅值;
18、步骤三:拼接各个子图ii的边缘结果ei,并计算各个子图的mi的均值,于是,得到在尺度α下的图像i的边缘检测结果eα:
19、
20、以及对检测线段有意义的最小梯度幅值mα:
21、
22、式中,concat(·)表示拼接函数;avg(·)表示均值函数;
23、步骤四:输出尺度α下的边缘检测结果eα及对检测线段有意义的最小梯度幅值mα。
24、优选地,多尺度自适应canny边缘检测结果表示为:
25、
26、
27、式中,e(x,y)表示多尺度自适应canny边缘检测结果;表示在尺度α=αi下的图像i的边缘检测结果;avg(·)表示均值函数;m表示图像i中对检测线段有意义的最小梯度幅值;表示在尺度α=αi下的图像i中对检测线段有意义的最小梯度幅值。
28、优选地,在步骤s3中,采用定向路由方法对预测出的线段进行校正,具体包括:
29、在预测线段的端点附近寻找具有以下属性的像素延伸线段:(a)、具有局部最大梯度幅值,并且gm≥m,其中gm表示梯度幅值,m表示对线段检测有意义的最小梯度幅值;(b)、距离线段所在直线足够近,即点到直线的距离小于一定阈值;(c)、与线段的大致方向一致,即像素的二值化的梯度方向与线段所属线段类型一致,线段类型包括水平线段和垂直线段;
30、使用深度优先策略尽可能进行线段延伸,即沿着当前方向添加尽可能多的像素;当遇到不同的方向时,在搜索树中创建一个同级分支,即以当前搜索到的像素为起点,所遇到的不同方向为初始方向进行新的线段延伸。
31、优选地,每次延伸线段时,均需要对线段进行再次拟合。
32、优选地,在步骤s4中,对校正后的线段进行验证,输出最终的线段,具体包括:
33、对校正后的线段采用后验证策略:对于用于拟合线段的每个像素(x,y),首先将其投影到线段上,然后使用双线性插值计算该投影点的梯度方向,并将其与线段的法线方向进行比较,以得出角度误差θe;
<本文档来自技高网...【技术保护点】
1.一种基于预测校正机制的直线段检测方法,其特征在于,包括:
2.根据权利要求1所述的基于预测校正机制的直线段检测方法,其特征在于,在步骤S1中,计算输入图像的梯度幅值和梯度方向,具体包括:
3.根据权利要求1所述的基于预测校正机制的直线段检测方法,其特征在于,单个尺度下自适应Canny边缘检测器的检测流程包括以下步骤:
4.根据权利要求3所述的基于预测校正机制的直线段检测方法,其特征在于,多尺度自适应Canny边缘检测结果表示为:
5.根据权利要求1所述的基于预测校正机制的直线段检测方法,其特征在于,在步骤S3中,采用定向路由方法对预测出的线段进行校正,具体包括:
6.根据权利要求5所述的基于预测校正机制的直线段检测方法,其特征在于,每次延伸线段时,均需要对线段进行再次拟合。
7.根据权利要求1所述的基于预测校正机制的直线段检测方法,其特征在于,在步骤S4中,对校正后的线段进行验证,输出最终的线段,具体包括:
8.根据权利要求7所述的基于预测校正机制的直线段检测方法,其特征在于,所述校正后的线段
9.一种基于预测校正机制的直线段检测系统,其特征在于,所述系统用于实现权利要求1至8任意一项所述的基于预测校正机制的直线段检测方法,具体包括:
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机软件产品,所述计算机软件产品包括的若干指令,用以使得一台计算机设备执行权利要求1至8任意一项所述的基于预测校正机制的直线段检测方法。
...【技术特征摘要】
1.一种基于预测校正机制的直线段检测方法,其特征在于,包括:
2.根据权利要求1所述的基于预测校正机制的直线段检测方法,其特征在于,在步骤s1中,计算输入图像的梯度幅值和梯度方向,具体包括:
3.根据权利要求1所述的基于预测校正机制的直线段检测方法,其特征在于,单个尺度下自适应canny边缘检测器的检测流程包括以下步骤:
4.根据权利要求3所述的基于预测校正机制的直线段检测方法,其特征在于,多尺度自适应canny边缘检测结果表示为:
5.根据权利要求1所述的基于预测校正机制的直线段检测方法,其特征在于,在步骤s3中,采用定向路由方法对预测出的线段进行校正,具体包括:
6.根据权利要求5所述的基于预测校正机制的直线段检测方法,其...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。