由断点出发可并行实现的边缘连接算法的制作方法

文档序号:6431337阅读:660来源:国知局
专利名称:由断点出发可并行实现的边缘连接算法的制作方法
技术领域
本发明属于数字图像处理技术领域,具体为一种由断点出发可并行实现的高速边缘连接算法。
背景技术
图像的边缘信息在许多图像处理算法中有着广泛的应用,而完整准确的边缘信息可以极大地减小后处理算法的复杂性而同时又保持需要的精度。所以获得一张完整、准确、 清晰的边缘图像一直是图像特征提取领域的重要研究内容。然而由于图像本身的复杂性和多变性,至今没有一种边缘检测算法能对任何图像实现完整的边缘提取,尤其是当一些前景物体因光线或自身纹理等原因而造成边缘线与背景的完全融合,此时任何基于图像颜色梯度变化的边缘检测算法都无法检测出这一部分边缘,从而也就在原边缘图像中造成边缘线断裂。所以很有必要对由边缘检测算法生成的初始边缘图像进行一系列的边缘修复工作,其中就包含了边缘连接处理。现今主流的边缘连接算法可分为三类,分别是膨胀腐蚀法,HOUGH变换法,启发式搜索法[1』。然而膨胀腐蚀法只能应用于间隙较小的断裂边缘,因为过度的膨胀腐蚀会破坏边缘线原有完整性。HOUGH变换法需要预先知道待连接边缘线的解析式,这大大限制了边缘连接的使用场合,同时对于复杂的边缘图像,HOUGH变换的运算代价非常大会造成算法处理速度降低。本发明的算法更接近与启发式搜索一类,但不同于常规的启发式搜索法,常规的启发式搜索要求用户指定一个评价函数用以选择最优的连接线,同时这一评价过程并非一次完成而是通过迭代的方式反复调用评价函数,不断保持着最优的选择直到边缘线对接。评价函数一般选用图像中的颜色梯度信息作为评价标准,然而对于一些边缘线完全融合于背景中的情况,用梯度信息作为评价标准的启发式搜索将失去作用,同时反复的迭代方式也会大幅增加算法的计算量。本发明以断点所在边缘线的大致延长方向作为对待连接边缘点的挑选的标准,优先选择更接近延长线方向的可连接边缘点,这一方式避免了对原图像梯度信息的依赖,只需要二值边缘图像中的信息即可。同时一次完成连接,避免了迭代造成的大运算量,因此在算法效率方面普遍优于常规算法。参考文献Rafael C. Gonzalez, Richard Ε. Woods. Digital Image Processing (2nd Edition)[M], America: Prentice Hall, 2002.路漫漫,滕奇志。蚁群算法实现的图像边缘连接[J]。计算机应用,2010,3(K4) 932-938。

发明内容
本发明的目的在于提出一种操作简单,计算代价小,快速而又准确地连接出现在边缘图像中的断裂边缘,且可并行实现的高速边缘连接算法。
本发明提出的边缘连接算法,适用于使用标准canny边缘检测后生成的边缘图像,通过对图像进行断点检测找出边缘图像中的断点,并只在断点位置处进行边缘连接算法。通过展开一个边长自适应的搜索框,并在其最外层边框范围内搜索可连接边缘点。从若干个可连接边缘点中筛选出最接近边缘线延长方向的边缘点作为待连接边缘点,最后将断点与待连接边缘点进行互连。整过算法可以在断点之间以并行的方式执行;算法中用到的运算只有加法和减法,没有任何其他复杂运算;算法也没有任何迭代或递归操作,可连接边缘点的搜索空间也被最大程度地优化缩小;所以本发明具有其他边缘连接算法无法达到的高效率,若是使用以并行处理为主的GPU进行执行只需几个毫秒即可完成对512*512大小的图像的边缘连接,同时又保证了连接的高成功率。本发明方法的具体步骤如下 步骤1,对边缘图像进行断点检测、标记;
步骤2,由断点起沿断点所在边缘线逆向追踪标记边缘点2*L次,L为用户指定参数; 步骤3,在断点处展开边长为2*L方形搜索框,在外边框位置搜索被标记点和可连接边缘占.
步骤4,根据搜索到被标记点的中心对称点位置,重新安排外边框搜索顺序对可连接边缘点重新搜索,优先搜索靠近中心对称点的可连接边缘点并确定为待连接边缘点; 步骤5,将待连接边缘点和断点进行连接。下面进一步描述各个步骤的具体操作。步骤1中,将边缘图像所有断点分为3类,分别是线断点、三角断点和方形断点;搜索所有边缘点周围8领域范围,确定哪些边缘点为断点并做独一无二的标记;若搜索到周围8领域中均没有边缘点的孤立像素点,则作为噪声去除。步骤2中,以断点为起点搜索周围8领域,将搜索到的所有边缘点都用断点标记色标记;以8领域中最接近边缘线延长方向的边缘点作为下一次搜索的中心点,上一个中心点作为方向点,重复上述操作2*L次;在标记边缘点时,若遇到其他断点标记色,则记录此标记色,同时结束追踪标记操作;若在标记过程中无边缘点可标记时,结束标记操作。步骤3中,以断点为中心展开一个边长为2*L的正方形搜索框,L的初始值为用户定义的最小L值,记为min_L,搜索范围是搜索框外边框的8*L个像素格;搜索出现在外边框至少一个被当前断点标记色或是在步骤2保存的其他断点标记色着色的边缘点,和至少一个除去这两种标记色以外的其他边缘点;如果没有搜到一个除去这两种标记色以外的其他边缘点,则扩大搜索框边长为2* (L+del_L),del_L为用户指定的L值每次扩大的增量,用户同时还要指定一个最大L值,记为max_L,当L+del_L大于max_L时,结束当前断点的连接算法;扩大搜索框边长的同时也要相应增加反向追踪标记的像素数;重新存储新搜索框外边框像素坐标信息并重复之前的搜索内容;搜索结束后保存对可连接边缘点和被标记点的搜索结果。步骤4中,对于在步骤3中未搜索到被标记点的情况,则将步骤3中搜索到的可连接边缘点作为待连接的边缘点;若在步骤3中搜索到了被标记点,则对被标记点做中心对称操作,根据中心对称点的位置重新安排在外边框像素格的搜索顺序,优先搜索靠近中心对称点的坐标;一旦搜索被到非断点标记色着色的可连接边缘点,则将其确定为待连接边缘点。
步骤5中,从断点开始先在水平方向标记着色两个像素点,再竖直方向标记着色一个像素点,当着色点接近待连接边缘点时,则将着色方式改成水平方向着色1个像素点, 再竖直方向着色1个像素点,以此方式逐点接近至最后连接边缘点,并结束当前断点的连接算法。图9为整个算法实现过程图。整个算法流程见图10所示。


图1为三种断点类型示意图。图2为线断点判断示意图。图3为线断点判断例外情况。图4为三角断点判断示意图。图5为方向断点判断示意图。图6为8领域像素格搜索顺序优化排列示意图。图7为搜索框外边框区域划分和搜索顺序优化排列示意图。图8为边缘连接示意图。图9为整个算法实现过程图。图10为整个算法流程图。图11为边缘连接算法直观评价图。其中,左图为边缘连接前,右图为边缘连接后。
具体实施例方式下面结合附图对本发明的具体实施方式
做进一步的描述。图10所示为本发明中整个算法的具体流程图。步骤1,经过标准经典canny检测生成的二值边缘图像其边缘线为1至2个像素宽,本发明中将这一类边缘图中出现的所有断点分为3类分别是“线”断点、“三角”断点和 “方形”断点,如图1所示。图1中每一格代表一个像素点,“横纹”区域表示断点区域。“A” 像素格是“断点”像素,“B”像素格是断点前一个边缘点(B点将在之后的边缘追踪中用于判定追踪方向),这里将“B”点称为“方向点”。线断点判断过程
(1)搜索边缘图像中的所有边缘点。(2)当搜索到边缘点后展开3*3搜索框搜索邻域周围8个点,如果有且仅有1个边缘点出现在周围8个点中说明有可能存在线断点则进入下一步。(3)如果在图2中4,5,6,7这4格中搜索到边缘点,说明属于图1中第二幅线断点类型,这时可以直接确定中心点为断点。(4)如果在图2中0,1,2,3这4格中搜索到边缘点,说明属于图1中第一幅线断点类型,此时还无法断定中心点为断点。为了避免诸如图3的情况,以图2左图为例,当0号格搜索到边缘点时要求同时周边a、j格中最多只能有一格有边缘点,即图2中左图的“横纹”格不能同时都有边缘点。如此可确定中心点为断点,否则依然认为中心点为非断点。边缘点出现在1、2、3号格也以同样方式进行搜索确认。三角断点判断过程(1)搜索边缘图像中的所有边缘点。(2)当搜索到边缘点后展开3*3搜索框搜索邻域周围8个点,如果有且仅有2个边缘点出现在周围8个点且这2点与中心点构成三角形,即在图4中(0,4)、(4,1)、(1,6)、 (6,2)、(2,7)、(7,3)、(3,5)、(5,0)这8对格点有且仅有一对格点其中两格都有边缘点,此时与中心点组成可能的三角断点。(3)搜索到可能的三角断点后,以图4左图为例,(0,4)这2格出现边缘点,为了避免出现误判则再搜索a、b、c、j、k这5格如图4左图中的“横纹”格,如果a、b、c这组或j、 k这组中有一组全部都是非边缘点,则可以确定此时的中心点是断点,同时它与(0,4)构成了三角断点。如果不符合则确定中心边缘点为非断点。这里仅以(0,4)两格作为例子,出现其余7对格点有边缘点的情况也做类似处理来判断是否为断点。方形断点判断过程
(1)搜索边缘图像中的所有边缘点。(2)当搜索到边缘点后展开3*3搜索框搜索邻域中的8个点,如果有且仅有3个边缘点出现在周围8个点且这3个点与中心点构成方形,即在图5中(5,0,4)、(4,1,6)、 (6,2,7)、(7,3,幻这4组格点有且仅有一组格点其中3格都有边缘点,此时与中心点组成可能的方形断点。(3)搜索到可能的方形断点后,以图5左图为例(5,0,4)这3格出现边缘点,为了避免出现误判则再搜索a、b、c、j、k、1这6格如图5-7左图中的“横纹”格,如果a、b、c这组或j、k、1这组中有一组全部都是非边缘点,则可以确定此时的中心点是断点,同时它与 (5, 0, 4)构成了方形断点。如果不符合则确定中心边缘点为非断点。这里以(5,0,4)这3 格作为例子,出现其余4组格点有边缘点的情况也做类似处理来判断是否为断点。去除孤立的单个边缘点
当搜索边缘点周围8领域都未发现边缘点时则确定此边缘点为孤立边缘点,因孤立边缘点没有方向点无法确定边缘线方向无法对其做进一步操作,所以视孤立边缘点为噪声从原边缘图像中去除。对所有确定为断点的边缘点用像素点所在坐标为颜色值进行独一无二的标记,这里的标记方式可以以任意方式实现但要求独一无二。后续的所有算法将都以步骤1中找到的断点为起点展开。步骤2,首先从边缘图像中找到在步骤1中确认的断点和对应的方向点,因为是沿断点所在边缘线逆向追踪,所以将确定的方向点和断点关系交换,即断点变为方向点,方向点变为断点。新建数组保存断点周围8领域点的坐标信息,依据图6所示重新排序数组中的坐标信息,图6中C点为中心点,追踪过程中第一个C点为断点,P点为方向点,其余像素格中标明的数字表示在数组中的位置,排序的原则是把能使边缘线更平滑的边缘点出现位置靠前排列。逆向追踪先以断点作为中心点开始,搜索周围8领域像素,搜索顺序为坐标数组排序的反序,即先搜索位置最“差”的像素格,最后搜索位置最“好”的像素格。这样安排搜索顺序可以确保结束搜索后坐标变量保存的边缘点坐标一定是8领域中位置最好的边缘点。在搜索过程中需要对搜索到的边缘点用断点标记色在原边缘图像中标记,断点标记色需要更新为原颜色值加一常数,这是考虑到连接算法在断点之间可以并行执行,为了不将
6追踪过程中标记的边缘点误识别为步骤1中确认的断点,所以需要改变断点标记色值。搜索结束后最后一个被搜索到的边缘点将作为追踪过程中下一次搜索的中心点, 同时将上一次搜索的中心点作为方向点开始下一次的追踪,如此反复2*L次后逆向追踪标记断点所在边缘线结束,L为一个用户指定的参数。用2*L这个数目是为了确保被标记的边缘线长度足够让后续展开的搜索框搜索到。若在追踪过程中搜索到其他边缘线的断点标记色,则说明边缘线两头断点发生追踪相遇情况,此时用一个变量保存遇到的其他断点标记色的颜色值,同时完成这一轮8领域搜索后结束当前断点的追踪操作。若在追踪过程中发现无边缘点可标记时也结束当前断点的追踪操作。步骤2的作用是为了标出断点所在的边缘线,在之后的待连接点搜索过程中,这些被标记的点都将被排除,因为断点与自己所在边缘线发生连接是没有意义。除此之外这些被标记的点也能粗略地反应出边缘线的方向信息有利于确定位置最好的待连接边缘点。步骤3,以步骤1中确认的断点为中心展开一个边长为2*L的正方形搜索框,L的初始值为用户定义的最小L值,记为min_L,搜索范围是搜索框外边框的8*L个像素格。只选择最外层边框的8*L个像素作为搜索范围既可以保证足够大的搜索半径以增加搜索成功的概率同时又最大程度地减少了需搜索的像素数目,这一优势尤其体现在L值较大的情况,如果是对搜索框中所有像素都进行搜索,则当搜索框边长较大时会因搜索次数指数递增导致连接算法性能急剧下降。新建数组保存8*L个外边框像素格坐标,搜索出现在外边框至少一个被当前断点标记色或是在步骤2保存的其他断点标记色着色的边缘点和至少一个除去这两种标记色以外的其他边缘点。非两种断点标记色着色的边缘点以及非连接线边缘点都是可连接的边缘点,而搜索到的被标记点则是断点所在边缘线上的点,被标记点与断点可以粗略反映出边缘线的延长方向。如果没有搜到一个除去这两种标记色以外的其他边缘点则扩大搜索框边长为 2*(L+del_L),del_L为用户指定的L值每次扩大的增量,用户同时还要指定一个最大L值, 记为max_L,当L+del_L大于max_L时结束当前断点的连接算法。这里采用逐步递增搜索框边长的方式搜索可连接边缘点,这种方式既可以平滑快速地连接小间隙的边缘线断裂区域,同时又兼顾了间隙较大的断裂区域的连接成功率。数反映了可连接的断裂边缘最大间隙,三个参数可根据实际情况兼顾算法执行效率和连接成功率进行设定。扩大搜索框边长的同时也要相应增加反向追踪标记的像素数。重新存储新搜索框外边框像素坐标信息并重复之前的搜索内容。若搜索到非断点标记色的可连接边缘点同时也搜索到了被当前断点标记色或是在步骤2保存的其他断点标记色着色的边缘点则结束搜索并确认同时找到了可连接边缘点和被标记点,若搜到了非两种断点标记色着色的可连接边缘点但没搜索到被当前断点标记色或是先前保存的其他断点标记色着色的边缘点则确认为只找到了可连接边缘点未找到被标记点同时结束搜索,算法进入下一步。步骤3的目的是为了确定在边长2*maX_L的搜索框范围内是否有可连接边缘点及其所在的外边框范围。如果没有搜索到一个可连接边缘点则确认为当前断点无边缘点可连,结束当前断点所有操作宣布边缘连接失败。只要搜索到一个可连接边缘点即可进入下 “■步骤。
7
步骤4,进入步骤4说明已经确认了存在可连接边缘点以及可连接边缘点出现的外边框范围。但出现可连接边缘点的外边框范围内可能仍有其他位置更好的可连接边缘点,所以需要进行步骤4以挑选出位置最好的待连接边缘点。根据步骤3最后的搜索情况,对于在步骤3中未搜索到被标记点,则将步骤3首先搜索到的可连接边缘点作为待连接边缘点。这里因为没有搜索到被标记点,所以无法确定边缘线的延长方向故简化处理以初次搜索到的可连接边缘点作为待连接边缘点结束这一步骤。若在步骤3中搜索到了被标记点,则对被标记点做中心对称操作。生成的中心对称点可以粗略地反映边缘线的延长方向,这是以最简单快速的方式确认边缘线大致走向, 远远比曲线拟合或是HOUGH变换来的高效。这个方向因为只是作为后续算法的一个参考信息,所以无需非常准确。这里将整个外边框的8*L个像素格划分为8个区域,如图7左图所示。每个区域以(Γ7这8个数字标记,每个区域各包含了 L个像素格。获得中心对称点坐标后,根据中心对称点的所在的区域重新安排在外边框像素格的搜索顺序,优先搜索靠近中心对称点的坐标。以图7右图为例,箭头上方的数字表示8个搜索区域的优先排序,而每个区域中的箭头方向则表示了区域内L个像素格的排序顺序,全部都是依据更靠近中心对称点原则排列, 这一排序方式可以避免使用冗长、复杂的距离公式,大大提高算法的执行效率。中心对称点若出现在其他区域也按类似方式排序。先判断中心对称点位置处是否有可连接边缘点,如果有则将其确定为待连接边缘点并进入下一步骤。如果没有则按重新排序的搜索顺序搜索整个外边框像素格,并将第一个搜索到的被非断点标记色着色的可连接边缘点确定为待连接边缘点同时结束搜索。步骤5,因为数字图像是由像素格构成,所以不能按照数学理论简单的“两点连一直线”的方式完成连接。这里采用先“大步进”的方式快速接近目标边缘点,当接近后再用 “小步进”方式逐点接近至最后连接。这里的大步进是指连接线先在X方向上前进数格,再在Y方向上前进数格(或是先在Y方向上前进数格,再在χ方向上前进数格,依边缘点所在区域决定)。如果搜索边框的边长不大,可以选择“两格,一格”的方式前进,以图8为例,当边缘点在0号区域时使用“上两个,左一格”的方式大步进前进。同时检测当前着色点的横、纵坐标与待连接边缘点横、纵坐标的差值,若横、纵坐标任何一个差值小于等于1时则停止“大步进”,开始“小步进”方式前进。“小步进”指的是当连接线足够接近边缘点时,开始“上一格,左一格”方式逐点接近待连接边缘点,当着色点与待连接边缘点的横、纵坐标差值分别同时小于等于1时,则确定此时连接线已经与待连接边缘点对接同时结束当前断点的连接算法并宣告连接成功。整个步骤5将用不同于其他边缘点或断点的颜色值进行着色连接,而用这一颜色值所标记的所有像素点都不能成为其他断点的可连接边缘点。这一做法是为了避免在断点之间并行执行算法时,因为各线程完成时间不确定而带来的连接结果的不确定。评价效果见图11所示,由图可见本发明方法具有非常好的效果。
权利要求
1.由断点出发可并行实现的高速边缘连接算法,其特征在于具体步骤为步骤1,对边缘图像进行断点检测、标记;步骤2,由断点起沿断点所在边缘线逆向追踪标记边缘点2*L次,L为用户指定参数;步骤3,在断点处展开边长为2*L方形搜索框,在外边框位置搜索被标记点和可连接边缘占.步骤4,根据搜索到被标记点的中心对称点位置,重新安排外边框搜索顺序对可连接边缘点重新搜索,优先搜索靠近中心对称点的可连接边缘点并确定为待连接边缘点;步骤5,将待连接边缘点和断点进行连接。
2.根据权利要求1所述的由断点出发可并行实现的边缘连接算法,其特征在于步骤 1中,将边缘图像所有断点分为3类,分别是线断点、三角断点和方形断点;搜索所有边缘点周围8领域范围,确定哪些边缘点为断点并做独一无二的标记;若搜索到周围8领域中均没有边缘点的孤立像素点,则作为噪声去除。
3.根据权利要求2所述的由断点出发可并行实现的边缘连接算法,其特征在于步骤2 中,以断点为起点搜索周围8领域,将搜索到的所有边缘点都用断点标记色标记;以8领域中最接近边缘线延长方向的边缘点作为下一次搜索的中心点,上一个中心点作为方向点, 重复上述操作2*L次;在标记边缘点时,若遇到其他断点标记色,则记录此标记色,同时结束追踪标记操作;若在标记过程中无边缘点可标记时,结束标记操作。
4.根据权利要求3所述的由断点出发可并行实现的边缘连接算法,其特征在于步骤 3中,以断点为中心展开一个边长为2*L的正方形搜索框,L的初始值为用户定义的最小L 值,记为min_L,搜索范围是搜索框外边框的8*L个像素格;搜索出现在外边框至少一个被当前断点标记色或是在步骤2保存的其他断点标记色着色的边缘点,和至少一个除去这两种标记色以外的其他边缘点;如果没有搜到一个除去这两种标记色以外的其他边缘点,则扩大搜索框边长为2*(L+del_L),del_L为用户指定的L值每次扩大的增量,用户同时还要指定一个最大L值,记为max_L,当L+del_L大于max_L时,结束当前断点的连接算法;扩大搜索框边长的同时也要相应增加反向追踪标记的像素数;重新存储新搜索框外边框像素坐标信息并重复之前的搜索内容;搜索结束后保存对可连接边缘点和被标记点的搜索结果。
5.根据权利要求4所述的由断点出发可并行实现的边缘连接算法,其特征在于步骤4 中,对于在步骤3中未搜索到被标记点的情况,则将步骤3中搜索到的可连接边缘点作为待连接的边缘点;若在步骤3中搜索到了被标记点,则对被标记点做中心对称操作,根据中心对称点的位置重新安排在外边框像素格的搜索顺序,优先搜索靠近中心对称点的坐标;一旦搜索被到非断点标记色着色的可连接边缘点,则将其确定为待连接边缘点。
6.根据权利要求5所述的由断点出发可并行实现的边缘连接算法,其特征在于步骤5 中,从断点开始先在水平方向标记着色两个像素点,再竖直方向标记着色一个像素点,当着色点接近待连接边缘点时,则将着色方式改成水平方向着色1个像素点,再竖直方向着色1 个像素点,以此方式逐点接近至最后连接边缘点,并结束当前断点的连接算法。
全文摘要
本发明属于数字图像处理技术领域,具体为一种由断点出发可并行实现的边缘连接算法。本发明通过展开一个边长自适应的搜索框,并在其最外层边框范围内搜索可连接边缘点。从若干个可连接边缘点中筛选出最接近边缘线延长方向的边缘点作为待连接边缘点,最后将断点与待连接边缘点进行互连。整过算法可以在断点之间以并行的方式执行;算法中用到的运算只有加法和减法,没有任何其他复杂运算;可连接边缘点的搜索空间被最大程度地优化缩小;所以本发明具有其他边缘连接算法无法达到的高效率,使用以并行处理为主的GPU进行执行只需几个毫秒即可完成对512*512大小的图像的边缘连接。
文档编号G06T7/00GK102270299SQ20111024371
公开日2011年12月7日 申请日期2011年8月24日 优先权日2011年8月24日
发明者钮圣虓, 陈更生 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1