一种基于数学形态学的复杂桥梁对象自动符号化方法

文档序号:6519113阅读:162来源:国知局
一种基于数学形态学的复杂桥梁对象自动符号化方法
【专利摘要】本发明公开了一种基于数学形态学的复杂桥梁对象自动符号化方法。首先将待符号化的面状桥梁矢量数据转为栅格数据,再将栅格数据转为整型二值图像矩阵,然后采用Rosenfeld细化算法提取对二值图像矩阵进行数学形态学处理后结果的骨架栅格,并添加坐标系统和投影系统信息,得到原始面状桥梁对象的矢量骨架中心线,然后将该中心线延长、合并,获取其和桥梁面的交点,按顺序依次搜索各交点,对相邻两交点连线依次进行交角判断,确定候选节点,以135°和-135°为方向绘制候选桥爪线,进而通过缓冲区相交判断,确定桥爪线,最后通过剩余节点连接操作,形成桥梁边线。本发明可以将传统算法无法实现的复杂面状桥梁按国家标准进行自动符号化。
【专利说明】一种基于数学形态学的复杂桥梁对象自动符号化方法
【技术领域】
[0001]本发明涉及地理信息的【技术领域】,特别涉及一种针对各种复杂桥梁对象的自动符号化方法。
【背景技术】
[0002]在地理信息领域,地形图的产生通常基于我国各级测绘主管部门发布的各级比例尺基础地理数据,借助地理信息系统软件和专业制图软件,完成地形图图面的设计和配置,以满足地形图出版和电子地图出版的需要。
[0003]现有的地理信息系统软件和专业制图软件,主要通过基础地理数据的类型编码和地图符号库进行匹配,由软件自动从地图符号库中提取对应的地物符号,表示在地图图面上,完成地物对象的自动符号化。
[0004]但是,此种方法主要应用在点状和线状地物对象上,以及诸如湖泊、房屋等不考虑方向性特征的简单面状地物对象上。对于诸如桥梁、台阶等需要确定走向的地物对象,由于原始采集的地理数据没有带入方向信息,所以现有的地理信息系统软件无法自动确定该类符号的开口方向,如桥梁符号两个开口方向的确定等。
[0005]而且,这些地物对象通常种类较多,形态上较为复杂,以面状桥梁为例,地形图中出现的面状桥梁有单层桥、双层桥、并行桥、引桥、级面桥、人行拱桥等,形状上有矩形、菱形、丁字形、人字形、十字形、弧形及它们的组合形状。现有软件无法自动对该类有方向性的复杂地物对象进行自动符号化,通常采用人工判读的方式,进行手动符号化,很大程度上影响了地形图制作和生产的效率。

【发明内容】

[0006]本发明的目的在于克服现有技术的缺点和不足,提供一种实现复杂桥梁对象自动符号化方法。
[0007]本发明的目的通过以下技术方案实现:
[0008]一种基于数学形态学的复杂桥梁对象自动符号化方法,包括以下步骤:
[0009]S1、将待符号化的面状桥梁矢量数据转为栅格数据(如*.bmp、*, jpg格式等);
[0010]S2、将SI步转出的栅格数据转为整型二值图像矩阵;
[0011]S3、对S2步计算得到的二值图像矩阵,进行数学形态学处理,具体步骤为:首先,采用菱形结构元素进行一次膨胀运算处理;进而采用“3X3”的正方形结构元素进行一次腐蚀运算,最后,再次采用菱形结构元素进行一次膨胀运算;
[0012]S4、采用Rosenfeld细化算法提取S3步计算结果的骨架栅格,即将原图像矩阵中线条宽度大于一个像素的线条细化成一个像素的宽度,形成骨架栅格,并保持其形状的基本拓扑结构不变;
[0013]S5、由SI步转出的栅格数据,会丢失空间参考信息(坐标系统、投影系统),本步骤将对S4步得到骨架栅格数据,添加坐标系统信息和投影系统信息,便于地理信息系统识别和后续处理;
[0014]S6、将S5步得到的骨架栅格数据转换为地理信息系统可以识别的矢量数据,即可得到原始面状桥梁对象的矢量骨架中心线;
[0015]S7、对S6步得到的矢量骨架中心线两端进行延长处理,确保矢量骨架中心线和原始面状桥梁对象相交;在延长处理时,首先获取矢量骨架中心线的首尾两端点,进而依次获得矢量骨架中心线上与首尾两端点最近的另外两个节点,然后采用三点(矢量骨架中心线的一个端点,以及离它最近的两个节点)线性拟合一条直线的算法,将矢量骨架中心线向两端延长,使它和原始面状桥梁对象相交;
[0016]S8、考虑到复杂桥面有多条骨架中心线,为了后续处理方便,本步骤将S7步获取的桥梁中心线进行合并,将复杂骨架中心线由多个对象合并成一个对象进行处理;
[0017]S9、将S8步获得的骨架中心线和面状桥梁对象通过相交操作,获得交点Ai,进而在面状桥梁对象上,从交点Ai开始,依次向两侧搜索节点Pi,每搜索到一个节点Pi,连接该节点和上一个节点,构成线段Li,如果是第一个节点则连接交点Ai,继续搜索,得到线段Li+1,计算线段Li与Li+1间的交角,如果交角大于30° ,则确定该节AAi为候选节点Hi,并记录该节点为起始点的线段Li+1,作为绘制桥爪的辅助线;否则,将该节点在属性表中进行标记,继续重复上述步骤,直到确定候选节点Hi为止;
[0018]S10、以S9步确定的候选节点Hi为原点,作5米半径的缓冲区,获得圆面Ci,将Sll步记录的辅助线与圆面Ci进行空间相交,获得交线LC,将交线LC以候选节点Hi为端点,顺时针旋转135°和-135°得到交线LC1和交线LC2,将交线LC1和交线LC2的不与交线LC共点的那一个端点,与线段LC的中点进行距离上的判断,距离大的即为桥爪线;若该桥爪线的线长不足5米,则进行延长,补足到5米;
[0019]S11、在桥面对象中,将S9步标记过的节点删除,然后按照剩余保留的节点ID顺序,依次连接各节点,形成桥面线;每连接两点之前,均判断一次该线段是否和桥梁骨架中心线相交,如果相交,则删除该条桥面线;直到全部节点依次连接完成,形成最终的桥梁边线。
[0020]本发明借助数学形态学相关算法,克服了传统符号化算法无法自动识别复杂桥梁形状和走向特征的缺陷,可以将传统算法无法实现的复杂面状桥梁按国家标准进行自动符号化,为基于图库的大比例尺地形图全要素符号化和快速出图提供技术支撑。
【专利附图】

