第1节 综述
推荐给好友
打印
加入收藏
更新于2008-06-15 22:37:29

1.1 所要完成的任务

图1-1所表示的是一幅纸质地图从扫描开始到被GIS应用系统所使用的整个制图过程。“地图识别”部分就是RoadIdent在整个制图流程中的所扮演的角色。



图1-1 制图流程

RoadIdent的输入是彩色的点阵地图,输出是黑白线状道路图。一副地图能否被GIS系统所使用,关键就决定于它本身的质量和RoadIdent的识别能力。RoadIdent识别能力越高,可以处理地图的范围就越广。RoadIdent目前的处理能力还是比较低的,市场上出售的普通旅游图多半是不能很好的识别出来,所能处理的是那些颜色清晰,噪声小,道路和背景区分明显的高质量地图。

1.2 要素的划分及颜色替代法

在模式识别中,不管识别的对象是什么,都必须抓住该对象的本质特征,从主要矛盾入手,寻找解决问题的途径。道路识别也是这样。RoadIdent针对的是质量上乘的地图,我下面的论述也是针对质量上乘的地图而言的。

为方便计,我把地图划分为道路,背景,文字三种要素,当然还可以分出其他的许多要素,但关系不大,根据需要可以归入背景要素或文字要素之中,比如符号就可以归入文字要素中,我们会看到这样做的好处。

他们的关系是这样的,地图的所有部分可以看作是由道路和背景构成。纵横交错的道路将背景分割成一块块的“豆腐块”,无孔不入的背景则覆盖了道路以外的其他部分,道路是相连的,背景是分开的。至于文字,被看作是噪声,我把它分为三类:

A.完全在道路之上的文字;
B.完全在背景之上的文字;
C.一部分在道路上,另一部分在背景上的文字。

提取道路最大的障碍就是这部分文字噪声。怎样消除这些噪声呢?一般情况下,地图中背景的颜色相对单一,并且和其他要素颜色的交集较小,所以第一步就是先把地图中的背景标认出来。知道了一块区域是背景区域,那么该区域内部的其他要素必是文字噪声(不可能是道路,因为一般情况下不存在孤立的道路),也就是B类文字。B类文字噪声就可以被完全的消除掉了。

道路之上的文字(A类文字)实际上可以看作是道路本身,无需处理(大家想,是不是呢?)。

C类噪声无法直接做简单的处理,作为道路的噪声将被提取出来。所以最后得到的线状道路中包含了很多短小的分叉,并且歪歪扭扭,抖来抖去。但是我们知道,在一般情况下,不存在短小的分叉路,道路存在拐弯,但是比较平稳,不会频繁的左拐右拐,所以通过道路优化很容易把这部分噪声识别出来并予以消除。

背景被识别出来了,文字噪声也被消除了,道路自然也就可以被识别和提取出来了.。

利用文字,道路,背景的颜色位置关系,有一种消除文字噪声的好方法,就是颜色替代法,这种方法对三类文字噪声都有效。如果我们已经确定某些颜色是文字特有的颜色(和背景与道路的颜色没有交集),那么扫描整幅地图,遇到这一类颜色的点,就用距离该点最近并且不属于这一类颜色的点的颜色来代替该点的颜色。

这句话有点不太好懂,换一种说法,比如扫描地图过程中,遇到一个像素点P,它的颜色属于文字颜色集合,说明这个点是文字上的一点,要把它替换掉,替换成什么颜色呢,这取决于P点附近点的颜色,比如说P点是一个是背景上的文字点,那么P点附近一定可以找出一个B点,B点颜色属于背景色,并且在所有不属于文字颜色的点中,B点距离P点最近。

这样P点颜色就被替换为B点的颜色,背景上的文字融化消弥在背景之中了。同样道路上的文字也可以替换为道路,整个地图看上去就干净多了。

1.3 基本流程

开始,我在寻找一种完全的自动识别算法,后来发现,这太难了,不同状况的地图要采用不同的处理方法,选择不同的流程,选取不同的阀值⋯⋯计算机长于处理,短于识别。最后只好采用人机交互的方式,由操作者帮助计算机(或者说计算机帮助操作者)共同完成道路的识别和提取。我一直认为,只要人能识别出来地图中的道路,计算机就一定也能识别出来,即使事实是这样,在目前我也没有能力把计算机调教的像我一样聪明(尽管我足够傻)。所以现在我还不能给出读者一个完全的流程图,只能先写一个大概的操作步骤。

1.颜色替代法消除文字噪声。

利用颜色替代法,一般情况下总可以消除一些文字,这一步对结果影响很大。如前所述,文字的颜色集是由我(人工)指定的,并且这个集合和道路,背景的颜色集合不能存在交集。如果不慎,把道路或背景的颜色也指定到这个文字颜色集中会出现什么后果呢?下面讨论这个问题。

如果把属于道路的颜色误指定到这个文字颜色集,糟了,对应的道路点就会当作文字点被替换为背景(当然也有可能是文字,道路),道路将不复存在。如果把属于背景的颜色误指定到这个文字颜色集,对应的背景点就会当作文字点被替换为道路(当然也有可能是背景,文字)。如果同时把道路和背景的颜色都误指为文字的颜色,那么一定是操作者太累了,需要休息。

2.颜色归一化。

地图的背景可能有多种颜色,为了方便后面的处理,把所有的背景颜色统一设置为白色,如果需要,文字颜色,道路颜色,过渡颜色都可以分别统一为一种颜色,这样也便于检查对各要素(包括背景、道路、文字和过渡)颜色集的区分是否正确。

3.道路提取。

如果道路的颜色和其他要素的颜色不存在交集,那么可以把地图中属于道路颜色的像素点都提取出来,作为道路,这就是颜色提取法。

但是,大多数情况下,道路和其他要素的颜色之间是存在交集的,因此就不能直接使用颜色提取法。按上面所说应该是先把背景中的文字消除掉,这要用到后面才讲的单元替代法,这里暂不介绍,我先要介绍的是扩展提取法。

一般情况下,所有的道路是连在一起的,并且不和背景中的文字连在一块,我们在道路上选取一点,然后把与该点相连的所有点提取出来,就是道路,这就是扩展提取法。背景中的文字因为不和道路相连,所以没有被提取出来。如果道路没有完全的连在一起,可以分别提取各个相连部分,最后再合并起来。这种方法速度很快,而且有意思。

 

<<上一节    下一节>>




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.