本发明涉及图像处理技术领域,尤其涉及一种地形数据的平滑处理方法及装置。
背景技术:
地形作为自然界最复杂的景物之一,对其进行实时、逼真的三维构建及可视化一直是计算机图形学的重要研究内容。其在游戏如大型三维游戏(如:《魔兽世界》)、虚拟游戏(如:虚拟紫禁城)、影视动漫设计、三维可视化地理信息系统(如:《ArcGIS》套件),以及国防军事领域包括战场环境态势仿真、战法战式模拟演练等领域有着广泛的应用。目前,三维地形的构建可通过结合观察点的位置决定模型细节的选择,以减少图形处理的复杂度,提高图形生成效率,达到实时动态绘制要求。而三维地形场景的真实感表达与呈现是三维地形构建以及基于地形的可视化应用处理的一大挑战。
地形的真实感表达包括地形的高低起伏特征的精确绘制。绘制地形轮廓线时一般利用高程数据来绘制,但是随机误差会导致轮廓线呈“锯齿”形,所以有必要对高程数据进行平滑处理。常用的数据平滑处理有均值滤波、中值滤波、卡尔曼滤波和小波滤波,均值滤波本质上是一种低通滤波方法,在消除误差的同时会对地形的高频细节成分造成破坏和损失,故用于高程数据平滑会导致地形特征点改变,中值滤波是一种非线性滤波器,是把数字序列中各点的值用该点的一个领域中各点值的中值代替,在某些条件下既可去除误差又能有效保护地形特征点,卡尔曼滤波是以最小均方误差为估计的最佳准则来寻求一套递归估计的算法,适合于实时处理和计算机运算,但与中值滤波相比较计算复杂,小波滤波存在两大难点:一是选择合适的小波函数;二是确定阈值。
但是以上方法均为基于插值的方法实现地形高程数据的平滑处理,在低分辨率的状态下忽略地形本身的重要起伏特征,如山峰、河谷等典型区域,使得数据破坏性强,导致视觉上的失真问题。而高程数据平滑处理旨在计算简洁,并使地形特征尽可能保持不变。因而基于插值的方法并不能很好的满足三维地形构建对于真实感的要求。
技术实现要素:
本申请实施例通过提供一种地形数据的平滑处理方法及装置,解决了现有技术中的地形数据的平滑处理方法,大多都是基于插值的方法来实现,存在数据破坏严重的技术问题。实现了根据局部地理要素的信息进行平滑处理,减少对地形原始结构的破坏,提高地形模型精度,误差更小,并且保留了更多的重要信息技术效果。
一方面,本申请通过本申请的一实施例提供如下技术方案:
一种地形数据的平滑处理方法,包括:
从地形栅格数据中任意选取一个顶点作为第一顶点,其中,所述第一顶点即为当前需要进行平滑处理的顶点;
确定与所述第一顶点对应的第一顶点元;
计算所述第一顶点元的法向量;
在所述第一顶点元周围确定一局部地形;
计算所述局部地形的法向量;
基于所述第一顶点元的法向量和所述局部地形的法向量,矫正所述第一顶点的高程值。
优选地,所述确定与所述第一顶点对应的第一顶点元,包括:
在所述第一顶点周围选取四个顶点,其中,所述第一顶点和所述四个顶点构成所述第一顶点元,所述第一顶点是所述第一顶点元的中心点。
优选地,所述计算所述第一顶点元的法向量,包括:
基于所述四个顶点中的任意三个顶点确定一个平面,共确定四个平面;
计算出所述四个平面中每个平面的法向量;
计算所述四个平面的法向量的平均值,获得所述第一顶点元的法向量。
优选地,所述在所述第一顶点周围确定一局部地形,包括:
确定一间隔距离,其中,所述间隔距离随视点高度变化;
基于所述间隔距离,在所述第一顶点元周围选取四个顶点元,所述四个顶点元与所述第一顶点元之间的距离均为所述间隔距离,所述第一顶点元和所述四个顶点元即构成所述局部地形。
优选地,所述间隔距离随视点高度的变化关系满足如下等式:
其中,factor为所述间隔距离,h为视点高度,j为在所述局部地形的长度,k为在所局部地形的高度,Q为所述距离间隔的最大值。
优选地,所述间隔距离的最大值满足如下等式:
其中,H为所述视点高度的最大值。
优选地,所述计算所述局部地形的法向量,包括:
计算所述四个顶点元中每个顶点元的法向量;
计算所述四个顶点元的法向量的平均值,获得所述局部地形的法向量。
优选地,所述基于所述第一顶点元的法向量和所述局部地形的法向量,矫正所述第一顶点的高程值,包括:
判断所述第一顶点元的法向量和所述局部地形的法向量是否正交;
若不正交,则过所述第一顶点做垂直于所述第一顶点元的法向量的第一平面;
将所述局部地形的法向量和所述第一平面的交点的高程值作为所述第一顶点的高程值。
另一方面,本申请通过本申请的一实施例,提供如下技术方案:
一种地形数据的平滑处理装置,包括:
选取模块,用于从地形栅格数据中任意选取一个顶点作为第一顶点,其中,所述第一顶点即为当前需要进行平滑处理的顶点;
第一确定模块,用于确定与所述第一顶点对应的第一顶点元;
第一计算模块,用于计算所述第一顶点元的法向量;
第二确定模块,用于在所述第一顶点元周围确定一局部地形;
第二计算模块,用于计算所述局部地形的法向量;
矫正模块,用于基于所述第一顶点元的法向量和所述局部地形的法向量,矫正所述第一顶点的高程值。
优选地,所述第一确定模块,具体用于:
在所述第一顶点周围选取四个顶点,其中,所述第一顶点和所述四个顶点构成所述第一顶点元,所述第一顶点是所述第一顶点元的中心点。
优选地,所述第一计算模块,具体用于:
基于所述四个顶点中的任意三个顶点确定一个平面,共确定四个平面;计算出所述四个平面中每个平面的法向量;计算所述四个平面的法向量的平均值,获得所述第一顶点元的法向量。
优选地,所述第二确定模块,具体用于:
确定一间隔距离,其中,所述间隔距离随视点高度变化;基于所述间隔距离,在所述第一顶点元周围选取四个顶点元,所述四个顶点元与所述第一顶点元之间的距离均为所述间隔距离,所述第一顶点元和所述四个顶点元即构成所述局部地形。
优选地,所述间隔距离随视点高度的变化关系满足如下等式:
其中,factor为所述间隔距离,h为视点高度,j为在所述局部地形的长度,k为在所局部地形的高度,Q为所述距离间隔的最大值。
优选地,所述间隔距离的最大值满足如下等式:
其中,H为所述视点高度的最大值。
优选地,所述第二计算模块,具体用于:
计算所述四个顶点元中每个顶点元的法向量;计算所述四个顶点元的法向量的平均值,获得所述局部地形的法向量。
优选地,所述矫正模块,具体用于:
判断所述第一顶点元的法向量和所述局部地形的法向量是否正交;若不正交,则过所述第一顶点做垂直于所述第一顶点元的法向量的第一平面;将所述局部地形的法向量和所述第一平面的交点的高程值作为所述第一顶点的高程值。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在申请实施例中,公开了一种地形数据的平滑处理方法,包括:从地形栅格数据中任意选取一个顶点作为第一顶点,其中,所述第一顶点即为当前需要进行平滑处理的顶点;确定与所述第一顶点对应的第一顶点元;计算所述第一顶点元的法向量;在所述第一顶点元周围确定一局部地形;计算所述局部地形的法向量;基于所述第一顶点元的法向量和所述局部地形的法向量,矫正所述第一顶点的高程值。申请实施例解决了现有技术中的地形数据的平滑处理方法,大多都是基于插值的方法来实现,存在数据破坏严重的技术问题。实现了根据局部地理要素的信息进行平滑处理,减少对地形原始结构的破坏,提高地形模型精度,误差更小,并且保留了更多的重要信息技术效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本申请实施例中一种地形数据的平滑处理方法的流程图;
图2本申请实施例中一种地形数据的平滑处理装置的结构图。
具体实施方式
本申请实施例通过提供一种地形数据的平滑处理方法及装置,解决了现有技术中的地形数据的平滑处理方法,大多都是基于插值的方法来实现,存在数据破坏严重的技术问题。实现了根据局部地理要素的信息进行平滑处理,减少对地形原始结构的破坏,提高地形模型精度,误差更小,并且保留了更多的重要信息技术效果。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种地形数据的平滑处理方法,包括:从地形栅格数据中任意选取一个顶点作为第一顶点,其中,所述第一顶点即为当前需要进行平滑处理的顶点;确定与所述第一顶点对应的第一顶点元;计算所述第一顶点元的法向量;在所述第一顶点元周围确定一局部地形;计算所述局部地形的法向量;基于所述第一顶点元的法向量和所述局部地形的法向量,矫正所述第一顶点的高程值。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
如图1所示,本实施例提供了一种地形数据的平滑处理方法,包括:
步骤S101:从地形栅格数据中任意选取一个顶点作为第一顶点,其中,第一顶点即为当前需要进行平滑处理的顶点。
举例来讲,可以从需要进行平滑处理的栅格图像中提取地形栅格数据,再从地形栅格数据中任意选择任意一个顶点作为第一顶点,并记为a。
步骤S102:确定与第一顶点对应的第一顶点元。
作为一种可选的实施例,步骤S102,包括:在第一顶点周围选取四个顶点;其中,第一顶点与这四个顶点构成第一顶点元,第一顶点是第一顶点元的中心点。
举例来讲,可以将顶点a周围的四个顶点选择出来,按顺时针方向依次记为N、E、W、S,顶点a和顶点N、E、W、S构成一个顶点元(即:第一顶点元),该顶点元是一个以a为中心点,以N、E、W、S为四个顶点的空间四边形。
步骤S103:计算第一顶点元的法向量。
作为一种可选的实施例,步骤S103,包括:基于所述四个顶点中的任意三个顶点确定一个平面,共确定四个平面;计算出所述四个平面中每个平面的法向量;计算所述四个平面的法向量的平均值,即获得第一顶点元的法向量。
举例来讲,可以提取N、E、W、S四个顶点中的栅格坐标数据,分别计算以a为底边中点,并以N、E、W、S四个顶点中的任意三个顶点为顶点的所有三角形(即:ΔWNE,ΔNES,ΔESW,ΔSWN)所在平面的法向量。再将ΔWNE的法向量ΔNES的法向量ΔESW的法向量和ΔSWN的法向量相加除以4,即得到第一顶点元的法向量
具体来讲,a的坐标为(x,y,h),x,y表示顶点a的平面坐标,h表示顶点a的高程值,N的坐标为(x,y+dy,h1),E的坐标为(x+dy,y,h2),S的坐标为(x,y-dy,h3),W的坐标为(x-dx,y,h4);
ΔWNE的法向量
ΔNES的法向量
ΔESW的法向量
ΔSWN的法向量
定义计算出顶点元的法向量dx(h3-h1),2dxdy)。
步骤S104:在第一顶点元周围确定一局部地形。
作为一种可选的实施例,在第一顶点元周围确定一局部地形,包括:确定一间隔距离factor,其中,该间隔距离factor随视点高度变化;基于间隔距离factor,在第一顶点元周围选取四个顶点元,其中,所述四个顶点元与第一顶点元之间的距离均为间隔距离factor,所述四个顶点元和第一顶点元即构成一局部地形。
在具体实施过程中,所述四个顶点元与所述第一顶点元的构造相似,都是在一个顶点附近选取四个顶点,构成一个顶点元,且该顶点是这个顶点元的中心点。
作为一种可选的实施例,间隔距离factor随视点高度的变化关系满足等式(1):
其中,h为视点高度,j为局部地形的长度,k为局部地形的高度,Q为距离间隔factor的最大值,其中,H为视点高度h的最大值,
举例来讲,首先,基于等式(1)定义一个随视点高度h变化的变量factor,视点高度即采集地形时视点所处的高度,其中,Q为factor的最大值,并定义h的最大值为H,其中,H的取值由实际要求决定,factor的最大值Q可由得到,规定factor的最小值为1(最小值设为1是因为视点高度再低,至少都会有一个顶点在视线范围内)。其次,选择一个观察位置,即视点高度h。所选视点高度不同,观察到的局部地形大小不同,观察到的局部地形的特征细节也不同,视点越低,则观察到的局部局部地区的细节越丰富,但是观察范围越小,视点越高,所采取到的局部地形特征细节越粗糙。视点高度可以根据实际需要进行改变,符合地形场景实时绘制的要求。再次,提取局部地形的长和高,分别记为j和k。最后,根据等式(1)计算出factor的值。
步骤S105:计算局部地形的法向量。
作为一种可选的实施例,步骤S105,包括:计算出所述四个顶点元中每个顶点元的法向量;计算所述四个顶点元的法向量的平均值,即获得该局部地形的法向量。
举例来讲,将所述四个顶点元的法向量分别记为然后,设该局部地形的法向量为通过等式即可计算出局部地形的法向量。
在具体实施过程中,所述四个顶点元中每个顶点元的法向量的计算方法和步骤S103中计算第一顶点元的方法相同,此处不再赘述。
步骤S106:基于第一顶点元的法向量和局部地形的法向量,矫正第一顶点的高程值。
作为一种可选的实施例,步骤S106,包括:判断第一顶点元的法向量和局部地形的法向量是否正交;若不正交,则过第一顶点做垂直于第一顶点元的法向量的平面(即:第一平面);将局部地形的法向量和第一平面的交点的高程值作为第一顶点的高程值。
举例来讲,若则局部地形的法向量与第一顶点元的法向量不正交。如果局部地形的法向量与第一顶点元的法向量不正交,则过第一顶点元做垂直于第一顶点元法向量的平面P(即:第一平面),平面P与局部地形的法向量必有一交点,则将该交点作的高程值作为第一顶点的高程值,也就是说,该交点作为第一顶点元新的中心点。
在执行完步骤S106后,即完成了对一个顶点的平滑处理,然后即可选取邻近的下一个顶点作为第一顶点,继续执行步骤S102-S106,从而对下一个顶点进行平滑处理。直到顺序遍历该地形栅格数据中的所有顶点,完成整个地形栅格数据的平滑处理。
本申请实施例在进行网格地形平滑处理时,可基于视点实时处理,可满足现如今对虚拟地形场景的实时动态建模和显示,并且在地形特征的处理上,能较大程度的保留原有特征,平且计算较为简易,能提高实时的效率。
本申请实施例与现有的地形数据平滑处理的方法相比,优点在于:本申请实施例是根据局部地形的法向量来调整某一点高程值,从而达到平滑的效果,较大程度的利用了局部地理要素的信息,减少对地形原始结构的破坏。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
在申请实施例中,公开了一种地形数据的平滑处理方法,包括:从地形栅格数据中任意选取一个顶点作为第一顶点,其中,所述第一顶点即为当前需要进行平滑处理的顶点;确定与第一顶点对应的第一顶点元;计算第一顶点元的法向量;在第一顶点元周围确定一局部地形;计算局部地形的法向量;基于第一顶点元的法向量和局部地形的法向量,矫正第一顶点的高程值。申请实施例解决了现有技术中的地形数据的平滑处理方法,大多都是基于插值的方法来实现,存在数据破坏严重的技术问题。实现了根据局部地理要素的信息进行平滑处理,减少对地形原始结构的破坏,提高地形模型精度,误差更小,并且保留了更多的重要信息技术效果。
实施例二
如图2所示,本实施例提供了一种地形数据的平滑处理装置,包括:
选取模块201,用于从地形栅格数据中任意选取一个顶点作为第一顶点,其中,所述第一顶点即为当前需要进行平滑处理的顶点;
第一确定模块202,用于确定与第一顶点对应的第一顶点元;
第一计算模块203,用于计算第一顶点元的法向量;
第二确定模块204,用于在第一顶点元周围确定一局部地形;
第二计算模块205,用于计算局部地形的法向量;
矫正模块206,用于基于第一顶点元的法向量和局部地形的法向量,矫正第一顶点的高程值。
作为一种可选的实施例,第一确定模块202,具体用于:
在所述第一顶点周围选取四个顶点,其中,所述第一顶点和所述四个顶点构成所述第一顶点元,第一顶点是第一顶点元的中心点。
作为一种可选的实施例,第一计算模块203,具体用于:
基于所述四个顶点中的任意三个顶点确定一个平面,共确定四个平面;计算出所述四个平面中每个平面的法向量;计算所述四个平面的法向量的平均值,获得第一顶点元的法向量。
作为一种可选的实施例,第二确定模块204,具体用于:
确定一间隔距离,其中,该间隔距离随视点高度变化;基于间隔距离,在第一顶点元周围选取四个顶点元,所述四个顶点元与所述第一顶点元之间的距离均为所述间隔距离,所述第一顶点元和所述四个顶点元即构成一局部地形。
作为一种可选的实施例,间隔距离随视点高度的变化关系满足如下等式:
其中,factor为间隔距离,h为视点高度,j为在局部地形的长度,k为在所述局部地形的高度,Q为距离间隔的最大值。
作为一种可选的实施例,该间隔距离的最大值满足如下等式:
其中,H为视点高度的最大值。
作为一种可选的实施例,第二计算模块205,具体用于:
计算所述四个顶点元中每个顶点元的法向量;计算所述四个顶点元的法向量的平均值,获得局部地形的法向量。
作为一种可选的实施例,矫正模块206,具体用于:
判断第一顶点元的法向量和局部地形的法向量是否正交;若不正交,则过第一顶点做垂直于第一顶点元的法向量的第一平面;将局部地形的法向量和第一平面的交点的高程值作为第一顶点的高程值。
由于本实施例所介绍的地形数据的平滑处理装置为实施本申请实施例中地形数据的平滑处理方法所采用的装置,故而基于本申请实施例中所介绍的地形数据的平滑处理方法,本领域所属技术人员能够了解本实施例的地形数据的平滑处理装置的具体实施方式以及其各种变化形式,所以在此对于该地形数据的平滑处理装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中地形数据的平滑处理方法所采用的装置,都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。