【附图说明】
[0021]图1是实施例的原始数据;
[0022]图2是复杂桥面对象自动符号化过程,Ca)面状桥梁矢量数据,(b)面状桥梁栅格数据(*.bmp格式),(c)数学形态学处理后得到的骨架栅格,Cd)转换后的矢量骨架中心线,Ce)骨架线延长处理,Cf)桥爪绘制,(g)桥边线绘制。
【具体实施方式】
[0023]下面结合实施例及附图对本发明作进一步详细的描述。
[0024]本发明实现了复杂桥面对象的自动符号化方法,原始数据如图1所示,复杂桥梁对象为图1中的灰色面状对象。其实施步骤如下:[0025]S1、将面状桥梁矢量数据转为栅格数据(*.bmp格式),如图2 (b)所示;
[0026]S2、将SI步转出的栅格数据,利用图像处理算法中的二值化函数,转为整型二值图像矩阵;
[0027]S3、对S2步计算得到的二值图像矩阵,进行数学形态学处理。具体步骤为:首先,采用菱形结构元素进行一次膨胀运算处理,在计算机视觉库OpenCV中,采用cvDilateO函数实现;进而采用“3X3”的正方形结构元素进行一次腐蚀运算,在计算机视觉库OpenCV中,采用cvErodeO函数实现;最后,再次采用菱形结构元素进行一次膨胀运算,仍然采用cvDilate ()函数实现;
[0028]S4、采用Rosenfeld细化算法提取S3步计算结果的骨架栅格,即将原图像矩阵中线条宽度大于一个像素的线条细化成一个像素的宽度,形成骨架栅格,并保持其形状的基本拓扑结构不变。处理结果如图2 (c)所示;
[0029]S5、由SI步转出的栅格数据,会丢失空间参考信息(坐标系统、投影系统),本步骤将对S4步得到骨架栅格数据,添加坐标系统信息和投影系统信息,便于地理信息系统识别和后续处理;
[0030]S6、将S5步得到的骨架栅格数据转换为地理信息系统可以识别的矢量数据,即可得到原始面状桥梁对象的矢量骨架中心线,如图2 (d)所示;
[0031]S7、对S6步得到的矢量骨架中心线两端进行延长处理,确保矢量骨架中心线和原始面状桥梁对象相交。在延长处理时,首先获取矢量骨架中心线的首尾两端点,进而依次获得矢量骨架中心线上与首尾两端点最近的另外两个节点,然后采用三点(矢量骨架中心线的一个端点,以及离它最近的两个节点)线性拟合一条直线的算法,将矢量骨架中心线向两端延长,使它和原始面状桥梁对象相交。如图2 (e)所示;
[0032]S8、考虑到复杂桥面有多条骨架中心线,为了后续处理方便,本步骤将S7步获取的桥梁中心线进行合并,将复杂骨架中心线由多个对象合并成一个对象进行处理;
[0033]S9、将S8步获得的骨架中心线和面状桥梁对象通过相交操作,获得交点Ai,进而在面状桥梁对象上,从交点Ai开始,依次向两侧搜索节点Pi,每搜索到一个节点Pi,连接该节点和上一个节点,构成线段Li,如果是第一个节点则连接交点Ai,继续搜索,得到线段Li+1,计算线段Li与Li+1间的交角,如果交角大于30° ,则确定该节AAi为候选节点Hi,并记录该节点为起始点的线段Li+1,作为绘制桥爪的辅助线;否则,将该节点在属性表中进行标记,继续重复上述步骤,直到确定候选节点Hi为止;
[0034]S10、以S9步确定的候选节点Hi为原点,作5米半径的缓冲区,获得圆面Ci,将Sll步记录的辅助线与圆面Ci进行空间相交,获得交线LC,将交线LC以候选节点Hi为端点,顺时针旋转135°和-135°得到交线LC1和交线LC2,将交线LC1和交线LC2的不与交线LC共点的那一个端点,与线段LC的中点进行距离上的判断,距离大的即为桥爪线;若该桥爪线的线长不足5米,则进行延长,补足到5米;
[0035]S11、在桥面对象中,将S9步标记过的节点删除,然后按照剩余节点ID顺序,依次连接各节点,形成桥面线;每连接两点之前,均判断一次该线段是否和桥梁骨架中心线相交,如果相交,则删除;直到全部节点依次连接完成,形成最终的桥梁边线。
【权利要求】
1.一种基于数学形态学的复杂桥梁对象自动符号化方法,其特征在于,包括如下步骤: 51、将待符号化的面状桥梁矢量数据转为栅格数据; 52、将SI步转出的栅格数据转为整型二值图像矩阵; 53、对S2步计算得到的二值图像矩阵,进行数学形态学处理,具体步骤为:首先,采用菱形结构元素进行一次膨胀运算处理;进而采用3X3的正方形结构元素进行一次腐蚀运算,最后,再次采用菱形结构元素进行一次膨胀运算; 54、采用Rosenfeld细化算法提取S3步计算结果的骨架栅格,即将原图像矩阵中线条宽度大于一个像素的线条细化成一个像素的宽度,形成骨架栅格,并保持其形状的基本拓扑结构不变; 55、对S4步得到骨架栅格数据,添加坐标系统信息和投影系统信息,便于地理信息系统识别和后续处理; 56、将S5步得到的骨架栅格数据转换为地理信息系统可以识别的矢量数据,即可得到原始面状桥梁对象的矢量骨架中心线; 57、对S6步得到的矢量骨架中心线两端进行延长处理,确保矢量骨架中心线和原始面状桥梁对象相交; S8jf S7步获取的桥梁矢量骨架中心线进行合并,将复杂骨架中心线由多个对象合并成一个对象进行处理; S9、将S8步获得的骨架中心线和面状桥梁对象通过相交操作,获得交点Ai,进而在面状桥梁对象上,从交点Ai开始,依次向两侧搜索节点Pi,每搜索到一个节点Pi,连接该节点和上一个节点,构成线段Li,如果是第一个节点则连接交点Ai,继续搜索,得到线段Li+1,计算线段Li与Li+1间的交角,如果交角大于30° ,则确定该节点Ai为候选节点Hi,并记录该节点为起始点的线段Li+1,作为绘制桥爪的辅助线;否则,将该节点在属性表中进行标记,继续重复上述步骤,直到确定候选节点Hi为止; 510、以S9步确定的候选节点Hi为原点,作5米半径的缓冲区,获得圆面Ci,将Sll步记录的辅助线与圆面Ci进行空间相交,获得交线LC,将交线LC以候选节点Hi为端点,顺时针旋转135°和-135°得到交线LC1和交线LC2,将交线LC1和交线LC2的不与交线LC共点的那一个端点,与线段LC的中点进行距离上的判断,距离大的即为桥爪线;若该桥爪线的线长不足5米,则进行延长,补足到5米; 511、在桥面对象中,将S9步标记过的节点删除,然后按照剩余保留的节点ID顺序,依次连接各节点,形成桥面线;每连接两点之前,均判断一次该线段是否和桥梁骨架中心线相交,如果相交,则删除该条桥面线;直到全部节点依次连接完成,形成最终的桥梁边线。
2.根据权利要求1所述的一种基于数学形态学的复杂桥梁对象自动符号化方法,其特征在于,步骤S7中,在延长处理时,首先获取矢量骨架中心线的首尾两端点,进而依次获得矢量骨架中心线上与首尾两端点最近的另外两个节点,然后采用三点线性拟合一条直线的方法,其中,三点即矢量骨架中心线的一个端点以及离该端点最近的两个节点,将矢量骨架中心线向两端延长,使它和原始面状桥梁对象相交。
【文档编号】G06F17/50GK103593529SQ201310571993
【公开日】2014年2月19日 申请日期:2013年11月15日 优先权日:2013年11月15日
【发明者】刘昱君, 金琳, 聂时贵, 陶旸 申请人:江苏省基础地理信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1