用于图像转图形中边界线追踪的优化方法

文档序号:6391707阅读:283来源:国知局
专利名称:用于图像转图形中边界线追踪的优化方法
技术领域
本发明涉及一种用于图像转图形中边界线追踪的优化方法。
背景技术
在现有技术中,随着计算机和网络的普及,人们对用图像和图形来描述客观事物的需求量也在不断地增加,图像和图形的应用几乎渗透到人们生活的方方面面。大家都知道图像数据格式栅格的优势在于数据的叠置、组合运算和分析,以及数学模拟。而图形数据格式矢量的优势在于面向对象,结构紧凑,数据冗余度低,并具有空间数据的拓扑信息,便于深层次的分析。
这两种数据存储方式,各有优劣势,相互相辅相成,由于数据格式不同,为此人们设计了许多算法来实现这两种数据格式之间的相互转换,其中栅格格式数据到矢量格式数据的转换算法尤为困难,栅格转矢量即是提取具有相同编号的栅格集合表示的多边形区域的边界和边界的拓扑关系,并表示成矢量格式边界线的过程。栅格向矢量转换中最为困难的是边界线搜索、拓扑结构生成和多余点去除几个方面。
现有的图像转图形,也就是栅格转矢量直观的方法有两种一种从图像的角度跟踪并产生矢量,另一种是从矢量特性分析角度着手直接产生矢量第一种从图像的角度跟踪并产生矢量这也是大家容易想到的并且得到大家认可的方法,其过程分以下3个步骤1、多边形边界提取,即使用高通滤波将栅格图像二值化;2、边界线追踪,即对每个弧段由一个节点向另一个节点搜索。3、拓扑关系生成和去除多余点及曲线圆滑。从跟踪过程和跟踪结果进行分析,由于图像区域之间的相邻部分是两像素宽的双边界(如图1,区域I与区域II的边界线是ABCD和abcd,边界之间的距离是一个像元),实际上区域形状的复杂性,相邻区域的公共边界像素实际上很难确定,跟踪算法相当复杂而且容易出错。边界点删除中常用的算法有线性叠代法、分段三次多项式插值法、正轴抛物线平均加权法、斜轴抛物线平均加权法、样条函数插值法等。这些删除结点的算法都是基于边界线圆滑的角度来处理的,把边界线游离出来单独进行分析,由于跟踪的过程中没有考虑到实体之间的拓扑关系,导致很随机删点,为数据的更新和维护操作带来很多工作量。在进行数据的编辑修改操作时需同时对至少2个目标区域做相应变动,难免出现空洞和多边形交叉的情况,其拓扑一致性很难保证。通常处理这类问题是通过专业软件,以图像为背景,把矢量叠加到上面并在上面进行修改,作业员也需要一定的专业技能和知识背景。也正因为有这么多的技术问题没有解决,使得通过此方法很难应用到实际生产中去,而沿着此思路进行研究的人很多,得不偿失。
另一种是从矢量特性分析角度着手直接产生矢量,这以ENVI、n4||n6;C为没有被跟踪的点;D为已经被跟踪的点;isnode是检测被跟踪多边形的函数,isagain_point是检测多边形相交的函数,则其跟踪算法为if(A && isnode && C)goto find;if(A && isagain_point && isnode && D)goto find;if(B && isnode && C)goto find;if(B && isagain_point && isnode && D)goto find;本发明相对于现有技术,其优点如下


