一种基于RGB特征提取的电子地图载负量计算方法

2013-12-06 08:46曹亚妮颜玉龙
测绘工程 2013年6期
关键词:电子地图计算方法灰度

江 南,张 昊,曹亚妮,颜玉龙

(信息工程大学,河南 郑州 450052)

地图载负量是衡量地图所包含内容多少的数量标志[1]。在读图的过程中,由于人们视觉能力的限制,地图载负量往往有一定限度,超过这一限度地图便难以阅读,故地图载负量是制定地图内容选取指标的重要因素之一[2],可见地图载负量在制图和读图中的重要性。目前,电子地图载负量的计算仍沿用传统纸质地图载负量的计算方法,是通过计算地图内所有要素和注记所占面积与图幅总面积之比而获得,而电子地图的认知环境和感受规律却不同于纸质地图,这使得原有的方法不再适合电子地图,因此,找到一种快捷有效计算电子地图载负量的方法就显得尤为重要。

近年来许多专家学者提出了关于电子地图载负量的计算方法:通过求解电子地图面积载负量随比例尺的变化规律,然后分析其随着比例尺变化而变化的趋势,最后再借助反S曲线模型来确定两个比例尺之间的关键比例尺[3],而建立合理的多尺度模型是有效提高电子地图清晰性和可读性的重要条件。由此可见,电子地图多尺度模型的建立和载负量的计算是密不可分的,且当前的电子地图载负量计算方法还存在许多问题,并不能投入到具体的实际应用中。因此,本文通过对电子地图屏幕负载量计算方法的研究,总结载负量计算方法的研究情况,提出一种基于RGB特征提取电子地图载负量的计算方法,并进行实验和应用分析。

1 载负量计算方法分析

近年来,不少学者对地图载负量的计算方法进行了深入研究,如孟立秋、邓红艳、贾奋励等都提出过相关的算法,在电子地图多尺度显示方面有一定的影响。概括起来,主要有3大类。

1.1 利用地图的各分色载负量的叠加实现地图载负量的计算

孟丽秋通过利用地图各分色载负量的叠加之和求得地图的载负量,这种方法是由传统纸质地图面积载负量的计算方法演变而来,它计算地图上符号所占着墨面积与图区面积之比[4]。如图1所示,它首先输入样本数和分色数,再利用输入样本边长求得样本面积,最后通过类型符号的分色数计算出点线面不同分色数的载负量可以累加得到总的载负量。

图1 各分色载负量的叠加实现地图载负量的计算方法

该方法的优点是提出了把载负量按颜色值分开计算的思路,不足之处是人与计算机的交互过多,计算量过大。在实验研究和生产任务中,由于数据量较大,往往无法投入使用。

1.2 屏幕饱和度计算模型

邓红艳提出的屏幕饱和度计算模型是基于区域划分计算的思路[5],通过把实际地理区域划分为不同的小区域进行计算,不仅可以大大降低计算空间的浪费,还可以在微小的区域控制饱和度,并减小由于疏密不同而造成的图面要素不协调。

该方法虽然对不同密度区域有所选择地分别计算,但是由于本算法对速度要求很高,现阶段难于实现。再者,该算法依然沿用了传统的地图载负量计算方法,其实质并没有改变。

1.3 目标颜色与背景颜色的色差作为权值参与面积载负量计算的方法

贾奋励提出了基于HLS色差的电子地图面积载负量计算方法,该方法是基于人对颜色的心理认知进行研究的。面积载负量的计算取决于背景色差的大小对人眼视觉的压力,将符号注记的颜色和地图底图颜色的色差作为权值来进行计算[7],如式(1)所示,d Difference是前景色与背景色在HLS色空间的距离。

该方法依赖于心理学研究,并没有量化地给出数据支持,计算中还必须把RGB色彩空间转化为HLS色彩空间,易产生较大误差,而且该方法并没有给出具体的计算实例,能否实现得不到验证。

