栅格图像自动矢量化系统的研究与实现_张东辉
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010,46(10)
1引言
传统纸质地图由于信息易产生误差、更新周期长、查找检索困难、占据空间大等,已经无法满足现代地图信息管理的需要。
电子地图已成为现代地图信息管理系统中不可或缺的部分[1]。
如何将大量的存档地图图纸方便迅速地输入到GIS系统,是GIS技术普及和应用待解决的难题之一。
通过图像/数字转换装置,将纸质地图输入到计算机,运用图像处理,进行图纸中各类要素的自动提取、识别与综合,并转换成GIS系统所兼容的数据格式。
将对提高GIS系统整体的自动化和智能化水平,加快设计进程,以及实现地图数据的计算机文档管理等均具有十分重要的意义。
地图自动识别与矢量化是涉及多个学科、集理论和实践为一体的图像处理与识别技术,多年来的理论及实践为此课题的研究奠定了良好的基础,但也存在着一些问题[2]。
文中按照传统获取矢量化数据的流程,着重研究了扫描地图二值化的实现算法、数学形态学原理在栅格图像去噪中的应用、骨架识别技术在图像细化中的使用、直线与圆弧图元识别算法等难点技术。
在.NET平台上,基于GDI+技术,编程实现了相应的算法,并通过实例验证了自动矢量化系统的可行性及有效性。
栅格图像自动矢量化系统的研究与实现
张东辉1,何政伟1,2,杨斌1,3
ZHANG Dong-hui1,HE Zheng-wei1,2,YANG Bin1,3
1.成都理工大学地质灾害防治与地质环境保护国家重点实验室,成都610059
2.首都师范大学资源环境与地理信息系统北京市重点实验室,北京100037
3.中国地震局地质研究所,北京100029
1.National Lab of Geo-hazard Prevention&Geo-environment Protection,Chengdu University of Technology,Chengdu610059,China
2.Beijing Municipal Key Lab for Resource Environment&Geographic Information System,Capital Normal University,Beijing100037,China
3.Institute of Geology,China Earthquake Administration,Beijing100029,China
E-mail:donghui222@
ZHANG Dong-hui,HE Zheng-wei,YANG Bin.Study and implementation of raster image automatic vector system. Computer Engineering and Applications,2010,46(10):171-174.
Abstract:This paper studies the theoretic of raster image automatic vector and programming the system based platform. As realizing automatic vector to be the goal,this paper studies following the traditional vectoring maps flow,analyzing the function of automatic vector system with taking into account of the theoretic of digital image processing and mathematical morphology.The content includes these hard cores such as the mention of transforming a gray image to be binary;the application of eroding-in-flating and opening-closing theory for wiping off image noises;abstracting and identifying image elements by using mode recogni-tion technology.Proving the feasibility and validity of automatic vector system by an instantiation system,which is programmed on .NET platform based on GDI+technique applying the above arithmetic.
Key words:automatic vector;mathematical morphology;raster image;.NET platform
摘要:研究了自动矢量化地图所需的理论,并基于.NET平台进行了算法实现。
以实现自动矢量化为目标,按照传统获取矢量化数据的流程进行探索。
从数字图像处理和数学形态学的相应理论角度出发,分析了自动矢量化系统的功能;讨论了扫描电子地图二值化的实现、腐蚀膨胀和开闭运算理论在电子地图去噪中的应用、基于模式识别技术的图元细化与识别等难点技术。
针对上述技术,在.NET平台上,基于GDI+技术,通过实例验证了自动矢量化系统的可行性及有效性。
关键词:自动矢量化;数学形态学;栅格图像;.NET平台
DOI:10.3778/j.issn.1002-8331.2010.10.054文章编号:1002-8331(2010)10-0171-04文献标识码:A中图分类号:TP183;P208
基金项目:四川省杰出青年学科带头人培养计划项目(the Outstanding Young Subject Leader Training Project Foundation of Sichuan Province under Grant No.06ZQ026-014);四川省教育厅自然科学重点项目(the Natural Science Key Project Foundation of Sichuan Education Office under Grant No.2006A116)。
作者简介:张东辉(1985-),男,硕士生,主要研究领域为地理信息工程,3S综合应用技术;何政伟(1966-),男,博士(后),教授,主要研究领域为遥感地质学、生态地理信息系统;杨斌(1979-),男,博士生,主要研究领域为遥感技术应用、地理信息系统。
收稿日期:2008-09-25修回日期:2008-12-05
Computer Engineering and Applications计算机工程与应用171
Computer Engineering and Applications 计算机工程与应用
2010,46(10)栅格图像数据集
模板骨架识别算法图元识别理论
数学形态学理论
状态法确定阈值纸质地图
图纸扫描处理
图像二值化图像预处理
图像细化处理自动矢量化
矢量数据集
系统应用
算法设计
栅格数据自动矢量化系统
.NET
平台
图1栅格数据自动矢量化的技术流程图
2自动矢量化技术研究
2.1技术路线
实现栅格扫描图的自动矢量化,主要步骤有:(1)纸质地图经扫描仪扫描得到计算机屏幕光栅图像,这种图像的组成单位是像素;(2)对该图像进行预处理,包括将灰度图像处理为黑白两种颜色的二值化图像以及对光栅图像的噪声过滤;(3)基于骨架提取原理,对图像进行线划图的细化工作;(4)在上述研究基础上对几何图元进行识别,包括对直线和圆弧的自动矢量化获取;(5)输出指定的文件格式,实现与现有常见GIS 和CAD 系统的数据导入导出操作。
研究的技术路线图如图1所示。
2.2图像二值化处理
地图经过扫描以后,得到灰度图。
对灰度图进行预处理,是
提高图片质量很重要的一步,其效果好坏直接影响到后续处理
的结果。
一般在对地图的扫描数字化和识别时,
通常都是当作二值图像来处理的。
由于扫描后的图像是以不同灰度级存储的,为增强线划特征的识别,在进行栅格数据矢量化的转换之前,需将数据压缩为0和1两级的二值化图像。
考虑到二值化目的是为了把图形和背景作为二值图像对待,可以用阈值处理方法进行。
方法的关键是在灰度级的最大和最小值之间选取一个合理的阈值,当灰度级小于阈值时,取值为0,反之,取1[3]。
该研究采用状态法确定阈值,即由灰度级直方图来确定阈值。
方法为,设M 为灰度级数,P k 为第k 级的灰度的概率,n k 为某一灰度级的出现次数,n 为像元总数,则有:P k =n k /n ,其中k =1,2,…,M ,对于一般地图,通常在灰度级直方图上出现两个峰值,按照状态法的思想,该研究取波谷处的灰度级为阈值,二值化的效果最好。
2.3数学形态学在图像预处理中的应用
对于栅格图像上的各种噪声点,常见的去噪算法有均值滤波、高斯滤波和中值滤波,这些算法往往会引起图像的边缘模糊和细节丢失,而图像边缘往往就是地图信息所在。
为此研究引入了数学形态学相关理论,取得了较好的效果。
数学形态学是一门建立在严格的数学理论基础上的学科,它着重研究图像的几何结构。
基本思想是利用一个结构元素去探测一个图像,看能否将这个结构元素很好地填放在图像的内部,同时验证填放结构元素的方法是否有效。
通过对图像内适合放入结构元素的位置作标记,可得到关于图像结构的信息。
构造不同的结构元素,可完成不同的图像分析,得到不同的分析结果。
研究采用数学形态学提出的一套独特的变换和运算方
法,主要有腐蚀、膨胀、开启和闭合运算,对图像进行去噪处理。
在数学形态学中,数字图像被看成是二维(或三维)离散欧
氏空间Z 2(或Z 3)上的一个集合,即A 奂Z 2(或A 3
),集合中的每一个元素代表数字图像中的一个点。
若设a n ,m ,代表点(n ,m )的灰度值,则对于灰度图像来说,图像集合A 形式化描述为:A ={(n ,m ,t )∈Z 3|t =a n ,m }。
而描述二值图像集合A 时,
t =1。
结构元素B 对目标点集A 的腐蚀记为A ΘB :
Y =A ΘB ={y |y+b ∈A ,坌b ∈B }={y |y =a -b ,坌b ∈B ,a ∈A }(1
)膨胀是腐蚀运算的对偶运算(逆运算)。
记为A 茌B :Y =A 茌B ={y |y =a+b ,且a ∈A ,b ∈B }=b ∈B
胰A b
(2)
腐蚀操作会将所有小于结构元素的图形部分消除,对于超过结构元素尺寸的图像,会对边缘部分进行剥离操作,使边缘宽度减少一定的宽度。
而膨胀操作会使原有图像在边缘部分得到扩展,同时使图像中间小于结构元素的空洞得到填充。
将腐
蚀和膨胀运算按照一定的规则一起使用,可以在去噪中得到很好应用。
开(Open )运算的计算过程为先腐蚀后膨胀:A 莓B =(A ΘB )茌B 。
腐蚀运算将会使图像中尺寸小于结构元素的孤立噪声和毛刺噪声得到消除,膨胀运算则可使经过腐蚀后线条变窄的图像得以恢复。
反之,闭(Close )运算是先膨胀后腐蚀:A ·B =(A 茌B )ΘB 。
闭运算的结果使图像中宽度小于结构元素的空洞得到填充[4]。
图像经过预处理后,主要噪声被去除,图像质量得到大大改善,为后续处理做好了准备。
2.4细化算法研究
细化就是寻找图形的中轴线,细化的结果得到图元的骨
架,其像素宽度为1。
自细化思想提出后,各种细化算法的研究相继出现。
主要有串行算法、边缘跟踪算法、模板法以及轮廓跟踪法。
传统的细化算法在处理效果上各有特点,但处理速度往往都比较慢,查表技术改进了逐层细化方法,显著提高了处理速度。
细化后的图像在节点处往往会发生畸变,因此在自动矢量化之前必须进行修正处理。
约定在已细化的图像中,当任意两个端点A (x A ,y A )和B (x B ,y B )间的距离小于d ,则称A ,B 为空隙断点,这两点用直线段连接。
毛刺分支是指依附于目标曲线上的不必要的一段线段,它有两个特点:(1)是由一个端点和一个节点组成其两端;(2)毛刺分支的长度一般都很短。
为此,在算法设计时要首先找到图像中的所有端点和节点。
再求任一端点与节点的距离,若此距离小于给定的长度限制,则这个端点和节点构成毛刺的两端。
最后从搜寻到的毛刺端点沿着毛刺分支自动跟踪,直到跟踪到节点为止,把所跟踪到的毛刺分支上所有点设为白色。
2.5图像矢量化算法研究
地图矢量化是把栅格地图转换成矢量图格式。
栅格图是在
空间和亮度都已经离散化了的图像,它是由一系列像素组成的。
矢量图是各种矢量图元的集合,图元是图形中具有一定意义的较为独立的信息单元。
矢量化的过程是指将细化处理得到的线状图中的单像素宽、八连通的目标像素以相应的矢量串表示[5]。
矢量串是由若干数目首尾相连的矢量所组成,每个矢量串包含的矢量数目与线状要素的特性和长度相关。
因为计算机图形线状要素呈现为连续的点列,所以图形矢量化就是将连续点
172
2010,46(10)φ1
φ2
φ3
L 3
L 2
L 1
B
A
D
C
α2
α1
图2圆弧跟踪算法示意图
自动矢量化系统
读取栅格数据
模块
图像预处理模块
图像细化处理模块
自动矢量化模块
栅格数据输出模块
图3系统功能框架图
图4自动矢量化系统主界面
矢量化的问题。
(1)直线图元的矢量化方法:Bresenham 算法原来是为绘
图机设计的,用于把矢量数据转换为栅格数据[6]。
该算法构思巧妙,只需根据由直线斜率构成的误差项的符号,就可确定下一列坐标的递增值。
考虑当给定了直线段两端点坐标后,如何获得直线上的点在光栅显示系统中的轨迹,也就是如何追踪直线。
如果逆向使用Bresenham 算法,就能够得到矢量化直线。
算法具体描述为,设直线方程为y =kx +b ,根据上述思想,当己经获得了直线在光栅显示系统中的点(x i ,y i )时,该点对应直线真实y 坐标应该为y =kx i +b ,根据前述Bresenham 算法误差范围,有|y -y i |≤1/2;展开得到-1/2≤kx i +b -y i ≤1/2;将直线段左端点(x 0,y 0)代入方程得-1/2≤kx 0+b -y 0≤1/2;整理得(y i -y 0-1)/(x i -x 0)≤k ≤(y i -y 0+1)/(x i -x 0
)。
根据该公式,可以得到一种新的直线拟合算法:对点集{(x i ,y i ),
i =1,2,…,n }中的每一个点求区间[(y i -y 0-1)/(x i -x 0),(y i -y 0+1)/(x i -x 0)](3)对这些区间求交集,如果交集为空,则该点集不构成一个直线段;若交集不为空,则该点集构成一直线段,斜率可取交集中的任何一个值。
为减小在输入、细化过程中引入的误差和增强抗噪能力,区间修正为:
[(y i -y 0-d )/(x i -x 0),(y i -y 0+d )/(x i -x 0)],(d >1,为常数)(4)(2)圆弧图元的矢量化方法:在进行圆拟合前,首先必须从已经获得的直线段列表中,找到可能构成圆或者圆弧的直线段序列,获得起始搜索圆弧,进而逐步获得完整的圆弧或者整圆,最终进行圆参数的拟合。
从直线矢量化后的结果中找到可能是圆或圆弧的直线段,是进行圆弧和圆拟合的关键环节。
如图2所示,L 1、L 2、L 3是拟合圆中首尾相接的三条线段,α1
是L 1、L 2的夹角,α2是L 2、L 3之间的夹角。
设AC ,BD 间的距离分别是L AC 、L BD ,有L 2
AC =L 2
1+L 2
2-2L 1L 2cos α1,推出,α1=arccos[(L 2
1+L 2
2-L 2
AC )/2L 1L 2]和α1=arccos[(L 2
2+L 2
3-L 2
BD )/2L 2L 3]。
再由角度关系α1=π-(L 1+L 2)/R 和α2=π-(L 2+L 3)/R 可得,R 1=(L 1+L 2/π-α1)和R 2=(L 2+L 3/π-α2)。
每两条连续直线段都可以求出一个对应的半径R 。
如果新加入的直线段与上一直线段求得的半径与之前求得的半径之差在允许的范围内,则判断新直线段可能属于当前圆弧。
如果两次求得的半径差别较大,则新直线段可能不属于该圆弧。
3基于.NET 平台对自动矢量化系统的实现3.1系统框架与功能
系统以实现自动矢量化为目标,按照地图矢量化的流程进行设计。
考虑到系统整体功能具有严格的流程性,同时处理的数据具有明显的时序性,因此,该系统的设计采用的是流程式架构。
系统的框架和功能组织如图3所示。
3.2系统界面设计
基于系统的模块设计,采用面向对象的编程方法,按照自
动矢量化操作的流程,设计系统界面如图4所示。
3.3系统功能实现
系统开发选择.NET 平台的Visual C#作为开发工具。
C#
是微软公司发布的一种面向对象的、运行于.NET Framework 之上的高级程序设计语言,结合了Visual Basic 的快速开发能力和C ++的强大灵活的能力。
另外,C#的图形处理装置(Graphics Device Interface Plus ,GDI+)是 中进行二维向量图形、图像及文字等方面处理的Win32API 。
C#通过多种名称控件所提供的功能进行图形设计和图像处理,适合于实现系统开发的算法。
(1)读取栅格数据模块系统基于Windows 应用程序,将OpenFileDialog 组件用作位图文件的选择解决方案,并设置相应的文件打开逻辑。
同时,系统可以在应用程序中使用GDI+技术,按相应的图像格式新建和保存图像。
通过以下方式做到这一点:创建一个Image 类(如Bitmap )的新对象和创建一个Graphics 对象来引用要使用的绘图图面。
(2)图像预处理模块
系统通过统计图像的像素分布频率,利用状态法获取离散阈值,对图像进行二值化处理。
对于二值化后图像上存在的一系列噪声点,系统利用数学形态学中腐蚀和膨胀算法的复合使用,很好地消除了图像上的小点、毛刺和小孔等噪声点,并弥合了小裂缝。
(3)图像细化处理模块
系统细化过程中,将二值图像像元阵列逐步剥除轮廓边缘的点,使之成为线划宽度只有一个像元的骨架图形。
细化后的图形骨架既保留了原图形的绝大部分特征,又便于下一步的跟踪处理。
(4)自动矢量化模块
对于细化好的图像,系统矢量化将线状图中的单像素宽、八连通的目标像素以相应的矢量串表示。
因为计算机图形线状要素呈现为连续的点列,所以图形矢量化的程序实现,将问题归结为连续点矢量化的问题。
在这一过程中,重点实现对直线和圆弧的识别。
张东辉,何政伟,杨
斌:栅格图像自动矢量化系统的研究与实现
173
Computer Engineering and Applications 计算机工程与应用
2010,46(10)[7]刘晓健,
吴晓富,赵春明.准循环LDPC 码的两种典型快速译码算法研究[J].电子与信息学报,2009,31(1):79-82.
[8]雷菁,
高永强,王建辉,等.基于串行消息传递机制的QC-LDPC 码快速译码算法研究[J].电子与信息学报,2008,30(12):2938-2941.[9]Valembois A ,
Fossorier M.Box and match techniques applied to soft-decision decoding[J].IEEE Transactions on Information Theory ,2004,50(5):796-810.
[10]Fossorier M P C.Iterative reliability-based decoding of low-den -
sity parity check codes[J].IEEE Journal on Selected Areas in Com -munications ,2001,19(5):908-917.
[11]Fossorier M ,Lin S.Soft decision decoding of linear block codes
based on ordered statistics[J].IEEE Transactions on Information Theory ,1995,41(5):1379-1396.
[12]Weldon E J.Decoding binary block codes on Q -ary output
channels[J].IEEE Transactions on Information Theory ,1971,IT-17:
713-718.(上接110页
)
(a )扫描地形图
(b )二值化效果
(c )腐蚀效果
(d )膨胀效果
(e )去噪效果
(f )细化效果
图5
自动矢量化系统处理效果图
(5)栅格数据输出模块
在地理信息系统的应用中,常常需要进行多种数据格式的转换,实现数据的充分共享。
系统最终输出DXF 格式的文件,并提供打印出图功能。
4应用实例分析
按照矢量化的流程设置操作方式。
导入实验区的地形图,
各步骤处理的效果如图5所示。
对于经过扫描的纸质地图(图5(a )),二值化处理使得原先由于纸张发黄而带有的底色得到很好地去除,背景与图形辨别清晰,如图5(b )所示。
运用数学形态学的原理,分别实现了腐蚀和膨胀运算,图5(c )显示了栅格地图经过腐蚀运算后,线段变得稀疏;图5(d )的膨胀运算又使得地图的线型加粗。
膨胀和腐蚀运算交替使用,即开闭运算,则可以达到良好的去噪效果,如图5(e )所示。
经过细化后的图像即保留了原有图形的全部特征,又实现了线宽为单像元,为矢量图元的识别提供了保证,如图5(f )所示。
5结论
GIS 图形图像的研究可以说是学科研究领域重中之重的
内容,因为任何地理信息系统的应用都拥有其他系统所不具有的空间动态分析功能,而空间动态分析功能正是建立在己被正确处理过的可视化电子地图基础之上的。
同时,对地图进行矢量化,简化矢量化工作,对地理信息系统的其他应用将提供有力的支持。
一旦开发出拥有自主知识产权的矢量化系统,将为
本部门、本行业的发展提供十分便利的条件。
主要研究了栅格数据矢量化的二值化问题、图像预处理问题、
细化算法和直线与圆弧图元识别等问题,在结合理论的基础上,设计了相应的算法和程序解决方案,最后基于.NET 平台的C#语言,
编程实现了所有的算法。
从实例分析的结果来看,这套矢量化系统具有较好的效果。
另外,如何使数学形态学与模式识别技术在图形图像处理中得到更好的应用,是后续需要探究的问题。
参考文献:
[1]张晓贤.地理信息系统中栅格图像矢量化技术研究与实现[D].长春:
长春理工大学,2004.
[2]曹洪宇.采用面向对象技术进行图形矢量化方法的研究[D].长春:
长春理工大学,2005.
[3]胡鹏,
黄杏元,华一新.地理信息系统教程[M].武汉:武汉大学出版社,2005-08.
[4]崔屹.图像处理与分析——
—数学形态学方法及应用[M].北京:科学出版社,2000-04.
[5]杨云,
朱长青,孙群.扫描地形图中居民地街区提取和矢量化方法[J].测绘科学,2007,32(5):88-90.
[6]Freeman puter processing of line-drawing images[J].Comput
Surveys ,
1974,6(1):57-97.[7]Hearn D.Digital image process[M].American :
Prentice Hall ,1998.[8]Deitel H M ,Deitel P J.C#university tutorial [M].Beijing :Tinghua
University Publishing House ,
2003-11.[9]吕凤军.数字图像编程处理入门[M].北京:清华大学出版社,1999-12.[10]李兰友,
王学彬.图像处理程序设计实例[M].北京:国防工业出版社,2003-04.
[11]陈善学,
李方伟,朱维乐.一种快速的矢量量化编码[J].计算机工程与应用,2007,43(23):83-85.
[12]Jang B K.Analysis of thinning algorithm using mathematical mor -
phological operations[J].IEEE Trans on PAMI ,1990(12):541-551.[13]Maragos P.Differential morphology and image processing [J].IEEE
Trans Image Processing ,
1996(5):922-937.[14]Guo Zi-chang ,Hall R W.Fast fully parallel thinning algorithms[C]//
CVGIP :Image Understanding ,1992,55(3):317-338.
[15]尹潘,
李靖,戴慎志.城市近期规划中的数学形态学矢量化研究[J].计算机工程与应用,2007,43(4):16-18.
[16]曹银璇,
张继贤.全国土地利用动态监测结果栅格数据矢量化[J].测绘科学,2002,27(4):61-63.
174。