一种图像路径生成方法及系统
技术领域
本发明涉及图像处理中的目标路径生成领域,具体涉及一种图像路径生成方法及系统。
背景技术
目前,图像路径大部分是采用“钢笔工具”绘制生成。通过钢笔工具,操作者采用全手工的方式,对图像边缘分段进行操作,完成路径的绘制生成。采用“钢笔工具”的方式生成路径,操作者需要根据自己对图像内容的主观判断,逐段的完成路径的绘制,并在描绘过程中,实时的采用手工的方式调整现有路径和先前路径的形态,保证其能够较好的贴合边缘,以及各段路径之间的过渡平滑、自然,以得到较高的路径生成质量。手工绘制生成路径的方法能够很好的保证生成路径的质量,但由于采取的是全手工操作,路径生成效率很低,完成一幅图像的路径生成通常要花费较长的时间,不利于提高工作生产效率。
路径的生成还可以采取“选区转路径”的方式,这种方法首先需要完成对图像有效选区的标定,然后利用相关的算法将选区转换为所对应的路径。采用“选区转路径”的方式生成路径,对选区生成以及路径生成的准确度要求较高,生成路径的质量通常取决于两个因素:有效选区的标定准确性和路径生成方法的准确性;另外,“选区转路径”是一种大尺度上的路径生成方式,完成路径生成后,并不利于对生成路径进行调整,达到提高路径质量的目的。所以采用“选区转路径”的方式并且通过该方法完成路径生成后,难以对生成路径的细节进行调整,所以该方法生成的图像路径质量难以得到保证。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种图像路径生成方法及系统,通过对图像局部信息进行判断,完成图像路径的生成,并允许操作者对生成路径的形态进行自动调整,保证了生成路径的质量。
为实现上述目的,本发明采用的技术方案如下:
一种图像路径生成方法,包括以下步骤:
(1)选择待处理图像,通过点击位置确定图像中的待处理区域;所述点击位置是指待生成的图像路径的起点和终点;
(2)对待处理区域进行图像边缘检测,得到待处理区域的边界信息;所述边界信息包括待处理区域的边界图像,以及待处理区域在X、Y方向的梯度图像;
(3)根据点击位置和边界图像提取待处理边界,并得到待处理边界的边界链;所述待处理边界是指距离点击位置最近的边界图像中的连通边界;所述边界链是指待处理边界的边界点的坐标信息;
(4)根据点击位置以及待处理区域的X、Y方向的梯度图像,生成边界链的有向图,并采用最短路径生成算法提取点击位置的起点至终点的最短路径;所述有向图是表述边界链中各边界点之间路径关系的数据结构;
(5)将最短路径进行曲线拟合,得到结果路径。
进一步,如上所述的一种图像路径生成方法,该方法还包括以下步骤:
所述方法还包括以下步骤:
(6)以先前点击位置的终点为新的起点,确定新的点击位置终点,重复步骤(1)~步骤(4),得到新的最短路径;
(7)将所述先前结果路径与新的最短路径进行平滑衔接,得到新的结果路径。
进一步,如上所述的一种图像路径生成方法,步骤(4)中,所述有向图生成的具体方式为:
根据待处理区域的X、Y方向的梯度图像,计算边界链中起点到终点的所有边界点之间的梯度值,并将该梯度值作为边界点间的权重,构成有向图;所述梯度值是指在边缘检测中所提取的X、Y方向的梯度融合值。
进一步,如上所述的一种图像路径生成方法,步骤(4)中,完成每一次最短路径提取后,记录最短路径的路径生成信息,在下一次进行最短路径提取时,根据点击位置、边界信息以及先前路径生成信息生成边界链的有向图。
进一步,如上所述的一种图像路径生成方法,步骤(4)中,在进行边界路径提取时,如果存在先前路径,将先前路径各边界点间的权重设置为无穷大。
进一步,如上所述的一种图像路径生成方法,步骤(7)中,通过在结果路径中设置打断点,实现结果路径与新的最短路径的平滑拼接;具体方式为:
1)在结果路径中设置打断点;
2)将打断点之后的结果路径中的曲线转化为像素坐标点,与新的最短路径进行拼接;
3)将拼接之后的路径进行曲线拟合,得到新的路径结果,并将拟合后的结果在打断点处完成拼接。
进一步,如上所述的一种图像路径生成方法,步骤(1)中,设置待处理区域的最小设定范围,当待处理区域大于或等于设定范围时,以待处理区域的实际大小作为待处理区域;当待处理区域小于设定范围时,以设定值作为待处理区域。
再进一步,如上所述的一种图像路径生成方法,步骤(2)中,对待处理区域的图像进行预处理后进行图像边缘检测,所述预处理包括降噪处理。
再进一步,如上所述的一种图像路径生成方法,步骤(2)中,利用图像边缘检测算法完成图像边缘检测。
更进一步,如上所述的一种图像路径生成方法,步骤(2)中,完成图像边缘检测后,通过二值图像的形态学操作对边缘中出现的断裂及非平滑现象进行消除。
一种基于上述图像路径生成方法的图像路径生成系统,包括:
待处理区域确定模块:用于通过点击位置确定待处理图像中的待处理区域;所述点击位置是指待生成的图像路径的起点和终点;
边界信息提取模块:用于对待处理区域进行图像边缘检测,得到待处理区域的边界信息;所述边界信息包括待处理区域的边界图像,以及待处理区域在X、Y方向的梯度图像;
待处理边界提取模块:用于根据点击位置和边界图像提取待处理边界,并得到待处理边界的边界链;所述待处理边界是指距离点击位置最近的边界图像中的连通边界;所述边界链是指待处理边界的边界点的坐标信息;
最短路径生成模块:用于根据点击位置以及待处理区域的X、Y方向的梯度图像,生成边界链的有向图,并采用最短路径生成算法提取点击位置的起点至终点的最短路径;所述有向图是表述边界链中各边界点之间路径关系的数据结构;
结果路径获取模块:用于将最短路径进行曲线拟合,得到结果路径。
进一步,如上所述的一种图像路径生成系统,所述系统还包括:
最短路径再次生成模块:用于以先前点击位置的终点为新的起点,确定新的点击位置终点后返回到待处理区域确定模块,得到新的最短路径;
路径拼接模块:用于将先前结果路径与新的最短路径进行平滑衔接,得到新的结果路径。
本发明的有益效果在于:
1.采用“强制修补”(边缘修补)的方式,对特定边缘进行处理,对图像边缘具有一定的抗干扰特性,能够降低边缘中杂边、毛刺的影响;
2.通过设置强制操作点,对操作者点击位置具有自动修正功能;在实际操作过程中,操作者难以准确点击图像边界位置,所以本发明允许操作者只需要在边缘附近进行点击操作,通过修正即可完成路径的快速生成;
3.完成路径形态的修正,使多次点击过程中生成的路径能够平滑的衔接;在路径生成过程中,操作者需要进行多次点击,每一次点击生成的路径在衔接过程当中,由算法自动完成衔接点的自动修正功能,保证路径平滑衔接。
附图说明
图1为本发明一种图像路径生成系统的结构框图;
图2为本发明一种图像路径生成方法的流程图;
图3为实施例中的待处理图像;
图4为实施例中的点击位置示意图;
图5为实施例中的待处理区域示意图;
图6为实施例中的边界图像示意图;
图7为实施例中待处理区域在X方向的梯度图像示意图;
图8为实施例中待处理区域在Y方向的梯度图像示意图;
图9为实施例中待处理边界的示意图;
图10为实施例中X、Y两个方向梯度图像的梯度融合图像;
图11为实施例中的起点“1”到终点“2”的最短路径示意图;
图12为实施例中的起点“1”到终点“2”的结果路径的放大示意图;
图13实施例中所设置的打断点的示意图;
图14和图15为实施例中起点“1”到终点“2”的结果路径与起点“2”到终点“3”的最短路径完成拟合及拼接后的最终路径。
具体实施方式
本发明的核心思想是:本发明提供了一种图像路径生成方法,该方法通过操作者在图像边界位置附近进行点击操作(选择需要处理的边界位置信息),由算法自动生成点击位置间的边缘路径,并能够在操作者点击过程当中,利用图像信息以及与操作者的交互,调整路径的形态,达到较为理想的整体效果。在路径生成过程中,首先通过操作者的点击位置信息,框定路径生成区域,并对该区域内的边界图像,梯度信息进行提取,然后将得到的图像信息与点击位置信息结合,计算出操作者实际选取的边界,将该段边界进行最优路径提取后,便得到点击位置间的最优边界路径链表,最后将已得到的最优边界路径链表进行拟合,生成结果路径。
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
图1示出了本发明一种图像路径生成系统的结构框图,由图中可以看出,该系统包括待处理区域确定模块11、边界信息提取模块12、待处理边界提取模块13、最短路径生成模块14、结果路径获取模块15、最短路径再次生成模块16和路径拼接模块17。
其中,待处理区域确定模块11用于通过点击位置确定待处理图像中的待处理区域;所述点击位置是指待生成的图像路径的起点和终点;
边界信息提取模块12用于对待处理区域进行图像边缘检测,得到待处理区域的边界信息;所述边界信息包括待处理区域的边界图像,以及待处理区域在X、Y方向的梯度图像;
待处理边界提取模块13用于根据点击位置和边界图像提取待处理边界,并得到待处理边界的边界链;所述待处理边界是指距离点击位置最近的边界图像中的连通边界;所述边界链是指待处理边界的边界点的坐标信息;
最短路径生成模块14用于根据点击位置以及待处理区域的X、Y方向的梯度图像,生成边界链的有向图,并采用最短路径生成算法提取点击位置的起点至终点的最短路径;所述有向图是表述边界链中各边界点之间路径关系的数据结构;
结果路径获取模块15用于将最短路径进行曲线拟合,得到结果路径;
最短路径再次生成模块16用于以先前点击位置的终点为新的起点,确定新的点击位置终点后返回到待处理区域确定模块,得到新的最短路径;
路径拼接模块17用于将先前结果路径与新的最短路径进行平滑衔接,得到新的结果路径。
在图像路径生成过程中,如果只需要完成一次的路径生成,那么待处理区域确定模块11、边界信息提取模块12、待处理边界提取模块13、最短路径生成模块14和结果路径获取模块15即可以实现结果路径生成。如果需要通过多次路径生成完成最终的图像路径,就需要在上述几个模块的基础上结合最短路径再次生成模块16和路径拼接模块17来实现。
图2示出了本发明一种图像路径生成方法的流程图,由图中可以看出,该方法主要包括以下步骤:
步骤S21:确定待处理区域;
选择待处理图像,通过点击位置确定图像中的待处理区域。其中,点击位置是指待生成的图像路径的起点和终点,该点击位置是通过操作者在待处理图像中通过点击确认的,如图3中所示的待处理图像,操作者通过点击操作确定点击位置信息(图4中的起点1和终点2),然后根据点击位置信息确定待处理区域。在确定待处理区域时,操作者可以根据需要设定待处理区域的最小设定范围,如果通过点击位置确定的待处理区域大于或等于设定范围,则以实际的待处理区域作为待处理区域;如果通过点击位置确定的待处理区域小于设定范围,则以设定值的范围作为待处理区域。
步骤S22:对待处理区域进行图像边缘检测,得到待处理区域的边界信息;
对步骤S21中得到的待处理区域进行图像边缘检测,并提取待处理区域的边界信息,其中包括待处理区域的边界图像,以及待处理区域在X、Y方向上的梯度图像。
在步骤S21确定图像的待处理区域后,可以针对不同质量的待处理区域图像,采用不同的预处理方式,提高图像的质量,使图像质量能够满足要求:对于质量较差的图像,在选定后可采用常用的图像处理方法对图像进行预处理,如降噪处理等,以提高图像的质量;对于质量比较好的图像,可直接进行待处理区域图像的边缘检测。当然,操作者可以根据各自的判断选择是否对图像进行预处理,而且预处理到怎样的效果也都是由操作者决定的,并没有强制的要求。
本实施方式中,在进行图像边缘检测时,一般采用常用的图像边缘检测算法来完成,并提取检测后的相应的边缘检测信息,如梯度等。在图像边缘检测算法当中,可以采用“强制修补”的方式(边缘检测算法当中的边界修补功能),完成对特定边缘(如强锯齿边缘)的检测。其中,在完成图像边缘检测后,针对边缘中出现断裂以及非平滑的现象,算法通过二值图像的形态学操作进行消除,避免由于图像边缘质量而带来的路径不平滑现象。
在进行图像边缘检测时,也可以采用图割算法进行图像边缘检测操作时,该方案需要操作者指定路径生成区域内的前景与背景区域,由图割算法完成两者之间的拆分,算法得到的拆分前、背景区域的分割线,通过拟合算法后,即是生成的路径,该方案由于采取图割算法,在生成路径过程中,不依赖边界信息,对弱梯度区域有较好的适应性,但是该方案交互方式较为复杂,整体路径生成效率较低,不利于全图路径的生成操作。所以在实际的操作过程中一般都采用图像边缘检测算法来完成该步骤。
其中,图像边缘检测算法或者图割算法都是现有的边缘检测算法,本实施方式中不再进行详细的说明。
步骤S23:根据点击位置和边界图像提取待处理边界,并得到待处理边界的边界链;
根据步骤S22中提取的待处理区域的边界图像,结合步骤S21中的点击位置信息,提取待处理边界,并得到待处理区域的边界链。其中,待处理边界是指距离点击位置最近的边界图像中的连通边界;边界链是指待处理边界的边界点的坐标信息。
在提取待处理边界时,在边界图像中的点击起点与终点附近,一般存在多条不相交的边界,而用户所要勾画的仅仅只有一条,即距离点击位置最近的边界,通过点击位置以及边界位置信息判断,提取出距离点击位置最近的连通边界,即为待处理边界。根据点击信息在边界图像中通过距离关系得到待处理边界,在实际的处理过程中,会通过数组的方式,存储待处理边界的各边界点坐标,形成边界链。
在待处理边界提取过程中,首先需要对边界图像中的各条边界进行连通域标定,即同一条连通的边界具有一个标定值,然后在点击位置起点、终点一定区域内寻找是否有相同的标定值存在,其中,若在起点和终点处都存在数目相同并且数值相同的多个标定值,则选取离起点和终点距离和最近的一组标定值对应的边界;若起点处标定值在终点处不存在,或者终点处的标定值在起点处不存在,则点击位置错误,无法继续下一步工作,返回错误信息;若在起点处存在多组标定值,而在终点处仅存在一个与起点处标定值相同的标定值,则提取终点处标定值对应的边界,反之,若在终点处存在多组标定值,而起点处仅存在一个与终点处标定值相同的标定值,则提取起点处标定值对应的边界。
步骤S24:生成边界链的有向图;
根据点击位置以及步骤S22中提取的待处理区域X、Y方向的梯度图像,生成边界链的有向图,并采用最短路径生成算法提取点击位置的起点至终点的最短路径。其中,说明:有向图是边界链各点(边界点)之间的路径关系,它只是一种数据结构的表述。有向图生成的具体方式为:
根据待处理区域的X、Y方向的梯度图像,计算边界链中起点到终点的所有节点(边界点)间的梯度值,将该梯度值作为节点间的权重,构成有向图;所述梯度值是指在边缘检测中提取的X、Y方向的梯度融合值。
在该步骤中每一次完成最短路径提取之后,会记录该次最短路径的路径生成信息,在下一次进行最短路径提取时,根据点击位置、边界信息以及先前路径生成信息生成边界链的有向图。在生成边界链之后,图像上边界点的位置信息便存储在边界链之中,并且在边界链当中,各个坐标点相邻,从任意一个边界点出发,可以直接到达与其相邻的边界点,如果不考虑梯度等信息的影响,则从任意一个边界点出发到任意一个边界点的距离即为一个累加值。在图生成算法当中,边界链中的一个节点为图中的一个节点,与该节点相邻的边界点为图中该节点所能直接达到的位置节点,而在图中,某节点达到与其相邻的节点,需要一定的消耗值,本实施方式中定义为距离或者权重,该距离通过X、Y方向的融合梯度求得,而权重的生成原则为:当不存在先前路径时,节点与节点的权重,与梯度强度有关,梯度强度越大,权重越小,反之权重越大;当存在先前路径时,当前路径不能与先前路径重叠,所以先前路径节点权重均为无穷大,当前路径节点间权重与梯度强度相关,也是梯度强大越大,权重越小,反之,权重越大。所以,在有向图的生成过程中,需要加入图像中梯度信息以及先前路径的影响,即从任意一个点出发,到达另外一个点,点与点之间如果梯度越强,表明边界越显著,两点之间的距离也越短,而针对已存在的路径,则不可能进行路径的回退,所以对已走过的路径(先前路径生成信息),距离设定为无穷大(权重设置为无穷大),表明在图当中,不可能走该条路径,从而生成一张路径图,图中各节点为边界点,各节点间的距离为梯度的加权值。
完成有向图的生成后,采用最短路径生成算法(现有技术),生成点击起点到终点的最短路径。
步骤S25:将最短路径进行曲线拟合,生成结果路径。
将步骤S24得到的最短路径进行曲线拟合,得到结果路径,即为生成的图像路径。通过上述步骤S21~S25即完成了一次图像路径的生成。如果在路径生成过程中,只需要完成一次路径生成,那么步骤S11~S15即可完成一次完整的结果路径的生成,
而在实际的图像路径生成过程中,因为在图像的路径处理过程中,可能由于图像的大小或者复杂程度,无法很好的一次性就完成图像路径的提取,所以通过选定位置信息,即边界的端点信息,将需要处理的图像的边界分成多次的路径提取,以保证最后生成路径的质量。所以完成一次路径生成之后,如果操作者还需要在此基础上继续进行图像路径的生成,则该方法还包括以下步骤:
步骤S26:以先前点击位置的终点为起点,确定新的点击位置,重复步骤S21~步骤S24,得到新的最短路径;
完成一段路径生成后,可以继续进行点击,此时默认当前路径起点为前一段路径终点,重复步骤S21~步骤S24,生成此时点击的最短路径,在步骤S24中,由于有先前路径存在,所以先前路径节点间权重设置为无穷大,使得最短路径算法求取的路径不会与前一段路径重叠。
在存在先前路径(该路径与当前路径相衔接)的情况下,为了实现衔接点的平滑过渡,通过在前一段路径生成过程中设置打断点,实现结果路径与新的最短路径的平滑拼接;具体方式为:
1)在结果路径中设置打断点;
2)将打断点之后的结果路径中的曲线转化为像素坐标点,与新的最短路径进行拼接;
3)将拼接之后的路径进行曲线拟合,得到新的路径结果,并将拟合后的结果在打断点处完成拼接。
在实际生成路径的过程中,每一段生成的曲线在末端均存在一个打断位置,在生成下一条边界的过程中,从打断位置起将最后一段曲线转换成实际的像素点,然后与现有的生成路径进行拼接,拼合后的路径依旧是像素坐标表示,并进行整体的拟合,最后在打断位置处进行曲线的平滑拼接。
处理方式分为两种情况:
1.点击的起始点为一个尖角点。在这种情况下,在整体拟合中,通过夹角判断能够得到点击起始点处的角度满足尖角点条件,此时,直接将起始点之后的曲线与先前的曲线进行拼接,完成路径的生成;
2.点击起始点为一个平滑点。在这种情况下,由于完成了当前路径与先前路径末端路径的整体拟合,能够保证在点击起始位置处的平滑性,剩下的仅仅是调整打断点处的平滑性,方法为:在设定的误差范围内,将整体拟合的路径的起始点与打断点拼接,调整打断点平滑性,保证新生成路径平滑。
步骤S27:将先前结果路径与新的最短路径进行曲线拟合,得到新的结果路径。
在进行曲线拟合时,考虑到操作者交互的扩展性,本方法提供了对路径曲线首尾点强制位置的功能,保证操作者在路径描画过程中,能够对某些点的位置进行人为的控制,进一步保证路径生成质量。
下面结合具体的实施例对本发明进行进一步的详细的说明。
实施例
图3为本实施例中的待处理图像,该图像的分辨率为3691×5456。
首先,由操作者进行点击操作,确定本实施例图像的点击位置,如图4所示,图中点击位置的起点为“1”,终点为“2”。确定点击位置后,根据点击位置确定图像中的待处理区域,本实施方式中设定的待处理区域的最小设定值为1000×1000,由于由点击位置的长度和宽度所确定的区域小于设定值,所以本实施例中的待处理区域为设定值1000×1000,根据点击位置信息和设定值得到本实施例的待处理区域如图5所示。之后对待处理区域进行边缘检测,本实施例中通过图像边缘检测算法得到待处理区域的边界信息,包括如6所示的边界图像,图7所示的待处理区域在X方向的梯度图,图8所示的Y方向的梯度图;再根据点击位置和边界图像提取待处理边界,由边界图像(图6)可以看出,在点击起点和终点附近,存在多条不相交的边界,提取出举例点击位置最近的连通边界,如图9所示,即为待处理边界,并通过数组存储各边界点的坐标信息,形成边界链。之后根据图7和图8中的梯度图像,生成边界链的有向图,通过X、Y方向上的融合梯度求的,最后得到融合梯度图像,如图10所示,再采用最短路径生成算法,生成点击起点到终点的最短路径,如图11所示,最后将生成的最短路径进行曲线拟合,得到结果路径,结果路径的放大图如图12所示。
完成图12所示的路径生成之后,继续点击,以该路径的终点“2”为起点,确定新的终点“3”,重复上述过程,生成新的最短路径。再将图12中的结果路径与新的路径进行衔接时,首先在图12中的路径中设置打断点,如图13中的点A,并将A点之后的曲线转化为像素坐标点,完成于新的当前路径的拼接,并一同进行拟合,完成两段路径的拼接,得到最后的拟合曲线,如图14和图15所示。当然,可以通过设置强制操作点,在路径的生成及曲线拟合过程中,由操作者进行路径形态的调整,更好的保证路径质量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。