前面几种方法在计算地图载负量方面都各有优势,拥有很强的理论支撑,也做了大量的实验研究,但是投入实际应用还很少。因此,目前缺少一种简单、实用,可以直接利用并参与实际软件开发的方法。

2 基于RGB特征计算电子地图载负量的思路

2.1 地图负载量的概念

地图载负量实质上是研究使电子地图多尺度表达具有适当数量的内容,使电子地图看起来既不会内容太多给人一种不清晰感觉,又不会因为内容太少而不够实用。

现在,普遍把地图载负量分为面积载负量、数值载负量、视觉载负量以及信息载负量[1]。面积载负量和数值载负量的概念提出较早,而视觉载负量和信息载负量是在对载负量有一定研究的基础上提出的。在计算方面,主要集中在面积载负量和信息载负量的算法研究,而视觉载负量和数值载负量由于计算难度较大,研究较少[6]。可见,对载负量的计算还停留在研究阶段,计算方面存在很多问题,并没有真正投入使用阶段。本文主要就面积载负量的计算方法进行研究。

2.2 电子地图面积载负量的计算方法

面积载负量是衡量电子地图内容多少的一个数量指标,也是检验电子地图效果的指标。地图的面积载负量是指图上符号和注记所占面积与图幅总面积之比,如式(2)所示。

2.2.1 基于灰度提取计算地图要素面积

图像上提取特征点的算法很多,在实际中通常采用基于灰度的算法来提取特征点的灰度值[9],从而计算指定灰度值在屏幕上的面积。电子地图是在屏幕上显示的,也是图像的一种,因此,该方法同样适用于电子地图面积的计算。电子地图上存在要素色和背景色两类颜色,这里采用灰度提取要素面积,计算要素所占的像素的个数与总像素个数之比。在计算机中通常采用RGB色彩系统来描述地图的颜色,要素颜色和背景颜色会有一定的差距,相应RGB值也会不同,借助值域可以提取要素颜色的面积。

2.2.2 点状要素面积的计算

本文主要以点状要素为例来说明要素面积计算方法。如图2的符号是黑色(RGB值为0,0,0)的,而相应的底色是白色(RGB值为255,255,255),因此,可把要提取的灰度值值域设置为(R=0,G=0,B=0)以提取特征点的面积。

图2 Moravec算子提取特征

提取特征点的算子称为兴趣算子。目前,应用比较广泛的是Moravec算子与Forstner算子等[8]。Moravec于1977年提出利用灰度方差提取点特征的算子,其步骤如下:

1)计算各像元的兴趣值。在以像素(m,n)为中心的s×s的影像窗口中(如图3为3×3的窗口中),计算4个方向相邻像素灰度差的平方和,有

图3 某符号的像素

取其最小者作为该像素(m,m)的兴趣值,即

2)给定阈值。确定该RGB值值域,如果兴趣值大于给定的阈值,则将该元素作为候选点,阈值为利用软件提取的RGB值。

3)确定特征点。在一定大小窗口内,将上一步所选的候选点与周围的候选点进行比较,若该像元的值非窗口中最大值,则去掉;否则,该像元被确定为特征点。

4)计算面积载负量。可以逐一判断出图3上的符号所占栅格数即像素的多少,通过式(4)就可以计算出面积载负量。

3 实验研究与分析

为检验本方法的可行性,在C#环境下编写软件来对地图的像素坐标逐个扫描,判断它们的RGB值是否是给定的值或在给定值域内,计算出符号注记所占的像素,从而得到地图载负量。下面分别从几何图形和电子地图两方面来实验。

3.1 基于几何图形的实验

第一步:在C#环境下编写检验软件,核心代码如图4所示。

图4 软件代码图

第二步:在photoshop软件下绘制如图5所示的简单图片,规格:新建一个大小为100*100的黑色底图,其RGB值为(0,0,0),在上面绘制一个50*50的正方形,其RGB值为(255,255,255)。通过载负量的定义计算可知,其载负量=(50*50)/(100*100)=0.25。

图5 验证试验图片

