06 空间数据获取与处理(2)
纸地图扫描转换拼接子图块裁剪地图矢量图编辑矢量图合成图像处理矢量化
图6-3:地图信息处理流程图
在扫描后处理中,需要进行栅格转矢量的运算,一般称为扫描矢量化过程。扫描矢量化可以自动进行,但是扫描地图中包含多种信息,系统难以自动识别分辨(例如,在一幅地形图中,有等高线、道路、河流等多种线地物,尽管不同地物有不同的线型、颜色,但是对于计算机系统而言,仍然难以对它们进行自动区分),这使得完全自动矢量化的结果不那么“可靠”,所以在实际应用中,常常采用交互跟踪矢量化,或者称为半自动矢量化。
将栅格图像转换为矢量地图一般需要以下一系列步骤[Musavi 1988]: 1)图像二值化(Threshold)
图像二值化用于从原始扫描图像计算得到黑白二值图像(Binary Image),通常将图像上的白色区域的栅格点赋值为0;而黑色区域为1,黑色区域对应了要矢量化提取的地物,又称为前景。
2)平滑(Smooth)
图像平滑用于去除图像中的随机噪声,通常表现为斑点。 3)细化
细化将一条线细化为只有一个像素宽,细化是矢量化过程中的重要步骤,也是矢量化的基础。
4)链式编码
链式编码将细化后的图像转换成为点链的集合,其中每个点链对应于一条弧段。 5)矢量线提取
将每个点链转化成为一条矢量线。每条线由一系列点组成,点的数目取决于线的弯曲程度和要求的精度。
除了上述五个步骤以外,还需要一些处理以方便图像矢量化过程,如图像拼接和剪裁等等,下面对这些操作以及相关算法进行描述。
1.4.2图像拼接/裁剪
1)图像拼接
以两相邻地图图像的部分重叠区为基础,把它们合成为一幅整图的过程叫做图像拼接,分上下拼接和左右拼接。以左右拼接为例,取左图右边缘一个矩形区域A,取右图左边缘一个矩形区域B,如果A和B有一定的重叠区,可以利用计算机实现自动的匹配,其拼接算法如下:
(1.1)由A中右侧边缘从右至左依次取若干个列L1(O),L1(1),?,L1(n),以各列内像素灰度的长度序列为特征向量,分别求出以上各列的特征向量V1(O),V1(1),…,V1(n)。
(2.2)自动拼接 即由B中左侧从左至右依次取若干列L2(n),L2(n-1),?,L2(O),以各列内像素灰度的长度序列为特征向量,分别求出以上各列的特征向量V2(n):V2(n-1),…,V2(O)。若向量序列[V1(O);V1(1),?,V1(n)]和[V2(O),V2(1),?,V2(n)]匹配,则转向步骤4。
(2.3)人工拼接 即固定A,通过人机交互控制B以一定步长上下左右移动,直到A和B重叠区对齐为止。
(2.4)根据步骤2匹配情况或步骤3的偏移情况对两相邻地图图像进行修正和合成。 2)图像裁剪
把一幅图像裁成两两相邻的规则图块的过程称为地图裁剪。图像裁剪非常简单,实际应用中,可以根据不同的硬件配置确定采用和不采用图像裁剪技术。
1.4.3 图像细化预处理二值图像平滑
在将地图扫描或摄像输入时,由于线不光滑以及扫描、摄像系统分辨率的限制,使得一些曲线目标带来多余的小分支(即毛刺噪声);此外,还有孔洞和凹陷噪声,如图6-4所示。如果不在细化前去除这几种噪声,就会造成细化误差和失真,这样会最终影响地图跟踪和矢量化。曲线目标越宽,提取骨架和去除轮廓所需的次数也越多,因此噪声影响也越大。
图6-4:扫描图像的“毛刺”和“凹陷孔洞”
为了去除毛刺噪声的影响,可以采用如图5所示的3×3模板进行处理。处理的过程是:按点阵格式扫描图像上每一像素,只要图像相应区域与图6-5中的模板(包括其三次900旋转所形成的模板)匹配,则判定为毛刺,对应于模板中心的像素数值变为O。根据需要可进行多次这种匹配运算。
0 0 0 1 0 0 Ⅹ Ⅹ Ⅹ 图6-5:去毛刺模板,X为任意数值
为了去除孔洞及凹陷噪声,我们采用如图6-6所示的模板进行处理,只要图像对应区域与该模板(包括其三次90O旋转)匹配,则区域中心点数值变为1。
X 1 1 0 X 1 Ⅹ Ⅹ Ⅹ 图6-6:去孔洞凹陷模板
总之,通过以上两种平滑处理,基本上消除了毛刺和孔洞凹陷噪声的影响,为进一步进行细化处理打下了基础。
1.4.4图像细化(Thinning)
细化算法对二值图像进行处理,得到细化后的图像。线细化是处理包含线状地物二值图
像的一种重要技术,在地图扫描处理中,由于地图上主要信息是不同粗细和不同形状的线,必须首先进行线细化,以准确、有效地提取这些线信息,并进一步完成跟踪矢量化。
线细化,就是不断去除曲线上不影响连通性的轮廓像素的过程,对细化的一般要求是: ? 保证细化后曲线的连通性 ? 细化结果是原曲线的中心线 ? 保留细线端点 根据各种不同的应用,目前已经提出了许多线细化算法,如内接圆法、经典算法、异步算法、快速并行算法及并行八边算法等,不同的算法在处理速度和效果上各有其特点。
下面介绍一个常用的细化算法,其它算法基本是此算法的改进。
首先介绍几个相关的概念和符号。对于二值栅格图像中每个像素点p,以及该像素直接相邻的8个像素点(图6-7),令: p
图6-7:像素周围的8个直接相邻像素
1)N(p)为p的邻点的数值的和;
2)图像像素联接数T(p),如果旋转着看像素周围的点,T(p)就是p周围8个点从0变成1的次数,它反映了像素邻点的联接的块数(图6-8)。
3)pW,pE,pS,pN分别指像素左侧、右侧、下边、上边邻点的数值。
1 (a)T=0 1 1 1 1 1 (d)T=1 1 1 1 1 1 (g)T=2 1 1 1 1 1 1 1 1 1 1 1 (b)T=0 1 1 1 (e)T=2 1 1 (h)T=3 1 1 1 1 1 1 1 1 (c)T=1 1 (f)T=2 1 (i)T=4 1 1 1 1
图6-8:像素联结数
算法步骤如下[Zhang-Suen,1984]:
1:对于栅格图像中的每个点p,进行如下操作:
如果2?N(p)?6并且T(p)=1并且pNpSpE=0并且pWpEpS=0 则标志p点;
2:将所有被标志的栅格点赋值为0,如果没有被标志的点,则算法结束; 3:对于栅格图像中的每个点p,进行如下操作:
如果2?N(p)?6并且T(p)=1并且pNpSpW=0并且pWpEpN=0 则标志p点;
4:将所有被标志的栅格点赋值为0,如果没有被标志的点,则算法结束; 5:转到第一步。
图6-9显示了采用该算法细化的过程和结果。
图6-9:线状地物的细化
1.4.5链码(弗里曼码)
链码是由弗里曼(Freeman)提出的用曲线出发点坐标和线的斜率来描述二值线图形的一种方法。图6-10(a)所示是链码的八个方向及它们的序号。图6-10(b)的细线的链码为(3,0)21100066567,其中(3,0)为起始点坐标,之后的数值序列描述了方向。
任意一条细线都可用链码序列表示为下式:
C=a1a2...an,0≤ai≤7 如果始点a1和终点an重合,则说明曲线是闭合的。 3452p6107012345(a)(b)
图6-10:链码及其对细线的表示 (a):链码的8个方向;(b)细线
1.4.5矢量线生成
扫描矢量化的最后一步是生成矢量线,可以很方便地将链式编码的每一条链转换成为一条矢量线。自然地,弯曲的矢量线比直线需要更多的点,这还取决于要求的精度。在矢量线生成过程中,可以使用Douglas-P …… 此处隐藏:2027字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