图1为现有技术中从图像的角度跟踪并产生矢量的原理图;图2为用现有技术ENVI提取的矢量图;
图3为图像中灰度值为130的区域边界矢量图;图4为采用本发明取舍多边形的边界结点,保证产生的矢量满足拓扑一致性条件,其多边形之间没有出现空洞,也不会有多边形交叉现象的矢量图;图5为孤点删除的原理图;图6为孤点删除处理后的图;图7为由0和1组成的边界图像;图8为跟踪方向为逆时针n0-n7的原理图;图9为边界记录图;图10为边界记录图;图11为通过叠代产生的图;图12为个别多边形相交的矢量图;图13为对图12通过对矢量修改后的图;图14为本发明的流程图;具体实施方式
参见图1、本发明方法的技术思想是目标地物的边界矢量,是没有线宽的,正是基于这个思想,本发明通过左上方向平移0.5像元,使矢量点落在像元的四个顶点,而不是像元的中心。因而图像区域之间的相邻部分边界是一条边而不是双边界,如图1,I与II的区域边界是粗的线,而不是ABCD和abcd。从矢量产生的源头上避免了区域之间的空洞出现,为成功的边界跟踪奠定基础。
通过上面方法提取的矢量能够明确地表现原来图像的边界特征,ERDAS等商业软件为代表,为了保证了原来目标地物的拓扑一致性,它把所有边界结点以锯齿的形式很被动的记录下来,如图1,区域I与区域II的边界是红线,而把原有的拓扑信息区域I与区域II临近没有利用,使得多余结点无法删除,它产生的矢量数随着图像大小增大,也成比例地增加,放大以后可以看到明显的锯齿。如N*M的长方形图像,它产生的矢量结点数是2N+2M,而实际上它的矢量结点数应该是4个点,这为以矢量作为研究对象的图形研究与分析增加许多工作量。(如图2,该图是用ENVI提取的矢量图),其数据量和数据质量比较差。其结果只能导致过程非常复杂,人工成分很多,建立拓扑关系容易出错,需要处理躁声点、毛刺、空洞等。
技术方案本发明的目的在于提供一种用于图像转图形中边界线追踪的优化方法,其图形存储空间少、图像误差小且无手工的工作量,自动化程度高。可以跟踪复杂图像。
为达到上述目的,本发明采用的技术方案为用于图像转图形中边界线追踪的优化方法,其特殊之处在于所述的方法包括以下步骤(1)、边界图像的产生为了使产生的边界矢量能够正好落在像元的四个角,通过以下变换来实现给定一个图像A,可以用行列数各加1的图像B往左上方平移0.5个像元去重叠,这样A图中的一个像元的四个顶点对应B图四个像元,其对应关系是
A{(i,j)}->B{(i,j),(i+1,j),(i+1,j+1),(i,j+1)}A图通过上式变换后,形成带边界的B图,所有非目标区域全部为0值,目标区域中的某一像元其上下左右四个像元都在目标区域中,则此像元也为0值,剩下的像元都为1值,这样由0和1组成的图像就是边界图像B图;(3)、边界跟踪边界跟踪也就是跟踪边界图像B图中像元值为1的边界,边界跟踪模板采用逆时针模板;(4)、边界点处理、记录a、采用逆时针模板,在跟踪过程中,就能够确保左侧像元值永远是目标物;而右侧的值有变化,则此点可能成为边界点,可以用isnode函数来实现。
b、如果检测的点中,有几个连续的点在一条直线上,去掉中间点。
c、两个检测点之间,如果存在大于1.5个像元点,则通过叠代记录中间边界点。
上述的图像处理过程中,首先进行图像处理,孤点与毛刺的删除。
在进行上述的图像处理的第(4)步骤后,进行多边形相交的处理。
在进行上述的图像处理的第(3)步骤中的边界跟踪中,必须有一边为被跟踪的多边形,一个多边形跟踪结束后才能跟踪下一个多边形。为了区分被跟踪过的像元和没有被跟踪跟踪过的像元,把已经跟踪过的像元赋值为3。设为A=n1||n3||n5||n7;B=n0||n2||但它保留了许多图像的性质,这些性质在跟踪过程中正好可以被很好地利用,使得我们可以使用4-连通或8-连通的分析方法处理这些矢量点,4-连通是指如图5中m1-m4四个像元,8-连通是指如图8中n0-n7八个像元,而矢量结点是根据拓扑关系来取舍的(如图1中的EF点必须保留,中间结则根据需要进行取舍)。而粗线的中间结点可以全部去除只保留起点和终点,数据量大大减少,使图1中五个点减少到两个点,这种方法既克服了传统软件上的由于数据冗余产生的大量锯齿,又为目标物的边界线跟踪和边界结点取舍提供理论依据和可行方法。
为了使得在边界跟踪的过程不出现混乱,要求整个过程必须严格按逆时针方向进行,这与GIS的很多软件要求是一致的,它能够确定多边形方向。在算法的设计上,为了保证拓扑一致性,必须使得用逆时针跟踪产生的结点与按顺时针产生的结点相同,只是次序相反。由于本方法点的取舍是基于拓扑关系的,而其他结点添加必须误差是大于1.5个像元才可,标准是一致的,因而能够满足上面的条件。在图1中,对I区域的边界是FE,而II区域的边界是EF,假设对I区域FE中间有一点P,P到FE的距离大于1.5个像元,且P是到FE的距离中最大的点,则I区域的边界结点应该是FPE;而对II区域,同样存在一点P,P到EF的距离大于1.5个像元,且P是到EF的距离中最大的点,所以II区域的边界结点当然应该是EPF。参见图4,由于用此方法取舍多边形的边界结点,保证产生的矢量满足拓扑一致性条件,所以使得跟踪后的多边形之间没有空洞的边界跟踪,也没有多边形交错。而且以曲线段为基本构成单位的矢量编码方式在今后数据更新和维护操作方面都带来方便,因为它的数据具有唯一性。
参见图14,本发明的流程图;本方法可以分为孤点删除、边界图像的产生、边界跟踪、边界点记录、个别多边形相交的处理等五个步骤一、孤点删除孤点只考虑两种情况没有同上下左右四个像元没有相同值的点,或者周围三个值是相同。第一种情况,参见图5,m1-m4值都互不相等,用四个值的均值来替代,这是从图像处理的角度来处理孤立点的,因为孤立点的矢量数据量是一个长方形的矢量数据,而把此点匀到周围八个像元的某一个像元,只导致一个像元的误差精度,显然是非常划算的。由于孤点的定义非常严格,不会出现误差积累。第二种情况其中m1-m4有三个值是相同,就用这值来替代原来的值,这种情况可以有效删除躁声及纯背景地物下的毛刺。
参见图6中,兰色的毛刺A,在黄颜色的背景中当成了孤立点(躁声点),而被删除。而毛刺B,则被保留下来。
二、边界图像的产生为了使产生的边界矢量能够正好落在像元的四个角,本算法是通过以下变换来实现的。
给定一个图像A,可以用行列数各加1的图像B往左上方平移0.5个像元去重叠,这样A图中的一个像元的四个顶点对应B图四个像元,其对应关系是
A{(i,j)}->B{(i,j),(i+1,j),(i+1,j+1),(i,j+1)}A图通过上式变换后,形成带边界的B图。在B图中,所有非目标区域全部为0值,目标区域中的某一像元其上下左右四个像元都在目标区域中,则此像元也为0值,剩下的像元都为1值,这样由0和1组成的图像就是边界图像,参见图7。
三、边界跟踪参见图8,边界跟踪也就是跟踪像元值为1的边界。边界跟踪模板采用逆时针模板,其跟踪方向为逆时针n0-n7。
在跟踪过程中必须有一边为被跟踪的多边形,一个多边形跟踪结束后才能跟踪下一个多边形。
为了区分被跟踪过的像元和没有被跟踪跟踪过的像元,把已经跟踪过的像元赋值为3。设为A=n1||n3||n5||n7;B=n0||n2||n4||n6;C为没有被跟踪的点;D为已经被跟踪的点;isnode是检测被跟踪多边形的函数,isagain_point是检测多边形相交的函数,则其跟踪算法为if(A && isnode && C)goto find;if(A && isagain_point && isnode && D)goto find;if(B && isnode && C)goto find;if(B && isagain_point && isnode && D)goto find;四、边界记录1、因为采用逆时针模板,在跟踪过程中,就能够确保左侧像元值永远是目标物。而右侧(即B图像中像元值为0的一侧)的值有变化(在A图像中有变化),则此点可能成为边界点,可以用isnode函数来实现。在图1中跟踪I区,其边界是F到E。跟踪到E点时右侧的值发生了变化。
2、如果检测的点中,有几个连续的点在一条直线上,去掉中间点。如ABC去B点;3、两个检测点之间,如果存在大于1.5个像元点,则通过叠代记录中间边界点;如BD间加C,FB间加A。
在图10中,黄色与灰色的边界,虽然首先确定的是AB边界,但最后记录下来的是BEDA(黄色区域的边界)或ADEB(灰色区域的边界)。图11是通过叠代产生的图。
五、个别多边形相交的处理通过上面四个步骤产生的边界点绝大多数多边形不会出现边界相交,对个别多边形可通过线与线相交的方法进行检测,并进行修改。参见图12、图13,图12通过对矢量修改后成为图13。这是由于多边形的自相交造成的,在905*302的图像上只出现一处,修改可通过程序来完成。
此方法说明误差的出现是由孤点删除和删除中间结点导致的,由于两种情况不会重叠,所以本方法只有1.5个像元误差,经过验证是合适的,它既保留图像原有的信息,又避免了第二种传统方法产生的边界为锯齿状况,并且有效地减少数据量。
遥感技术通过多年的研究和发展,遥感数据获取技术的突飞猛进,在其应用领域对矢量的需求也是与日巨增,但是栅格数据自动矢量化技术还不成熟,人工跟踪数字化是当前获取矢量数据的最主要方法,这势必造成工作量大、数据获取困难、效率低等缺点。这两头大中间小的瓶颈式格局用老方法显然是很难胜任的。本发明提出的全新的基于拓扑关系的多边形跟踪,彻底改变了手工作业的方式,使遥感技术产业化成为现实,把效率和可扩展性结合得恰到好处。
比较典型的拓扑规则是多边形不能相互重叠;点必须被多边形边线覆盖;不能有悬挂结点;两个线层不能相交等。在新方法中能够很好地满足,而用第一种传统方法是不可能实现的。
本研究课题,用C++builder语言编程的一个应用程序,对多组图像数据进行验算试验均取得了良好的效果,并证明了中间结点采用1.5个像元误差进行叠代计算是可行的。如果我们把按算法最初选择的多边形的边界点称为关键点的话,这关键点的取舍明显是依据拓扑关系的,为了增强边界的圆滑度而在关键点之间取的结点即叠代结点,它的取舍在前面提到的边界算法中也可以看出它不可能破坏原有的拓扑关系。用此方法彻底摒弃了传统方法中通过数学公式来人为达到曲线的圆滑度,不依据拓扑关系来确定中间结点的方法,完全解决了其不易于实现编辑、更新和维护操作等技术难点。
通过平移,使得矢量落到像元的顶点上,对矢量线利用图像的4-连通或8-连通性质进行跟踪,这为基于拓扑关系的边界跟踪提供了技术保障。经过试验证明,任何复杂的图像都可以成功跟踪,从而使得栅格转矢量从实验室走入图像应用的领域,直接而有效地提升了图像应用潜力,有效地克服了两头大中间小的瓶颈式格局。随着人们对信息化产业依赖程度的提高,对图像和矢量的需求量也越来越大,而本文提出的基于拓扑关系的边界跟踪正好能够起到桥梁的作用,而传统方法中的曲线的圆滑度必将被取代。
权利要求
1.用于图像转图形中边界线追踪的优化方法,其特征在于所述的方法包括以下步骤(1)、边界图像的产生为了使产生的边界矢量能够正好落在像元的四个角,通过以下变换来实现给定一个图像A,可以用行列数各加1的图像B往左上方平移0.5个像元去重叠,这样A图中的一个像元的四个顶点对应B图四个像元,其对应关系是A{(i,j)}->B{(i,j),(i+1,j),(i+1,j+1),(i,j+1)}A图通过上式变换后,形成带边界的B图,所有非目标区域全部为0值,目标区域中的某一像元其上下左右四个像元都在目标区域中,则此像元也为0值,剩下的像元都为1值,这样由0和1组成的图像就是边界图像B图;(3)、边界跟踪边界跟踪也就是跟踪边界图像B图中像元值为1的边界,边界跟踪模板采用逆时针模板;(4)、边界点处理、记录a、采用逆时针模板,在跟踪过程中,就能够确保左侧像元值永远是目标物;而右侧的值有变化,则此点可能成为边界点,可以用isnode函数来实现。b、如果检测的点中,有几个连续的点在一条直线上,去掉中间点。c、两个检测点之间,如果存在大于1.5个像元点,则通过叠代记录中间边界点。
2.根据权利要求1所述的用于图像转图形中边界线追踪的优化方法,其特征在于上述的图像处理过程中,首先进行图像处理,孤点与毛刺的删除。
3.根据权利要求1或2所述的用于图像转图形中边界线追踪的优化方法,其特征在于在进行上述的图像处理的第(4)步骤后,进行多边形相交的处理。
4.根据权利要求1所述的用于图像转图形中边界线追踪的优化方法,其特征在于在进行上述的图像处理的第(3)步骤中的边界跟踪中,必须有一边为被跟踪的多边形,一个多边形跟踪结束后才能跟踪下一个多边形。为了区分被跟踪过的像元和没有被跟踪跟踪过的像元,把已经跟踪过的像元赋值为3。设为A=n1||n3||n5||n7;B=n0||n2||n4||n6;C为没有被跟踪的点;D为已经被跟踪的点;isnode是检测被跟踪多边形的函数,isagain_point是检测多边形相交的函数,则其跟踪算法为if(A && isnode && C)goto find;if(A && isagain_point && isnode && D)goto find;if(B && isnode && C)goto find;if(B && isagain_point && isnode && D)goto find;
全文摘要
本发明涉及一种用于图像转图形中边界线追踪的优化方法。现有技术中图像转图形,也就是栅格转矢量直观的方法有两种,一种从图像的角度跟踪并产生矢量,另一种是从矢量特性分析角度着手直接产生矢量,其过程非常复杂,建立拓扑关系容易出错,需要处理毛刺、空洞等;本发明通过左上方向平移0.5像元,使矢量点落在像元的四个顶点,因而图像区域之间的相邻部分边界是一条边而不是双边界,为成功的边界跟踪奠定基础。本方法具体为孤点删除、边界图像的产生、边界跟踪、边界点记录、个别多边形相交的处理五个步骤,其可跟踪复杂图像,且图形存储空间少、图像误差小且无手工的工作量,自动化程度高。
文档编号G06T3/00GK1584932SQ200410026229
公开日2005年2月23日 申请日期2004年6月10日 优先权日2004年6月10日
发明者俞小林, 林燕 申请人:西安煤航遥感信息有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1