CN110675417A - 一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 - Google Patents
一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 Download PDFInfo
- Publication number
- CN110675417A CN110675417A CN201910909876.0A CN201910909876A CN110675417A CN 110675417 A CN110675417 A CN 110675417A CN 201910909876 A CN201910909876 A CN 201910909876A CN 110675417 A CN110675417 A CN 110675417A
- Authority
- CN
- China
- Prior art keywords
- tracking
- polygon
- run
- current
- ring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,包括游程编码和边缘跟踪两大步骤,边缘跟踪包括确定跟踪入口及初始方向、确定跟踪规则、游程标记、内外环判断及处理步骤;确定跟踪规则环节包括生成4连通区域和8连通区域,游程标记环节是在跟踪过程中对相关游程编码进行标记,内外环判断及处理环节包括内环和外环的判断及内外环的关联,整个算法流程分为六步骤。本发明占用内存空间大幅减小、可以生成4‑连通多边形、8‑连通多边形、提升了查找效率、省去了结点生成弧段中间过程,提升了闭合边界生成效率;对于带内环的多边形,将内部边界快速的和外部边界对应起来,提升了带内环多边形生成效率,进而提高了矢量化效率。
Description
技术领域
本发明涉及遥感科学技术与地理信息系统中大数据量遥感分类栅格数据矢量化方法领域,特别是一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法。
背景技术
在地理、自然资源、生态环境、农业等部门测绘信息处理中,经常会涉及到对栅格数据与矢量数据的互相转换。栅格数据与矢量数据是两种重要的数据存储格式,栅格数据具有存储量较大且会有大量数据冗余的特点;矢量数据仅存储节点信息,具有占用存储空间小的特点,因此通常用矢量格式来存储数据。遥感分类数据实质是一种栅格数据形式,占用的存储空间较大,如果将其转化为矢量格式可以节省大量的存储空间。
现有对于栅格数据的处理方法可以划分为两大类:边缘跟踪法和游程编码法,两种方法各有利弊。边缘跟踪法首先寻找遥感分类栅格数据中的结点,然后由各结点生成弧段,最后由弧段生成多边形。该方法需要将整幅影像读入内存,因此占用的内存空间消耗较大;另外该方法采用“结点-弧段-多边形”的思路,矢量化的过程较慢,效率也相对较低。游程编码法能够实现对栅格影像的压缩,适用于大数据量栅格数据的矢量化,但现有方法也多采用“结点-弧段-多边形”的思路,矢量化的过程较慢,效率也较低。基于上述现有技术,当遥感分类数据量较小时,现有算法可以满足需要;当遥感分类数据量较大时,现有算法由于存在的弊端则无法适用。
现有技术中,栅格矢量化技术效率低的问题主要是由于以下原因造成的。图10是栅格矢量化多边形的相关概念,栅格矢量化每个多边形都是由一个外环和多个内环组成,每个多边形且只有一个外环,但是可以没有内环;内环完全位于外环内部;内环也可以称之为岛;环是指由一系列首尾相连的点组成的封闭多边形;每个环都是由若干个节点组成;多边形包含1个外环A→B→C→D→E→F→G→H→A和2个内环1→2→3→4→1、a→b→c→d→a。图11是栅格矢量化示意图,栅格矢量化实际上就是一个个多边形的生成过程;图11中每一个单元格表示一个像元,相同背景色的单元格表示像元的颜色相同。图11中黑色区域的矢量化结果为带一个内环的多边形,其中外环为黑色实线,内环为黑色虚线;传统矢量化方法多为首先生成一个个封闭的环,然后再通过环之间的包含关系,将一个个的环组合成多边形;以图11为例,传统方法会首先生成外环(黑色粗实线),再生成内环(黑色粗虚线);由于没有建立外环和内环之间的映射关系,需要采用拓扑判断(包含)的方法确定黑色粗虚线对应的外环是黑色实线,由于过程中多了包含拓扑关系判断的环节,因此导致传统矢量化方法的效率相对较低。
发明内容
为了克服现有栅格矢量化技术效率低的弊端,本发明提供了通过游程编码解决了传统方法占用内存空间大的问题,通过设定一定的跟踪标记实现内环与外环的快速映射,矢量化过程中首先生成外环,记录下该外环的索引值,并对相关的游程编码编号;当内环生成时,通过其游程编码对应的编号值可以快速的找到其对应外环的索引,直接将内环与对应的外环绑定在一起,省去了包含拓扑关系判断的过程,进而提高了矢量化效率的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法。
本发明解决其技术问题所采用的技术方案是:
一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于包括游程编码和边缘跟踪两大步骤,游程编码是对原始栅格数据进行压缩,将原始栅格数据转化为按行存储的游程编码,边缘跟踪包括确定跟踪入口及初始方向、确定跟踪规则、游程标记、内外环判断及处理步骤;确定跟踪入口及初始方向中,包括边缘跟踪的入口及初始跟踪方向;确定跟踪规则中,包括生成4连通区域、生成8连通区域;游程标记中,包括跟踪过程中对相关游程编码进行标记,内外环判断及处理中,包括内环和外环的判断及内外环的关联,算法流程分为六步骤,A:根据游程编码和游程标记,遍历整幅栅格数据,以行为单位,采用游程编码对整幅栅格数据进行压缩,各游程编码默认的标记为0,标号为-1;B:根据确定跟踪规则、确定跟踪入口及初始方向、游程标记,从第一个游程开始,如果游程的标记为1,则跳入到下一个游程,否则从该游程的跟踪入口开始,将游程编码的属性设置为当前属性,设定初始方向为上,依据跟踪规则,确定第二个跟踪方向,第二个跟踪方向为左,则执行步骤C,为右,则执行步骤D;C:根据内外环判断及处理,当前环为外环,生成一个新多边形,多边形的属性为当前属性,多边形的索引从0开始递增;D:根据确定跟踪规则、内外环判断及处理,当前环为内环,获取跟踪入口对应游程编码的标号值,作为该内环对应的多边形索引值;E:根据确定跟踪规则、生成4连通区域、生成8连通区域,依据跟踪规则继续跟踪,获得下一个跟踪方向,循环此过程直到回到跟踪入口结束,该闭合环为外环,则作为新多边形的外环;若为内环,则加入到其对应多边形中,作为该多边形的内环,跟踪过程中,当跟踪方向为上时,将其左侧游程的标记值设定为1,跟踪方向为下时,将其左侧游程的标号值设定为当前多边形的索引值,每次边缘跟踪形成一条闭合环,直接组成多边形的外环或者内环,避免由弧段生成多边形,进而提高栅格数据矢量化效率;F:遍历完所有游程,矢量化算法结束。
进一步地,所述游程编码步骤中,游程编码用来对栅格数据进行压缩,依据算法需求,在传统游程基础上新增两个数据,标记及编号,标记用来记录该游程是否已经被处理,防止游程被重复跟踪,编号用来记录该游程所属多边形的标号,便于快速获取内环对应的多边形;为了快速获取像元对应的游程编码,以行为单位顺序存储游程编码,游程编码中的终止点用终止列号表示,对于任意位置的像元,首先依据像元行号确定对应游程编码的所在行,然后依据列号采用折半查找算法获取对应的游程编码。
进一步地,所述边缘跟踪步骤中,从跟踪入口出发,依据一定跟踪规则,形成一个闭合环的过程,闭合环从跟踪入口出发,回到跟踪入口结束,对应多边形的一个外环或内环。
进一步地,所述边缘跟踪的确定跟踪入口及初始方向步骤中,跟踪入口位于各个游程编码尾部像元的右上角,跟踪入口是边缘跟踪的起点,一幅栅格数据对应多个跟踪入口,跟踪过程中,将该游程编码的属性值作为当前属性值,按照从上到下、从左到右的顺序进行边缘跟踪,定义跟踪入口的初始方向向上。
进一步地,所述边缘跟踪的确定跟踪规则步骤中,跟踪规则是由当前跟踪点及跟踪方向确定下一跟踪方向的依据,首先基于当前点位置与跟踪方向,确定左向像元与右向像元,比较当前属性值与左右向像元的属性值,获得下一跟踪方向,在跟踪的过程中,步长为1个像元的宽度,不同连通类型的多边形对应不同的跟踪规则。
进一步地,所述边缘跟踪的生成4连通区域步骤中,比较左向像元属性值与当前属性值,若两者不同,则下一跟踪方向为当前方向的左向,若两者相同,则比较右向像元属性值与当前属性值,若两者相同,则下一跟踪方向为当前方向的右向,否则下一跟踪方向与当前方向一致。
进一步地,所述边缘跟踪的生成8连通区域步骤中,比较右向像元属性值与当前属性值,若两者相同,则下一跟踪方向为当前方向的右向,若两者不同,则比较左向像元属性值与当前属性值,若两者相同,则下一跟踪方向与当前方向保持一致,否则下一跟踪方向为当前方向的左向。
进一步地,所述边缘跟踪的游程标记步骤中,一个多边形通常对应多个游程,为了防止生成重复的多边形,需要对已处理的游程进行标记,已标记游程尾部像元的左上角不再作为跟踪入口,为了快速获取内环所属的多边形,需对游程进行标号,该标号对应其所属多边形的索引,边缘跟踪时,若当前跟踪方向向上,则将其左侧游程编码的标记值设置为已标记,若当前跟踪方向向下,则将其左侧游程编码的标号值设定为当前多边形的索引。
进一步地,所述边缘跟踪的内外环判断及处理步骤中,内环与外环的跟踪方向不同,内环对应的跟踪方向为顺时针,外环对应的跟踪方向为逆时针,边缘跟踪顺序为从上到下,由初始的向上跟踪方向得到的第二个跟踪方向必为向左或者向右,若第二个跟踪方向向左,则当前跟踪方向为逆时针,该环为外环,若第二个跟踪方向向右,则当前跟踪方向为顺时针,该环为内环,由于内环位于多边形内部,边缘跟踪顺序为从左到右,故先形成此多边形的外环,然后才会形成此多边形的内环,若跟踪环为外环,则构建一个新的多边形,多边形的属性为当前属性值,跟踪结束后,将形成的闭合环作为此多边形的外环,若跟踪环为内环,则将其添加到已存在的多边形中,将该环作为此多边形的内环,该多边形的索引值即为内环跟踪入口对应游程编码的标号值。
本发明有益效果是:本发明通过游程编码的方法,将原始遥感分类栅格数据转化为游程编码,占用内存空间大幅减小;通过改变跟踪规则,既可以生成4-连通多边形,也可以生成8-连通多边形,支持生成不同连通类型的多边形;在矢量化过程中通过折半查找获取指定像元的属性值,提升了查找效率;另一方面直接由结点连续跟踪得到完整的多边形,省去了结点生成弧段的中间过程,提升了闭合边界的生成效率,另外,对于带内环的多边形,外部边界和内部边界的生成顺序不同,通过建立外部边界与内部边界的映射关系,可以将内部边界快速的和外部边界对应起来,提升了带内环多边形的生成效率,矢量化效率提高,解决了传统方法矢量化效率低下的问题。基于上述,所以本发明具有好的应用前景。
附图说明
下面结合附图和实施例对本发明做进一步说明。
图1是本发明左右向像元示意图。
图2是本发明不同连通类型多边形示意图。
图3是本发明流程框图示意。
图4是本发明游程编码1示意图。
图5是本发明跟踪入口及初始方向示意图。
图6是本发明不同方向的左右向示意图。
图7是本发明不同连通类型的跟踪结果示意图。
图8是本发明矢量化算法示意图。
图9是本发明游程编码2示意图。
图10是本发明中涉及到的带内环多边形示意图。
图11本发明中涉及到的现有栅格矢量化示意图。
具体实施方式
图1中所示,本发明的左右向像元基本定义如下:(1)栅格数据中的像元是一个有大小的正方形,由右下角、右上角、左上角、左下角四个角点组成;(2)栅格矢量化的结果为多边形,最小多边形由1个像元组成;(3)矢量多边形由一个外环和多个内环组成。内环个数可以为0;(4)边缘跟踪时,跟踪方向只有上、下、左、右四个基本方向;(5)边缘跟踪时,定义左向像元为跟踪点沿跟踪方向左边的像元,右向像元为跟踪点沿跟踪方向右边的像元。图2中所示,本发明不同连通类型多边形基本定义如下:依据对应栅格区域的连通性,将矢量多边形划分为4连通多边形与8连通多边形。前者对应4连通的栅格区域,后者对应8连通的栅格区域。图2(a)中,A-E号5个像元在空间上4连通,对应多边形为4连通多边形;图2(b)中,A和C号像元在空间上8连通,对应多边形为8连通多边形。本发明总体思路如下,应用中首先遍历整幅栅格数据,获得游程编码,然后遍历所有游程编码,以各游程编码尾部的跟踪入口为起点,依据当前点及当前方向,按照跟踪规则确定下一个方向,获得下一个跟踪点,回到起点时跟踪结束,形成一条闭合环,若该闭合环为外环,直接由该环生成一个新多边形,若为内环,则判断其归属的多边形,将其作为该多边形的内环,每次边缘跟踪形成一条闭合环,直接组成多边形的外环或者内环,避免由弧段生成多边形,进而提高栅格数据矢量化效率。
图3中所示,一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,包括游程编码和边缘跟踪两大步骤,游程编码是对原始栅格数据进行压缩,将原始栅格数据转化为按行存储的游程编码。边缘跟踪包括确定跟踪入口及初始方向、确定跟踪规则、游程标记、内外环判断及处理步骤。确定跟踪入口及初始方向中,包括边缘跟踪的入口及初始跟踪方向;确定跟踪规则中,包括生成4连通区域、生成8连通区域;游程标记中,包括跟踪过程中对相关游程编码进行标记,内外环判断及处理中,包括内环和外环的判断及内外环的关联。算法流程分为六步骤,A:根据游程编码和游程标记,遍历整幅栅格数据,以行为单位,采用图4游程编码对整幅栅格数据进行压缩,各游程编码默认的标记为0,标号为-1;B:根据确定跟踪规则、确定跟踪入口及初始方向、游程标记,从第一个游程开始,如果游程的标记为1,则跳入到下一个游程,否则从该游程的跟踪入口开始,将游程编码的属性设置为当前属性,设定初始方向为上,依据跟踪规则,确定第二个跟踪方向,第二个跟踪方向为左,则执行步骤C,为右,则执行步骤D;C:根据内外环判断及处理,当前环为外环,生成一个新多边形,多边形的属性为当前属性,多边形的索引从0开始递增;D:根据确定跟踪规则、内外环判断及处理,当前环为内环,获取跟踪入口对应游程编码的标号值,作为该内环对应的多边形索引值;E:根据确定跟踪规则、生成4连通区域、生成8连通区域,依据跟踪规则继续跟踪,获得下一个跟踪方向,循环此过程直到回到跟踪入口结束,该闭合环为外环,则作为新多边形的外环;若为内环,则加入到其对应多边形中,作为其内部的一个内环,跟踪过程中,当跟踪方向为上时,将其左侧游程的标记值设定为1,跟踪方向为下时,将其左侧游程的标号值设定为当前多边形的索引值,每次边缘跟踪形成一条闭合环,直接组成多边形的外环或者内环,避免由弧段生成多边形,进而提高栅格数据矢量化效率;F:遍历完所有游程,矢量化算法结束。
图4中所示,游程编码步骤中,游程编码用来对栅格数据进行压缩,依据算法需求,在传统游程基础上新增两个数据:标记及标号。标记用来记录该游程是否已经被处理,防止游程被重复跟踪;编号用来记录该游程所属多边形的标号,便于快速获取内环对应的多边形。为了快速获取像元对应的游程编码,以行为单位顺序存储游程编码,游程编码中的终止点用终止列号表示,对于任意位置的像元,首先依据像元行号确定对应游程编码的所在行,然后依据列号采用折半查找算法获取对应的游程编码。
图5中所示,边缘跟踪步骤中,从跟踪入口出发,依据一定跟踪规则,形成一个闭合环的过程,闭合环从跟踪入口出发,同到跟踪入口结束,对应多边形的一个外环或内环;边缘跟踪的确定跟踪入口及初始方向步骤中,跟踪入口位于各个游程编码尾部像元的右上角,跟踪入口是边缘跟踪的起点,一幅栅格数据对应多个跟踪入口,跟踪过程中,将该游程编码的属性值作为当前属性值,按照从上到下、从左到右的顺序进行边缘跟踪,定义跟踪入口的初始方向向上。
图6中所示,边缘跟踪的确定跟踪规则步骤中,跟踪规则是由当前跟踪点及跟踪方向确定下一跟踪方向的依据。首先基于当前点位置与跟踪方向,确定左向像元与右向像元,比较当前属性值与左右向像元的属性值,获得下一跟踪方向,在跟踪的过程中,步长为1个像元的宽度,不同连通类型的多边形对应不同的跟踪规则。边缘跟踪的生成4连通区域步骤中,比较左向像元属性值与当前属性值,若两者不同,则下一跟踪方向为当前方向的左向,若两者相同,则比较右向像元属性值与当前属性值,若两者相同,则下一跟踪方向为当前方向的右向,否则下一跟踪方向与当前方向一致。边缘跟踪的的生成8连通区域步骤中,比较右向像元属性值与当前属性值,若两者相同,则下一跟踪方向为当前方向的右向,若两者不同,则比较左向像元属性值与当前属性值,若两者相同,则下一跟踪方向与当前方向保持一致,否则下一跟踪方向为当前方向的左向。图7为不同连通类型的跟踪结果图。图7中,当前跟踪方向向上,当前属性为1;图7(a)中,当前跟踪点的左向像元属性为2,与当前属性1不同,故下一跟踪方向为当前方向的左向,即向左;图7(b)中,当前跟踪点的右向像元属性为1,与当前属性1相同,故下一跟踪方向为当前方向的右向,即向右;当跟踪到栅格数据边界,导致跟踪点的左右向像元位于边界外时,可以假定左右向像元的属性值与当前属性值不同。应用中利用当前跟踪点与下一跟踪方向,依据跟踪步长,可以获得下一个跟踪点;令当前跟踪点的行列号为(h,l),当下一跟踪方向为左,则下一跟踪点的行列号为(h,l-1);下一跟踪方向为右,则下一跟踪点的行列号为(h,l+1);下一跟踪方向为上,则下一跟踪点的行列号为(h-1,l);下一跟踪方向为下,则下一跟踪点的行列号为(h+1,l);为了减少数据冗余,对连续的两个跟踪方向进行比较,若两者相同,则该点仅作为跟踪点,不作为多边形的节点;否则将该点作为多边形的节点。
边缘跟踪的游程标记步骤中,一个多边形通常对应多个游程,为了防止生成重复的多边形,需要对已处理的游程进行标记,已标记游程尾部像元的左上角不再作为跟踪入口。为了快速获取内环所属的多边形,需对游程进行标号,该标号对应其所属多边形的索引。边缘跟踪时,若当前跟踪方向向上,则将其左侧游程编码的标记值设置为已标记,若当前跟踪方向向下,则将其左侧游程编码的标号值设定为当前多边形的索引。边缘跟踪的内外环判断及处理步骤中,内环与外环的跟踪方向不同,内环对应的跟踪方向为顺时针,外环对应的跟踪方向为逆时针。边缘跟踪顺序为从上到下,由初始的向上跟踪方向得到的第二个跟踪方向必为向左或者向右。若第二个跟踪方向向左,则当前跟踪方向为逆时针;该环为外环,若第二个跟踪方向向右,则当前跟踪方向为顺时针,该环为内环。由于内环位于多边形内部,边缘跟踪顺序为从左到右,故先形成此多边形的外环,然后才会形成此多边形的内环。若跟踪环为外环,则构建一个新的多边形,多边形的属性为当前属性值,跟踪结束后,将形成的闭合环作为此多边形的外环;若跟踪环为内环,则将其添加到已存在的多边形中,将该环作为此多边形的内环,该多边形的索引值即为内环跟踪入口对应游程编码的标号值。
图8是本发明矢量化方法的示意图(生成8连通区域)。图8(a)为栅格数据及对应的游程编码。该栅格数据中包含3个属性值:A、B、C,对属性值A的多边形生成算法进行图解。图8(b)为将V14作为跟踪入口,初始跟踪方向为上,将该跟踪点左侧游程编码的标记值设定为1,表明该游程已经被处理;图8(c)表示第二个跟踪方向为左,这是因为该点的左右向像元均位于边界外。初始跟踪方向与第二个跟踪方向构成了逆时针旋转,故该环为外环,此时应生成一个多边形,多边形的属性值为A,索引值为0;图8(d)表示跟踪到V11时的结果,此前共跟踪了V13、V12两个点,但是由于这两个点连续两次跟踪方向均为左,故是中间过渡点,不作为多边形的节点。图8(e)表示在跟踪点V11处,当前跟踪方向为左时,下一跟踪方向为下,将当前跟踪方向左侧游程的标号设定为0;该点跟踪方向发生改变,故该点为多边形节点。图8(f)表示逐次跟踪下去,最后同到了起点V12,此时一个封闭的环形成,作为新生成多边形的外环。图8(g)表示以V22为下一个跟踪入口,初始跟踪方向为上,将该跟踪点左侧游程编码的标记值设定为1。图8(h)表示第二个跟踪方向为右,这是因为V22右向像元的属性也为A。初始跟踪方向与第二个跟踪方向构成了顺时针旋转,故该环为内环,该内环所属多边形的索引为跟踪起点对应游程编码(第二行第一个)的标号值0。图8(g)表示按照跟踪规则,跟踪到入口V22时结束。至此,属性为A的游程编码已经处理完毕,则属性A对应的多边形含一个外环V14→V11→V41→V43→V33→V34→V14及一个内环V22→V23→V33→V32→V22。
图9(a)(b)所示,为了解释本发明为何占用内存空间较小的问题,首先需要解释下游程编码的概念。游程编码是一种栅格数据的常用压缩方式,对于栅格分类数据,其各个类别值的出现频率会较大,因此游程编码的压缩率较高。本发明中的游程编码按行存储,每一个游程编码包含终止点与属性值,属性值即为类别值。图9为栅格分类数据及对应的游程编码,原始栅格有30个数字,假定每个数字用1个字节存储,则需要占用30个字节的存储空间;经过游程编码压缩后,一共有22个数字,只需要占用22个子节的存储空间。本发明采用游程编码对栅格分类数据进行压缩,后续的属性值查找也是通过折半查找来实现,没有针对原始栅格分类数据进行直接操作,因此可以节约存储空间。本发明通过游程编码的方法,将原始遥感分类栅格数据转化为游程编码,占用内存空间大幅减小;通过改变跟踪规则,既可以生成4-连通多边形,也可以生成8-连通多边形,支持生成不同连通类型的多边形;在矢量化过程中通过折半查找获取指定像元的属性值,提升了查找效率,另一方面直接由结点连续跟踪得到完整的多边形,省去了结点生成弧段的中间过程,提升了闭合边界的生成效率;另外,对于带内环的多边形,外部边界和内部边界的生成顺序不同,通过建立外部边界与内部边界的映射关系,可以将内部边界快速的和外部边界对应起来,提升了带内环多边形的生成效率,矢量化效率提高,解决了传统方法矢量化效率低的问题。
以上显示和描述了本发明的主要特征及本发明的优点,对于本领域技术人员而言,显然本发明限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (9)
1.一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于包括游程编码和边缘跟踪两大步骤,游程编码是对原始栅格数据进行压缩,将原始栅格数据转化为按行存储的游程编码,边缘跟踪包括确定跟踪入口及初始方向、确定跟踪规则、游程标记、内外环判断及处理步骤;确定跟踪入口及初始方向中,包括边缘跟踪的入口及初始跟踪方向;确定跟踪规则中,包括生成4连通区域、生成8连通区域;游程标记中,包括跟踪过程中对相关游程编码进行标记,内外环判断及处理中,包括内环和外环的判断及内外环的关联,算法流程分为六步骤,A:根据游程编码和游程标记,遍历整幅栅格数据,以行为单位,采用游程编码对整幅栅格数据进行压缩,各游程编码默认的标记为0,标号为-1;B:根据确定跟踪规则、确定跟踪入口及初始方向、游程标记,从第一个游程开始,如果游程的标记为1,则跳入到下一个游程,否则从该游程的跟踪入口开始,将游程编码的属性设置为当前属性,设定初始方向为上,依据跟踪规则,确定第二个跟踪方向,第二个跟踪方向为左,则执行步骤C,为右,则执行步骤D;C:根据内外环判断及处理,当前环为外环,生成一个新多边形,多边形的属性为当前属性,多边形的索引从0开始递增;D:根据确定跟踪规则、内外环判断及处理,当前环为内环,获取跟踪入口对应游程编码的标号值,作为该内环对应的多边形索引值;E:根据确定跟踪规则、生成4连通区域、生成8连通区域,依据跟踪规则继续跟踪,获得下一个跟踪方向,循环此过程直到回到跟踪入口结束,该闭合环为外环,则作为新多边形的外环;若为内环,则加入到其对应多边形中,作为该多边形的内环,跟踪过程中,当跟踪方向为上时,将其左侧游程的标记值设定为1,跟踪方向为下时,将其左侧游程的标号值设定为当前多边形的索引值,每次边缘跟踪形成一条闭合环,直接组成多边形的外环或者内环,避免由弧段生成多边形,进而提高栅格数据矢量化效率;F:遍历完所有游程,矢量化算法结束。
2.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,游程编码步骤中,游程编码用来对栅格数据进行压缩,依据算法需求,在传统游程基础上新增两个数据,标记及编号,标记用来记录该游程是否已经被处理,防止游程被重复跟踪,编号用米记录该游程所属多边形的标号,便于快速获取内环对应的多边形,为了快速获取像元对应的游程编码,以行为单位顺序存储游程编码,游程编码中的终止点用终止列号表示,对于任意位置的像元,首先依据像元行号确定对应游程编码的所在行,然后依据列号采用折半查找算法获取对应的游程编码。
3.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,边缘跟踪步骤中,从跟踪入口出发,依据一定跟踪规则,形成一个闭合环的过程,闭合环从跟踪入口出发,回到跟踪入口结束,对应多边形的一个外环或内环。
4.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,边缘跟踪的确定跟踪入口及初始方向步骤中,跟踪入口位于各个游程编码尾部像元的右上角,跟踪入口是边缘跟踪的起点,一幅栅格数据对应多个跟踪入口,跟踪过程中,将该游程编码的属性值作为当前属性值,按照从上到下、从左到右的顺序进行边缘跟踪,定义跟踪入口的初始方向向上。
5.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,边缘跟踪的确定跟踪规则步骤中,跟踪规则是由当前跟踪点及跟踪方向确定下一跟踪方向的依据,首先基于当前点位置与跟踪方向,确定左向像元与右向像元,比较当前属性值与左右向像元的属性值,获得下一跟踪方向,在跟踪的过程中,步长为1个像元的宽度,不同连通类型的多边形对应不同的跟踪规则。
6.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,边缘跟踪的生成4连通区域步骤中,比较左向像元属性值与当前属性值,若两者不同,则下一跟踪方向为当前方向的左向,若两者相同,则比较右向像元属性值与当前属性值,若两者相同,则下一跟踪方向为当前方向的右向,否则下一跟踪方向与当前方向一致。
7.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,边缘跟踪的生成8连通区域步骤中,比较右向像元属性值与当前属性值,若两者相同,则下一跟踪方向为当前方向的右向,若两者不同,则比较左向像元属性值与当前属性值,若两者相同,则下一跟踪方向与当前方向保持一致,否则下一跟踪方向为当前方向的左向。
8.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,边缘跟踪的游程标记步骤中,一个多边形通常对应多个游程,为了防止生成重复的多边形,需要对已处理的游程进行标记,已标记游程尾部像元的左上角不再作为跟踪入口,为了快速获取内环所属的多边形,需对游程进行标号,该标号对应其所属多边形的索引,边缘跟踪时,若当前跟踪方向向上,则将其左侧游程编码的标记值设置为已标记,若当前跟踪方向向下,则将其左侧游程编码的标号值设定为当前多边形的索引。
9.根据权利要求1所述的一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法,其特征在于,边缘跟踪的内外环判断及处理步骤中,内环与外环的跟踪方向不同,内环对应的跟踪方向为顺时针,外环对应的跟踪方向为逆时针,边缘跟踪顺序为从上到下,由初始的向上跟踪方向得到的第二个跟踪方向必为向左或者向右,若第二个跟踪方向向左,则当前跟踪方向为逆时针,该环为外环,若第二个跟踪方向向右,则当前跟踪方向为顺时针,该环为内环,由于内环位于多边形内部,边缘跟踪顺序为从左到右,故先形成此多边形的外环,然后才会形成此多边形的内环,若跟踪环为外环,则构建一个新的多边形,多边形的属性为当前属性值,跟踪结束后,将形成的闭合环作为此多边形的外环,若跟踪环为内环,则将其添加到已存在的多边形中,将该环作为此多边形的内环,该多边形的索引值即为内环跟踪入口对应游程编码的标号值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910909876.0A CN110675417B (zh) | 2019-09-25 | 2019-09-25 | 一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910909876.0A CN110675417B (zh) | 2019-09-25 | 2019-09-25 | 一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110675417A true CN110675417A (zh) | 2020-01-10 |
CN110675417B CN110675417B (zh) | 2022-08-30 |
Family
ID=69079227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910909876.0A Active CN110675417B (zh) | 2019-09-25 | 2019-09-25 | 一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110675417B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914045A (zh) * | 2020-07-09 | 2020-11-10 | 珠海云洲智能科技有限公司 | 一种数据压缩方法、装置、终端设备及存储介质 |
CN112651937A (zh) * | 2020-12-24 | 2021-04-13 | 中国林业科学研究院资源信息研究所 | 一种分层树冠识别方法 |
CN116431964A (zh) * | 2023-04-20 | 2023-07-14 | 浙江省水利河口研究院(浙江省海洋规划设计研究院) | 一种复杂河网水系骨架线生成的游程剥离法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0017284D0 (en) * | 2000-07-14 | 2000-08-30 | Vhsoft Technologies Company Li | Computer automated process for vectorization of raster images |
US20060002614A1 (en) * | 2004-06-30 | 2006-01-05 | Alliances Artquest International Inc. | Raster-to-vector conversion process and apparatus |
CN101630463A (zh) * | 2009-07-30 | 2010-01-20 | 上海交通大学 | 路网栅格数字地图自动矢量化方法 |
CN101751449A (zh) * | 2009-09-16 | 2010-06-23 | 中国科学院计算技术研究所 | 一种用于地理信息系统中的空间叠加分析方法和系统 |
CN102103759A (zh) * | 2011-03-31 | 2011-06-22 | 浙江大学 | 一种无拓扑结构矢量图形的多边形快速合并方法 |
CN102314696A (zh) * | 2011-07-13 | 2012-01-11 | 北京华迪宏图信息技术有限公司 | 遥感图像栅格数据的矢量化方法 |
CN102881028A (zh) * | 2012-05-22 | 2013-01-16 | 浙江大学 | 一种栅格数字图像快速矢量化方法 |
CN102930561A (zh) * | 2012-10-22 | 2013-02-13 | 南京大学 | 一种基于Delaunay三角网的栅格地图矢量化方法 |
CN103838829A (zh) * | 2014-02-18 | 2014-06-04 | 中国林业科学研究院资源信息研究所 | 一种基于分层次边界拓扑搜索模型的栅格转矢量系统 |
CN107564078A (zh) * | 2016-06-30 | 2018-01-09 | 中国电力科学研究院 | 一种带有干扰像素的栅格分区图自动矢量化方法 |
-
2019
- 2019-09-25 CN CN201910909876.0A patent/CN110675417B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0017284D0 (en) * | 2000-07-14 | 2000-08-30 | Vhsoft Technologies Company Li | Computer automated process for vectorization of raster images |
US20020006224A1 (en) * | 2000-07-14 | 2002-01-17 | Wong Tin Cheung | Computer automated process for vectorization of raster images |
US20060002614A1 (en) * | 2004-06-30 | 2006-01-05 | Alliances Artquest International Inc. | Raster-to-vector conversion process and apparatus |
CN101630463A (zh) * | 2009-07-30 | 2010-01-20 | 上海交通大学 | 路网栅格数字地图自动矢量化方法 |
CN101751449A (zh) * | 2009-09-16 | 2010-06-23 | 中国科学院计算技术研究所 | 一种用于地理信息系统中的空间叠加分析方法和系统 |
CN102103759A (zh) * | 2011-03-31 | 2011-06-22 | 浙江大学 | 一种无拓扑结构矢量图形的多边形快速合并方法 |
CN102314696A (zh) * | 2011-07-13 | 2012-01-11 | 北京华迪宏图信息技术有限公司 | 遥感图像栅格数据的矢量化方法 |
CN102881028A (zh) * | 2012-05-22 | 2013-01-16 | 浙江大学 | 一种栅格数字图像快速矢量化方法 |
CN102930561A (zh) * | 2012-10-22 | 2013-02-13 | 南京大学 | 一种基于Delaunay三角网的栅格地图矢量化方法 |
CN103838829A (zh) * | 2014-02-18 | 2014-06-04 | 中国林业科学研究院资源信息研究所 | 一种基于分层次边界拓扑搜索模型的栅格转矢量系统 |
CN107564078A (zh) * | 2016-06-30 | 2018-01-09 | 中国电力科学研究院 | 一种带有干扰像素的栅格分区图自动矢量化方法 |
Non-Patent Citations (7)
Title |
---|
BIN XU 等: "Vectorization of classified remote sensing raster data to establish topological relations among polygons", 《EARTH SCIENCE INFOMATION》 * |
CHENG SU 等: "An Efficient Algorithm for Vectorization of Remote Sensing Raster Data", 《ICCDE’2019》 * |
JUNHUA TENG 等: "An Efficient Algorithm for Raster-to-Vector Data Conversion", 《GEOGRAPHIC INFORMATION SCIENCES》 * |
刘滢滢: "栅格图像矢量化研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李亮 等: "一种综合光谱、纹理、结构特征的高分辨率遥感影像变化检测方法", 《测绘通报》 * |
王结臣 等: "基于二值栅格数据的边界矢量化和面信息生成的一种实现方法", 《科技通报》 * |
谢顺平 等: "基于游程编码的GIS栅格数据矢量化方法", 《测绘学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914045A (zh) * | 2020-07-09 | 2020-11-10 | 珠海云洲智能科技有限公司 | 一种数据压缩方法、装置、终端设备及存储介质 |
CN111914045B (zh) * | 2020-07-09 | 2023-06-30 | 珠海云洲智能科技股份有限公司 | 一种数据压缩方法、装置、终端设备及存储介质 |
CN112651937A (zh) * | 2020-12-24 | 2021-04-13 | 中国林业科学研究院资源信息研究所 | 一种分层树冠识别方法 |
CN112651937B (zh) * | 2020-12-24 | 2024-02-20 | 中国林业科学研究院资源信息研究所 | 一种分层树冠识别方法 |
CN116431964A (zh) * | 2023-04-20 | 2023-07-14 | 浙江省水利河口研究院(浙江省海洋规划设计研究院) | 一种复杂河网水系骨架线生成的游程剥离法 |
CN116431964B (zh) * | 2023-04-20 | 2024-04-19 | 浙江省水利河口研究院(浙江省海洋规划设计研究院) | 一种复杂河网水系骨架线生成的游程剥离法 |
Also Published As
Publication number | Publication date |
---|---|
CN110675417B (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110675417B (zh) | 一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 | |
Chen et al. | Adaptive fractional dilated convolution network for image aesthetics assessment | |
Yu et al. | Attention GANs: Unsupervised deep feature learning for aerial scene classification | |
Xiao et al. | Example‐Based Colourization Via Dense Encoding Pyramids | |
Dai et al. | MS2DG-Net: Progressive correspondence learning via multiple sparse semantics dynamic graph | |
CN104123375B (zh) | 数据搜索方法及系统 | |
Ke et al. | Video mask transfiner for high-quality video instance segmentation | |
CN109800337B (zh) | 一种适用于大字母表的多模式正则匹配算法 | |
CN113627479B (zh) | 一种基于半监督学习的图数据异常检测方法 | |
WO2019196718A1 (zh) | 元素图像生成方法、装置及系统 | |
Uchida et al. | Exploring the world of fonts for discovering the most standard fonts and the missing fonts | |
CN102136151B (zh) | 一种光栅图像的矢量化方法 | |
CN110097581B (zh) | 基于点云配准icp算法构建k-d树的方法 | |
Cao et al. | A new region proposal network for far-infrared pedestrian detection | |
CN116431964B (zh) | 一种复杂河网水系骨架线生成的游程剥离法 | |
CN114168773A (zh) | 一种基于伪标签和重排序的半监督草图图像检索方法 | |
CN111159424B (zh) | 标注知识图谱实体的方法,装置,存储介质及电子设备 | |
Qiu et al. | Revisiting multi-level feature fusion: A simple yet effective network for salient object detection | |
Huang et al. | Lidar-camera fusion based high-resolution network for efficient road segmentation | |
CN113099269B (zh) | 串匹配预测方法、编码和解码方法及相关设备、装置 | |
CN115131362A (zh) | 一种大规模点云局部区域特征编码方法 | |
KR20220123487A (ko) | 코드 생성 방법, 장치, 기기 및 저장 매체 | |
Milgram | Constructing trees for region description | |
CN109189996B (zh) | 基于k2-mdd的大规模图的最大公共连通子图匹配方法 | |
CN108629737B (zh) | 一种提高jpeg格式图像空间分辨率的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |