标号模糊阴影效果设计与实现
2018-04-02康帅宁聂芸
康帅宁,聂芸
(华北计算技术研究所北京100083)
标号是一种图形符号,它标绘在地图上[1]。如何利用标号将错综复杂、瞬息万变的战场态势表达的全面、清楚、准确,帮助指挥员充分地了解战场态势,实施指挥控制,是军用图形处理持续研究的命题。
现有的二维态势标绘系统中,二维标号普遍都是“趴”在图上的,如何使得二维标号具有立体显示效果,如何能使其合理地表达战场态势中的空间感,是一个值得研究的技术问题。本文就将从现有二维标号的可视化效果入手,综合运用图像处理、图形学、数据可视化等领域的技术手段,通过给二维标号添加模糊阴影使其具有立体显示效果,从而可以使已有的二维标号的可视化效果更加美观。
1 阴影模型的建立
在三维场景中,阴影为人们判断场景中物体的空间相对位置关系,增强场景的真实感和沉浸感具有重要的作用[2]。借鉴三维空间中的阴影系统来考虑二维阴影的实现,阴影系统是光源、遮挡体、物体之间的空间关系,对这三者的关系在二维空间中进行合理的刻画,形成二维阴影模型是本文研究的关键问题。阴影模型建立的关键是选择投影面、光源模型、光照方向。
投影面的选择。二维系统中,只有一个物体平面,而这个平面通常就是屏幕或者纸面。而从观察角度来说,只有正面观察的角度,通常是垂直画面或纸面的视线方向。按照三维场景,就是光源在观察者的位置,光线沿视线将物体投影在屏幕上。对于标号,如果从上方投影(投影面在标号下方,如谷歌里标签阴影,增加高度上的立体感),标号和阴影完全分离视觉上阴影形成了另一个物体,如果屏幕上标号较多,阴影和标号彼此重叠,画面更加混乱。因此还是保持观察习惯,将投影面定义为屏幕(或与之平行的平面),通过增加标号的纵深感提高立体感。
光源模型。通过手绘效果图的对比可以发现,如果按照三维场景中的常见的点光源模型给二维标号添加阴影,阴影的形状相对原始标号发生变化,不但不能增加二维标号的整体美观性,反而有可能会降低标号的辨识度,影响标号的表达效果。对某个二维标号按照一定的角度进行平行投影,在投影方向后方,可以得到与该标号大小一致的一个“贴合”的阴影,能够起到突出显示的效果。平行投影的示意效果如图1所示。
图1 投影效果示意图
如图1所示,通过平行投影给标号添加的阴影只是标号的平面投影,从态势可视化角度来看,这样的阴影效果在美观度上并没有明显的改善。而且,如果投影面和标号距离比较近的情况下,这样的阴影甚至会出现“重影”的效果。这样的效果是不能够投入实际应用的。针对上述情况,在提出的阴影模型的基础上,运用图像处理方面的技术手段,通过对添加的阴影进行模糊处理,消除原先“重影”的效果,形成标号为主、阴影为辅的一体效果,得到美观且符合实际应用的阴影效果。
光照方向。在二维态势标绘系统中给二维标号添加阴影,只需要考虑标号轮廓对光线的遮挡问题,而不用考虑遮挡物材质等其他外部因素的影响[3-5]。因此在对光源进行定义的时候并不需要考虑光强等其他因素,只需要考虑光源的位置。光源的位置将直接影响平行投影的方向(光照的角度),决定阴影和真实标号的相对位置关系。为了模拟光源位置,我们需要两个参数来确定阴影和标号的相对位置关系。其中一个参数是阴影相对于原标号模型的角度(angle),该角度直接决定了阴影相对于标号的方向。这里之所以不采用三维阴影模型的中的光源方向来决定阴影的投向,是因为我们的重点是在二维态势标绘系统中综合运用图形学和图像处理的相关技术手段模拟标号的阴影,增加标号的美观度。在现实中,确实是根据光源和标号的相对位置才能得到标号的阴影,然而在实际实现时,我们做一个投影的逆过程,即通过标号和阴影的相对角度来表示光源和标号的相对位置关系。实验证明,我们不一定要在二维态势标绘系统上引入光源,完全可以通过标号和阴影之间的相对位置关系来表示投影关系。基于此,我们的模型没有采用通过光源和标号的相对位置确定阴影的手段,而是采用了标号与阴影的夹角(angle)和标号与阴影的偏移距离(distance)确定阴影位置这一简化手段。
这里我们根据态势标绘系统中的通用做法,将地图上的正北方向作为方向的起始基准,即0°角,角度的大小依顺时针依次递增,直到360°。角度的具体表示如图2所示。
图2 角度和距离示意图
第二个参数便是阴影相对于标号的偏移距离(distance),偏移距离决定了阴影和标号的远近关系:距离大,阴影和标号分离,成为两个实体;距离近,标号和阴影重叠很多,标号本身变得不清晰。这一参数的大小与标号本身的大小和线宽以及阴影的模糊程度有着密切的关系,这些复杂多变的关系,我们将在后文通过一系列的对比实验来进一步说明。在进行算法实现时,我们便可以根据角度(angle)和偏移距离(distance)建立一个极坐标。进而通过极坐标到平面坐标之间的变换来定位阴影和标号的相对位置,从而完成对阴影的准确定位和绘制。
2 阴影模糊的3种算法简介
在图像处理领域,图像去噪过程会导致原图发生模糊,这一效果符合我们对阴影进行处理的要求。因此可以将图像去噪过程中的一些方法应用到阴影的处理。针对标号的阴影,标号的轮廓是清晰的,颜色是确定的,轮廓的宽度是确定的,形状是相对固定的。这些特性可以为我们选取图像处理算法和调整相应参数时提供依据。基于此,我们针对图像处理领域中一些典型的去噪算法仔细研究了其适用范围,并将这些算法进行了设计和实现,对不同算法的模糊效果进行了详细的对比实验,也仔细考察了在同一组参数下不同算法的具体表现。
在图像处理领域,根据中心点周围像素权重分配方法的不同,可以将实现模糊的方法分成均值滤波法、中值滤波法、高斯滤波法等方法。下文将对3种算法进行一个简要的介绍。
2.1 均值滤波法
均值滤波法是一种基本的线性算法,它是采用在原始图像上对需要处理的像素建立一个滤波模板。该模板以目标像素伟中心点,其邻近区域的n个像素,形成的一个模板(不包括目标像素点)[6]。设一幅图像f(x,y)为N*N的矩阵,平滑后的图像为g(x,y),它的每个像素的灰度级由包含在(x,y)的预定邻域的几个像素的灰度级的平均值所决定,即用下式经过计算可以得到平滑后的图像:
其中x,y=1,1,2,2,…,N-1。S是(x,y)点邻域中心点的坐标集合(不包括点(x,y)),M是S内坐标点的总数。在图像去噪的应用中,均值滤波法具有计算速度快等特点,缺点是在降低噪声的同时,会使图像产生模糊,特别在边沿和细节处,邻域越大,模糊越厉害[7]。
2.2 高斯滤波法
从数学的角度来看,图像的高斯模糊过程就是
其中,r是模糊半径,r2=x2+y2,σ是正态分布的标准偏差。
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内其他像素值经过加权平均后得到[9-11]。
2.3 中值滤波法
中值滤波本质上是一种统计排序的滤波器,其原理是把数字图像或数字序列中的一点的值用其一个邻域中各点值排序后的中值代替[12-14]。中值的定义如下:
一组数x1,x2,x3,…,xn各数按大小排序如下:图像与正态分布做卷积[8]。因此,在计算平均值的时候,我们只需要将“中心点”作为原点,其他点按其在正态曲线上的位置,分配权重,就可以得到“中心点”的加权平均值。
正态分布的密度函数叫做“高斯函数”(Gaussian function),N维空间的正态分布方程为:
我们把y称为序列x1,x2,x3,…,xn的中值。
由于在有噪声干扰的情况下,图像中的噪声干扰点的灰度值,往往与邻域的像素值相比有很大的差异。而经过排序后的中值通常表现为噪声干扰值,只要把这个值替换为其他邻域的值,也就相当于去除了噪声干扰了,这就是中值滤波的原理[15]。
中值滤波最大的优势是在消除图像噪声的过程中,能够在一定程度上降低图像边缘造成的模糊,保留图像的边缘细节[16]。
3 模糊度对阴影效果影响的实验探究
对标号的阴影进行模糊处理,就是标号阴影的每一个像素都取周边像素的平均值。在计算平均值时,取值范围越大,标号阴影轮廓的细节就会丢失越多,阴影的“模糊效果”就会越强烈。如何确定合适的取值范围,既让阴影有模糊效果,又不至于太过于模糊,这是我们对算法进行研究、选取的关键。在取值范围即模糊度(blur)这一问题上我们发现,必须根据不同的算法来确定相对应的范围。
文中针对第二章所述的3种常用图像去噪算法在固定标号大小,固定标号线宽,固定标号的偏移距离和角度的情况下,对每一种算法设置不同的模糊度(blur),进行对比实验,着重分析模糊度(blur)对标号阴影效果的影响,后续继续对比了均值滤波法和高斯滤波法两种结果的阴影效果。
3.1 均值滤波法
当distance=10,angle=45为固定值,模糊度发生变化时,
blur=5时,旗子的阴影效果如图3(a)所示;
blur=10时,旗子的阴影效果如图3(b)所示;
blur=15时,旗子的阴影效果如图3(c)所示;
blur=20时,旗子的阴影效果如图3(d)所示。
图3 均值滤波法效果
结论:均值滤波法对模糊度的数值变化相对比较敏感,在blur数值适中(10<=blur<=15)时便可以使阴影达到比较明显的模糊效果。通过上图可以看出,均值滤波法实现的阴影模糊效果的粒度比较大,实现的阴影边缘模糊非常严重,表现在视觉上就是阴影的模糊效果比较“发虚”,不够细腻。特别是当blur>=15时,阴影的边缘模糊效果会非常明显,如果blur的数值较大,会出现阴影淡化的现象,同时会使得标号显示效果得到突出显示(如图3(d))。这种情况适合在军事要图上标绘敌我的重要标号,大大增强重要标号的显示效果,提高读图人员对重要标号的辨识度。但是,因为标号的阴影会出现淡化,在标绘排列紧密的密集标号时可能会出现相互遮挡的情况,对读图人员造成干扰,因此不适于标绘密集标号。
3.2 高斯滤波法
当distance=10,angle=45为固定值,模糊度发生变化时,
blur=5时,旗子的阴影效果如图4(a)所示;
blur=15时,旗子的阴影效果如图4(b)所示;
blur=21时,旗子的阴影效果如图4(c)所示;
blur=33时,旗子的阴影效果如图4(d)所示。
图4 高斯滤波法效果
结论:高斯模糊法对模糊度的数值变化没有均值滤波法敏感,在blur数值较小(5<=blur<=15)时阴影模糊效果仍旧不是很明显,甚至有被误认为是两个独立标号的可能。当blur>=15时,阴影的模糊效果才比较明显,如图 4(b),图 4(c),图4(d)所示。和均值滤波法的模糊效果进行对比可以发现,高斯模糊在blur>15时,实现的阴影效果比较细腻,特别是当blur数值比较大(blur=33)时,阴影的边缘仍旧保持的比较好,不会出现均值滤波法中阴影过于“虚化”的现象。
3.3 中值滤波法
当distance=10,angle=45为固定值,模糊度发生变化时,
blur=5,旗子的阴影效果如图5(a)所示;
blur=9,旗子的阴影效果如图5(b)所示;
blur=11,旗子的阴影效果如图5(c)所示;
blur=13,旗子的阴影效果如图5(d)所示。
图5 中值滤波法效果
结论:通过对比中值滤波的上述实验结果,我们发现中值滤波在我们的应用场景下,当blur数值较小(5<=blur<=9)时,没有产生明显的模糊现象,只有标号有锐利角度的地方发生了一些变化。但是,当blur的值稍大(blur=11,blur=13)时,经过中值滤波的处理,阴影已经完全没有了原来的样子,如图5(c),图5(d)。因此,我们认为中值滤波不适合标号这一特殊应用场景,故将这种方法排除。
3.4 高斯滤波法和均值滤波法的实验效果对比
针对3.1和3.2描述的两种阴影模糊效果的处理方法,我们在固定标号大小、线宽、偏移线宽、偏移距离的情况下,即distance=10,angle=45,只改变blur的值,观察对比在同一模糊度下均值滤波法和高斯滤波法的阴影模糊效果。
当blur=11时,均值滤波法效果如图6(a)所示。高斯滤波法效果如图6(b)所示。
当blur=21时,效果如图6(c)所示。当distance=20时,效果如图6(d)所示。
图6 高斯滤波和均值滤波效果对比
结论:通过上述效果对比图,可以看出均值滤波法和高斯模糊法相比,在同等数值下,其模糊效果要严重许多,数值较大时阴影会很淡。而高斯模糊实现的阴影效果是比较细腻的,特别是当blur的值比较大时,仍然能够保持阴影边缘的正常模糊效果,阴影也不会因为经过模糊处理而发生特别淡化,因此高斯模糊法可以实现均值滤波法不擅长的排列密集的多标号阴影效果的实现。基于此并结合后文中的相关实验数据,我们认为该算法当标号大小、线宽、偏移距离和角度发生改变时,同样能够准确表达阴影的模糊效果,该算法受限制比较小,具有很好的普适性。
4 其他因素对阴影效果的影响的研究与实验
在标号阴影效果的实际绘制过程中,除了模糊度对标号有重要的影响之外,还有其他因素也会影响标号阴影的表达效果,不同的参数组合会对标号及其阴影的整体效果的美观度有着显著的影响。在众多的因素当中,我们根据实际应用情况,着重讨论了偏移距离、偏移角度、标号大小和标号线条粗细等4个因素对标号的实际影响情况。
4.1 偏移距离对阴影效果的影响(以高斯滤波为例)
这里取阴影效果其他几个因素的典型值,blur=21,angle=45,标号大小和线宽同上时,只改变distance的值,以此为前提实验距离对于阴影效果的影响。
当distance=5时,效果如图7(a)所示。
当distance=10时,效果如图7(b)所示。
当distance=15时,效果如图7(c)所示。
当distance=20时,效果如图7(d)所示。
结论:通过上述实验可以发现,当distance的值较小时,经过模糊处理的阴影会仅仅贴在标号上,标号看起来有一种“隐隐发光”的视觉效果,如图7(a)所示。随着distance值的增大,标号与阴影的间距逐渐变大,如果距离够大,甚至会出现二者分离的情况。通过实验结果,我们认为图7(a),图 7(b),图 7(c)3种视觉效果都处在一个可以接受的范围,但是如果大到图7(d)的情况,标号和阴影就有些过于分离了,会影响标号的整体表达效果,不利于美观度的提升。
图7 偏移距离对阴影效果的影响
4.2 偏移角度对阴影效果的影响(以高斯滤波为例)
这里取阴影效果其他几个因素的典型值,blur=21,当distance=10,标号大小和线宽同上时,只改变distance的值,以此为前提实验距离对于阴影效果的影响。
angle=45°时,阴影的效果如图8(a)所示。
angle=135°时,阴影的效果如图8(b)所示。
angle=225°时,阴影的效果如图8(c)所示。
angle=315°时,阴影的效果如图8(d)所示。
结论:在这里,我们给出了4个不同的角度下,之所以选择这4个角度,是因为这4个角度有较好的侧视方向,比较符合我们的直观感受。阴影围绕标号转换的效果图。可以看出,通过不同的角度,产生一种站在左前方(图8(a))观察标号的效果,其他角度与此类似。如果能够结合实际的军事要图和实际标绘方向,可以使得读图人员获取标号位置关系。
图8 偏移角度对阴影效果的影响
5 结束语
通过给标号设计阴影模型和光照模型,并借助图像去噪的3种算法给生成的阴影添加了模糊效果。针对3种模糊算法详细对比了不同的模糊度对阴影效果的影响,分析了3种算法在本文特定应用场景下的适用情况,最终选出了最为适合本文应用场景的高斯模糊算法。在此基础上,本文针对不同偏移距离和偏移角度的情况,继续设计对比实验,详细对比了偏移距离和偏移角度对阴影模糊效果的影响,最终通过借助高斯滤波法给二维标号添加了模糊阴影,实现了二维标号的立体显示效果,改善了标号的可视化效果,有利于提升二维态势标绘系统的能力。
参考文献:
[1]何利明.二维标号生成与态势标绘技术研究[D].武汉:华中科技大学,2015.
[2]杜文俊,冯杰青,杨宝光,等.三角形重建的几何阴影图算法[J].计算机辅助设计与图形学学报,2016,28:209-210.
[3]张韶华,秦志远,张宝印.基于二维矢量图形的阴影自动生成算法[J].计算机应用研究,2014,31(8):2528-2530.
[4]张文辉.平面阴影算法研究与实现[J].计算机应用,2007,26(6):1472-1474.
[5]汤翾.基于投影平面物体排序的算法的研究[D].成都:西华大学,2015.
[6]林小芳.几种滤波算法的比较研究[J].福建电脑,2017(2):107-108.
[7]杨成佳.图像去噪及其效果评估若干问题研究[D].长春:吉林大学,2016.
[8]丁怡心,廖勇毅.高斯模糊算法优化及实现[J].现代计算机,2010(8):75-76.
[9]王小莹,易尧华.基于SVM的模糊图像识别[J].包装工程,2016,37(13):179-180.
[10]周志强,汪勃,李立广,等.基于双边与高斯滤波混合分解的图像融合方法[J].系统工程与电子技术,2016,38(1):8-10.
[11]张强,王正林.精通Matlab图像处理[M].北京:电子工业出版社,2012.
[12]林婉仪,顾星,殷淑玥.中值滤波噪声过滤技术研究[J].江西建材,2017(2):291.
[13]席小霞,宋文爱.一种新型的中值滤波改进算法[J].电子世界,2016(4):99-100.
[14]王剑锋,赵晓容,李黎,等.基于中值滤波的图像平滑实验和Matlab实现[J].南京工业职业技术学院学报,2016,16(1):27-29.
[15]张兆礼,赵春晖,梅晓丹.现代图像处理技术[M].北京:人民邮电出版社,2011.
[16]蒋树强,闵巍庆,王树徽.面向智能交互的图像识别技术综述与展望[J].计算机研究与发展,2016:113-122.