第三步:利用已编好的软件,通过导入图片和输入RGB值数据可以计算出如图6所示的结果。通过实验结果可以看出得到的结果和预测值一致,由此验证本算法可行。

图6 验证试验结果图

3.2 基于电子地图的实验

第一步:把需要计算的电子地图导入到计算软件中。

第二步:获取底图各要素颜色的RGB值,并输入到软件里。(由于符号和注记的颜色值太多,获取起来比较复杂。逆向获取底图的颜色,再用1减去计算出的数值,即可得到所求的值。)

第三步:计算出电子地图载负量,以1∶300万地图载负量计算为例。导入1∶300万的栅格地图,利用photoshop提取底图5种颜色相应的RGB值,可以计算出一个数值0.804 841 5,再用1减去这个数值即可得到地图的载负量为0.195 159 5,用相同的方法可以计算出其他图的载负量。图7为1∶300万电子地图载负量计算结果。

图7 1∶300万电子地图载负量计算

第四步:利用同样的方法可以计算出如图8所示的系列比例尺地图,结果如表1所示。对比图8和表1可以看出,1∶300万的地图符号注记相对较多因而载负量也较大,而1∶1 250万的图符号注记相对较少因而载负量也较小,结果符合一般规律。从文献[1]中得到,1∶50万和1∶100万纸质地图的极限载负量分别为0.15和0.17,本实验结果表1中1∶50万和1∶100万电子地图载负量与纸质地图相吻合。

图8 系列比例尺地图

表1 试验结果

3.3 实验结果分析

1)通过实验可以看出本方法结果正确,符合算法的要求,在计算速度方面有较大提高,减少了人机交互工作量,充分节省计算机空间。

2)本方法可以直接从电子地图计算载负量,避免了从纸质地图获取过程中存在的误差,使得载负量计算更加系统科学。

3)基于RGB计算面积载负量时对临界值有较高要求,因而值域仍需要做进一步研究。

4 结束语

本文对当前电子地图载负量计算的各种方法进行对比分析,提出通过对特征点的RGB提取,可计算出符号和注记的所占屏幕像素面积,进而求得电子地图面积载负量的方法。在此基础上,本文通过编程的手段将该算法投入到实际应用,并用软件验证该算法在普通地图载负量计算中的正确性。

[1]王家耀,范亦爱,韩同春.普通地图制图综合原理[M].北京:测绘出版社,1993.

[2]陶连会,陈艳武,肖成才.导航电子地图多尺度显示与载负量的研究[J].地理信息世界,2011,9(5):45-50.

[3]江南,白小双,曹亚妮.基础电子地图多尺度显示模型的建立与应用[J].武汉大学学报:信息科学版,2010,35(7):768-772.

[4]孟丽秋.视觉载负量的计量方法及其应用[J].解放军测绘学院学报,1985(3):53-62.

[5]邓红艳,王英杰.基于区域划分的屏幕饱和度计算模型[J].测绘科学,2010,35(5):153-155.

[6]吕华新,李霖,翟亮.电子地图中多尺度地图数据显示的研究[J].测绘信息与工程,2005,30(6):22-24.

[7]陈敏,向南平,罗畏.一种多尺度特征点探测算子[J].测绘科学技术学报,2010,27(5):357-360.

[8]张保民,龚志辉,郭海涛.摄影测量学[M].北京:测绘出版社,2008.

[9]江南,白小双,曹亚妮,等.基于触发模型的国界电子地图自适应符号设计[J].测绘工程,2011,20(3):41-45.

猜你喜欢
电子地图计算方法灰度
采用改进导重法的拓扑结构灰度单元过滤技术
浮力计算方法汇集
基于灵活编组的互联互通车载电子地图设计及动态加载
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于Mapserver的增强现实电子地图的设计与实现
基于灰度线性建模的亚像素图像抖动量计算
随机振动试验包络计算方法
不同应变率比值计算方法在甲状腺恶性肿瘤诊断中的应用
电子地图在初中地理教学中的应用实践
一种伺服机构刚度计算方法