一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

点云数据渲染方法、装置、设备及存储介质与流程

2022-02-20 14:36:03 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种点云数据渲染方法、装置、设备及存储介质。


背景技术:

2.电力是保证人们正常生活的重要能源之一,电力在生产后通常要通过高压输电线路进行传输,高压输电线路的安全运行关系到终端用户的可靠用电。为了保证高压输电线路的安全运行,可以通过对无人机巡检采集到的点云数据渲染后,从而构建出高压输电线路的真实三维场景,进而可以快速发现线路故障。
3.传统地,无人机在巡检的过程中,通过携带激光雷达采集到的点云数据的数据量庞大,从而导致对点云数据进行渲染的效率低。


技术实现要素:

4.基于此,本技术实施例提供了一种点云数据渲染方法、装置、设备及存储介质,可以提高对点云数据的渲染效率。
5.第一方面,提供了一种点云数据渲染方法,该方法包括:
6.获取输电线路的原始点云数据;将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;第一划分结果和第二划分结果中包括多个点云数据集合,点云数据集合包括多个点云数据;第二预设树状结构的节点数目大于第一预设树状结构的节点数目;根据至少一级第一划分结果及第一划分结果中点云数据集合的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。
7.在其中一个实施例中,将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果,包括:
8.将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据;第一地理坐标系包括经度和纬度;将第一目标点云数据按照第一预设树状结构划分为至少一级第一划分结果。
9.在其中一个实施例中,将第一划分结果按照第二预设树状结构划分,生成至少一级第二划分结果,包括:
10.从至少一级第一划分结果中确定最大级别的第一划分结果,将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据;第二地理坐标系为笛卡尔坐标系;通过预设转换矩阵对第二目标点云数据进行数据转换,生成新的第二目标点云数据;将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果包括多个点云数据集合。
11.在其中一个实施例中,通过预设转换矩阵对第二目标点云数据进行数据转换,生
成新的第二目标点云数据,包括:
12.针对最大级别的第一划分结果中的各点云数据集合,获取位于点云数据集合中心位置的点云数据;基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的预设转换矩阵;将点云数据集合中的点云数据与预设转换矩阵进行乘法运算,生成新的第二目标点云数据。
13.在其中一个实施例中,基于位于点云数据集合中心位置的点云数据,计算预设转换矩阵,包括:
14.基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的初始转换矩阵;计算初始转换矩阵的逆矩阵,生成预设转换矩阵。
15.在其中一个实施例中,上述方法还包括:
16.针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码;父节点为点云数据集合的上一级第一划分结果或上一级第二划分结果中的点云数据集合;基于任一点云数据及父节点的编码,计算点云数据集合的编码。
17.在其中一个实施例中,上述方法还包括:
18.从点云数据集合中获取各点云数据,点云数据包括地理坐标;根据地理坐标对点云数据进行去重处理,生成去重后的点云数据。
19.第二方面,提供了一种点云数据渲染装置,该装置包括:
20.第一获取模块,用于获取输电线路的原始点云数据;
21.划分模块,用于将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;第一划分结果和第二划分结果中包括多个点云数据集合,点云数据集合包括多个点云数据;第二预设树状结构的节点数目大于第一预设树状结构的节点数目;
22.渲染模块,用于根据至少一级第一划分结果及第一划分结果中点云数据集合的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。
23.第三方面,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一实施例中的方法步骤。
24.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一实施例中的方法步骤。
25.上述点云数据渲染方法、装置、设备及存储介质,通过获取输电线路的原始点云数据;将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;第二预设树状结构的节点数目大于第一预设树状结构的节点数目;根据至少一级第一划分结果及第一划分结果中点云数据集合的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。在本技术实施例提供的技术方案中,由于输电线路的场景范围较大,采集到的输电线路的原始点云数据数据量庞大,通过将采集到的原始点云数据分别采用不同节点数目的树状结构进行划分,从而可以根据渲染精度需求索引不同划分结果下的点云数据后进行渲染,提高了对点云数据的渲染效率;同时还可以在对渲染精度要求不高的情况下,只需要索引小节点数目的树状结构生成的划分结果中
的点云数据块,减小了点云数据的数据索引量,从而提高了对点云数据的渲染效率。
附图说明
26.图1为本技术实施例提供的一种计算机设备的框图;
27.图2为本技术实施例提供的一种点云数据渲染方法的流程图;
28.图3为本技术实施例提供的一种生成第一划分结果的流程图;
29.图4为本技术实施例提供的一种对地理范围一分为二划分的示意图;
30.图5为本技术实施例提供的一种生成第二划分结果的流程图;
31.图6为本技术实施例提供的一种生成新的第二目标点云数据的流程图;
32.图7为本技术实施例提供的一种计算点云数据集合的编码的流程图;
33.图8为本技术实施例提供的一种对点云数据进行去重的流程图;
34.图9为本技术实施例提供的一种点云数据渲染方法的流程图;
35.图10为本技术实施例提供的一种点云数据渲染装置的框图。
具体实施方式
36.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
37.本技术提供的点云数据渲染方法可以应用于计算机设备中,计算机设备可以是服务器,也可以是终端,其中,服务器可以为一台服务器也可以为由多台服务器组成的服务器集群,本技术实施例对此不作具体限定,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
38.以计算机设备是服务器为例,图1示出了一种服务器的框图,如图1所示,服务器可以包括通过系统总线连接的处理器和存储器。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序以及数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种点云数据渲染方法。
39.本领域技术人员可以理解,图1中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的服务器的限定,可选地服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
40.需要说明的是,本技术实施例的执行主体可以是计算机设备,也可以是点云数据渲染装置,下述方法实施例中就以计算机设备为执行主体进行说明。
41.在一个实施例中,如图2所示,其示出了本技术实施例提供的一种点云数据渲染方法的流程图,该方法可以包括以下步骤:
42.步骤220、获取输电线路的原始点云数据。
43.其中,电力在生产后通常要通过输电线路进行传输,输电线路的安全运行关系到终端用户的可靠用电。为了保证输电线路的安全运行,可以通过对无人机巡检采集到的点云数据渲染后,从而构建出输电线路的真实三维场景,进而可以快速发现线路故障。点云数据是指扫描资料以点的形式记录,每个点包含三维坐标。无人机在巡检的过程中,通过携带激光雷达采集到的点云数据可以保存在点云文件中,点云文件可以是las文件,也可以是
txt、laz等格式的文件。在获取输电线路的原始点云数据时,可以通过直接读取该点云文件,从而得到原始点云数据;也可以是将点云文件按照预设大小分割成多个小的点云文件后,依次读取小的点云文件得到原始点云数据,例如,可以按照指定的每个小las文件不能超过100w点数进行分割为多个小las文件;也可以是通过其他方式获取到输电线路的原始点云数据,本实施例对此不作具体限定。
44.步骤240、将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;第一划分结果和第二划分结果中包括多个点云数据集合,点云数据集合包括多个点云数据;第二预设树状结构的节点数目大于第一预设树状结构的节点数目。
45.其中,第一预设树状结构和第二预设树状结构可以是包含多个节点的集合,可以包括根节点、父节点、叶子节点等类型。第一预设树状结构和第二预设树状结构可以是多叉树形式的树状结构,第二预设树状结构的节点数目大于第一预设树状结构的节点数目,例如,第一预设树状结构可以为二叉树或四叉树,第二预设树状结构可以是八叉树,当然第一预设树状结构和第二预设树状结构可以根据实际需求设定,本实施例对第一预设树状结构和第二预设树状结构的类型不作具体限定。
46.可以将获取到的输电线路的原始点云数据先按照第一预设树状结构进行划分,生成至少一级第一划分结果,再对第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果。其中,若第一划分结果为一级,则直接对该第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;若第一划分结果为多级,则可以对最大级的第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果。按照第一预设树状结构进行划分和按照第二预设树状结构进行划分时的划分级数,可以根据实际需求设定,本实施例对此不作具体限定。得到的第一划分结果和第二划分结果中可以包括多个点云数据集合,点云数据集合可以包括多个点云数据。
47.步骤260、根据至少一级第一划分结果及第一划分结果中点云数据集合的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。
48.其中,第一划分结果中点云数据集合的编码和第二划分结果中点云数据集合的编码是点云数据集合的索引标识,可以根据点云数据集合的编码从数据库中获取到对应的点云数据,获取到的点云数据可以存储为3dtiles格式。从而可以根据至少一级第一划分结果及第一划分结果中点云数据集合的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。可以从第0级开始渲染,若渲染精度满足要求,则可以不继续向下级渲染;若渲染精度不满足要求,则可以依次对下级划分结果中的点云数据进行渲染。
49.本实施例中,通过获取输电线路的原始点云数据;将所述原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将所述第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;所述第二预设树状结构的节点数目大于所述第一预设树状结构的节点数目;根据所述至少一级第一划分结果及所述第一划分结果中所述点云数据集合的编码、所述至少一级第二划分结果以及所述第二划分结果中所述点云数据集合的编码,逐级对所述点云数据集合中的点云数据进行渲染。由于输电线路的场
景范围较大,采集到的输电线路的原始点云数据数据量庞大,通过将采集到的原始点云数据分别采用不同节点数目的树状结构进行划分,从而可以根据渲染精度需求索引不同划分结果下的点云数据后进行渲染,提高了对点云数据的渲染效率;同时还可以在对渲染精度要求不高的情况下,只需要索引小节点数目的树状结构生成的划分结果中的点云数据块,减小了点云数据的数据索引量,从而提高了对点云数据的渲染效率。
50.在一个实施例中,如图3所示,其示出了本技术实施例提供的一种点云数据渲染方法的流程图,具体涉及的是生成第一划分结果的一种可能的过程,该方法可以包括以下步骤:
51.步骤320、将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据;第一地理坐标系包括经度和纬度。
52.步骤340、将第一目标点云数据按照第一预设树状结构划分为至少一级第一划分结果。
53.其中,第一地理坐标系可以为wgs84坐标系,可以包括经度和维度,地球地理范围的经度范围为-180
°
到180
°
,纬度范围为-90
°
到90
°
。原始点云数据的三维坐标为投影坐标系下的坐标,通过投影坐标系转换为wgs84坐标系的方式,将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据,映射后得到的第一目标点云数据的坐标包括经度和纬度,这里的转换方式为现有技术,在此不做赘述。得到的第一目标点云数据可以先按照经纬度范围从中间划开一分为二后得到两个根节点,再对两个根节点按照第一预设树状结构划分为至少一级第一划分结果。如图4所示,图4为本技术实施例提供的一种对地理范围一分为二划分的示意图,其中,划分后的左边的范围为(-180
°
,-90
°
)到(0
°
,90
°
),右边的范围为(0
°
,-90
°
)到(180
°
,90
°
)。第一划分结果中的点云数据集合中第一目标点云数据的唯一坐标值可以根据公式(1)计算得到。
[0054][0055]
其中,x和y分别为第一目标点云数据的经度和纬度值;cell表示点云数据集合;cell最小范围的x值为点云数据集合的最小经度值;cell最小范围的y值为点云数据集合的最小纬度值;cell的x方向的范围差为点云数据集合的最小经度值与地理范围的经度范围的最大值之间的范围差;cell的y方向的范围差为点云数据集合的最小纬度值与地理范围的纬度范围的最大值之间的范围差。在计算范围差时,叶子节点逐级缩小至上级范围差的一半。
[0056]
本实施例中,通过将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据,将第一目标点云数据按照第一预设树状结构划分为至少一级第一划分结果。由于所有的原始点云数据都位于地理范围内,通过在地理场景下对原始点云数据进行划分,可以提高对原始点云数据划分的准确性,并且按照第一预设树状结构划分为至少一级第一划分结果,划分得到的点云数据集合数目少,也降低了渲染点云数据时的索引量,提高了渲染效率。
[0057]
在一个实施例中,如图5所示,其示出了本技术实施例提供的一种点云数据渲染方法的流程图,具体涉及的是生成第二划分结果的一种可能的过程,该方法可以包括以下步
骤:
[0058]
步骤520、从至少一级第一划分结果中确定最大级别的第一划分结果,将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据;第二地理坐标系为笛卡尔坐标系。
[0059]
步骤540、通过预设转换矩阵对第二目标点云数据进行数据转换,生成新的第二目标点云数据。
[0060]
步骤560、将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果包括多个点云数据集合。
[0061]
其中,第二地理坐标系为笛卡尔坐标系,通过wgs84坐标系转换笛卡尔坐标系的方式,将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据,具体的转换方式为现有技术,在此不再赘述,映射得到的第二目标点云数据的坐标为三维坐标。再通过预设转换矩阵对第二目标点云数据进行数据转换,生成新的第二目标点云数据,预设转换矩阵是将第二目标点云数据转换为浮点型数据的矩阵,最后将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果可以包括多个点云数据集合。第二划分结果中的点云数据集合中第二目标点云数据的唯一坐标值可以根据公式(2)计算得到。
[0062][0063]
其中,x、y、z分别为第二目标点云数据的坐标值;cell表示点云数据集合;cell最小范围的x值为点云数据集合的最小x值;cell最小范围的y值为点云数据集合的最小y值;cell最小范围的z值为点云数据集合的最小z值;cell的x方向的范围差为点云数据集合的最小x值与点云场景范围的最大x值之间的范围差;cell的y方向的范围差为点云数据集合的最小y值与点云场景范围的最大y值之间的范围差;cell的z方向的范围差为点云数据集合的最小z值与点云场景范围的最大z值之间的范围差。
[0064]
本实施例中,通过从至少一级第一划分结果中确定最大级别的第一划分结果,将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据;通过预设转换矩阵对第二目标点云数据进行数据转换,生成新的第二目标点云数据;将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果包括多个点云数据集合。通过将第一划分结果中的点云数据映射到第二地理坐标系中,可以提高点云数据的数据精度,再将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,从而可以对原始点云数据划分的更加细致,能够满足高渲染精度的要求。
[0065]
在一个实施例中,如图6所示,其示出了本技术实施例提供的一种点云数据渲染方法的流程图,具体涉及的是生成新的第二目标点云数据的一种可能的过程,该方法可以包括以下步骤:
[0066]
步骤620、针对最大级别的第一划分结果中的各点云数据集合,获取位于点云数据集合中心位置的点云数据。
[0067]
步骤640、基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的预设转换矩阵。
[0068]
步骤660、将点云数据集合中的点云数据与预设转换矩阵进行乘法运算,生成新的第二目标点云数据。
[0069]
其中,针对最大级别的第一划分结果中的各点云数据集合,分别选取位于点云数据集合中心位置的点云数据作为基准点,从而得到了各点云数据集合对应的基准点,进而可以根据各个基准点计算得到与点云数据集合对应的预设转换矩阵。预设转换矩阵的生成过程可以是基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的初始转换矩阵,最后计算初始转换矩阵的逆矩阵,生成预设转换矩阵。这里的初始转换矩阵为3*3的enu矩阵,具体计算方式为现有技术,在此不再赘述。最后将点云数据集合中的点云数据与对应的预设转换矩阵进行乘法运算,从而计算得到新的第二目标点云数据。
[0070]
本实施例中,通过针对最大级别的第一划分结果中的各点云数据集合,获取位于点云数据集合中心位置的点云数据;基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的预设转换矩阵;将点云数据集合中的点云数据与预设转换矩阵进行乘法运算,生成新的第二目标点云数据。通过将第一划分结果中的点云数据映射到第二地理坐标系中,并生成新的第二目标点云数据,可以提高点云数据的数据精度。
[0071]
在一个实施例中,如图7所示,其示出了本技术实施例提供的一种点云数据渲染方法的流程图,具体涉及的是计算点云数据集合的编码的一种可能的过程,该方法可以包括以下步骤:
[0072]
步骤720、针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码;父节点为点云数据集合的上一级第一划分结果或上一级第二划分结果中的点云数据集合。
[0073]
步骤740、基于任一点云数据及父节点的编码,计算点云数据集合的编码。
[0074]
其中,若按照第一预设结构进行划分,由于是进行粗略划分,相当于观察全局点云的时候相机离的很远,点云数据有没有高度基本上没有影响,此时向两个根节点分别分配一个唯一固定的编码x、y,即左边的点云数据集合的编码为x=0,y=0;右边的点云数据集合的编码为x=1,y=0,根节点所在的级别为0级。同样地,若按照第二预设树状结构进行划分,由于是细致划分,相当于观察局部点云的时候相机离得很近,从而对数据精度要求也比较高。第二预设树状结构的顶级第二划分结果中各点云数据集合的编码,可以通过点云数据集合中任一新的第二目标点云数据的唯一坐标分别处以顶级第二预设树状结构的范围差计算得到,其中,顶级第二预设树状结构的范围差可以通过公式(3)和公式(4)计算得到。
[0075]
basesize=6378137.0*2*pi*0.5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0076]
tilesize=basesize/pow(2,level)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0077]
其中,basesize表示地球周长的一半;tilesize为第二预设树状结构的范围差,level为第二预设树状结构的级别,例如,顶级第二预设树状结构的level=0;pow()为计算2的level次方的函数。
[0078]
再针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码;父节点为点云数据集合的上一级第一划分结果或上一级第二划分结果中的点云数据集合,基于任一点云数据及父节点的编码,根据公式(5)计算得到其他点云数据集合的编码,
若按照第一预设结构进行划分,各点云数据集合的编码只包括x’和y’;若按照第二预设结构进行划分,各点云数据集合的编码包括x’、y’和z’。
[0079]
x’=2*x i y’=2*x j z’=2*z k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0080]
其中,x、y、z为父节点的编码值;i、j、k是通过判断当前任一点云数据分别在父节点左右、前后、上下确定的,如果在父节点的左则i=0,在父节点的右则i=1;如果在父节点的后则j=0,在父节点的前则j=1;如果在父节点的下则k=0,在父节点的上则k=1。
[0081]
本实施例中,针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码;基于任一点云数据及父节点的编码,计算点云数据集合的编码。通过计算各个点云数据集合的唯一固定编码值,不会因为不同时期的las文件而出现需要从头划分处理的情况,或者不同时期las文件各自处理为多个图层而导致无法全局查看大范围输电线路点云场景。每个点云数据集合划分完成之后都可以和本地缓存的点云数据集合进行合并操作,很好的实现了追加不同时期点云的操作。
[0082]
并且每个点云数据集合里面的点唯一值也会很好的解决多次追加而不会造成点坐标重复文件越来越大的问题,每个cell划分完成之后都会进行和本地cell缓存的合并操作,很好的实现了追加不同时期点云的操作。
[0083]
在一个实施例中,如图8所示,其示出了本技术实施例提供的一种点云数据渲染方法的流程图,具体涉及的是对点云数据进行去重的一种可能的过程,该方法可以包括以下步骤:
[0084]
步骤820、从点云数据集合中获取各点云数据,点云数据包括地理坐标。
[0085]
步骤840、根据地理坐标对点云数据进行去重处理,生成去重后的点云数据。
[0086]
其中,划分得到的各个点云数据集合中,各点云数据均包括对应的地理坐标,若有相同的地理坐标,则删除相同的地理坐标对应的点云数据,只保留其中一个,从而生成去重后的点云数据。
[0087]
本实施例中,通过从点云数据集合中获取各点云数据;根据地理坐标对点云数据进行去重处理,生成去重后的点云数据。相当于对点云数据进行了化简抽稀,从而减小了点云数据的数据量,提高了渲染时对点云数据进行加载的效率,以及减小了内存占用率。并且,每个点云数据集合里面的点云数据唯一,也会很好的解决多次数据追加而不会造成点坐标重复导致点云文件越来越大的问题。
[0088]
在一个实施例中,如图9所示,其示出了本技术实施例提供的一种点云数据渲染方法的流程图,该方法可以包括以下步骤:
[0089]
步骤901、取初始点云文件;初始点云文件中存储了输电线路的原始点云数据。
[0090]
步骤902、将初始点云文件按照预设大小进行分割,得到多个点云文件。
[0091]
步骤903、读取各点云文件,生成输电线路的原始点云数据。
[0092]
步骤904、将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据;第一地理坐标系包括经度和纬度。
[0093]
步骤905、将第一目标点云数据按照第一预设树状结构划分为至少一级第一划分结果。
[0094]
步骤906、判断是否满足预设的第一预设树状结构的最大级别。
[0095]
步骤907、若满足,则从至少一级第一划分结果中确定最大级别的第一划分结果,
将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据;第二地理坐标系为笛卡尔坐标系。
[0096]
步骤908、针对最大级别的第一划分结果中的各点云数据集合,获取位于点云数据集合中心位置的点云数据。
[0097]
步骤909、基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的初始转换矩阵;计算初始转换矩阵的逆矩阵,生成预设转换矩阵。
[0098]
步骤910、将点云数据集合中的点云数据与预设转换矩阵进行乘法运算,生成新的第二目标点云数据。
[0099]
步骤911、将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果包括多个点云数据集合。
[0100]
步骤912、判断是否满足预设的第二预设树状结构的最大级别。
[0101]
步骤913、针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码。
[0102]
步骤914、基于任一点云数据及父节点的编码,计算点云数据集合的编码。
[0103]
本实施例提供的点云数据渲染方法中各步骤,其实现原理和技术效果与前面各点云数据渲染方法实施例中类似,在此不再赘述。图9实施例中各步骤的实现方式只是一种举例,对各实现方式不作限定,各步骤的顺序在实际应用中可进行调整,只要可以实现各步骤的目的即可。
[0104]
在本技术实施例提供的技术方案中,由于输电线路的场景范围较大,采集到的输电线路的原始点云数据数据量庞大,通过将采集到的原始点云数据分别采用不同节点数目的树状结构进行划分,从而可以根据渲染精度需求索引不同划分结果下的点云数据后进行渲染,提高了对点云数据的渲染效率;同时还可以在对渲染精度要求不高的情况下,只需要索引小节点数目的树状结构生成的划分结果中的点云数据块,减小了点云数据的数据索引量,从而提高了对点云数据的渲染效率。
[0105]
应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0106]
请参考图10,其示出了本技术实施例提供的一种点云数据渲染装置1000的框图。如图10所示,该点云数据渲染装置1000可以包括:第一获取模块1002、划分模块1004和渲染模块1006,其中:
[0107]
第一获取模块1002,用于获取输电线路的原始点云数据;
[0108]
划分模块1004,用于将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;第一划分结果和第二划分结果中包括多个点云数据集合,点云数据集合包括多个点云数据;第二预设树状结构的节点数目大于第一预设树状结构的节点数目;
[0109]
渲染模块1006,用于根据至少一级第一划分结果及第一划分结果中点云数据集合
的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。
[0110]
在一个实施例中,上述划分模块1004包括第一生成单元和第一划分单元,其中,第一生成单元用于将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据;第一地理坐标系包括经度和纬度;第一划分单元用于将第一目标点云数据按照第一预设树状结构划分为至少一级第一划分结果。
[0111]
在一个实施例中,上述划分模块1004还包括第二生成单元、第三生成单元和第二划分单元,其中,第二生成单元用于从至少一级第一划分结果中确定最大级别的第一划分结果,将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据;第二地理坐标系为笛卡尔坐标系;第三生成单元用于通过预设转换矩阵对第二目标点云数据进行数据转换,生成新的第二目标点云数据;第二划分单元用于将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果包括多个点云数据集合。
[0112]
在一个实施例中,上述第三生成单元具体用于针对最大级别的第一划分结果中的各点云数据集合,获取位于点云数据集合中心位置的点云数据;基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的预设转换矩阵;将点云数据集合中的点云数据与预设转换矩阵进行乘法运算,生成新的第二目标点云数据。
[0113]
在一个实施例中,上述第三生成单元还用于基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的初始转换矩阵;计算初始转换矩阵的逆矩阵,生成预设转换矩阵。
[0114]
在一个实施例中,点云数据渲染装置1000还包括第二获取模块1008和计算模块1010,其中:
[0115]
第二获取模块1008,用于针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码;父节点为点云数据集合的上一级第一划分结果或上一级第二划分结果中的点云数据集合;
[0116]
计算模块1010,用于基于任一点云数据及父节点的编码,计算点云数据集合的编码。
[0117]
在一个实施例中,点云数据渲染装置1000还包括第三获取模块1012和去重模块1014,其中:
[0118]
第三获取模块1012,用于从点云数据集合中获取各点云数据,点云数据包括地理坐标;
[0119]
去重模块1014,用于根据地理坐标对点云数据进行去重处理,生成去重后的点云数据。
[0120]
关于点云数据渲染装置的具体限定可以参见上文中对于点云数据渲染方法的限定,在此不再赘述。上述点云数据渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块的操作。
[0121]
在本技术的一个实施例中,提供了一种计算机设备,该计算机设备包括存储器和
处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0122]
获取输电线路的原始点云数据;将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将第一划分结果按照第二预设树状结构进行划分,生成至少一级第二划分结果;第一划分结果和第二划分结果中包括多个点云数据集合,点云数据集合包括多个点云数据;第二预设树状结构的节点数目大于第一预设树状结构的节点数目;根据至少一级第一划分结果及第一划分结果中点云数据集合的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。
[0123]
在本技术的一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0124]
将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据;第一地理坐标系包括经度和纬度;将第一目标点云数据按照第一预设树状结构划分为至少一级第一划分结果。
[0125]
在本技术的一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0126]
从至少一级第一划分结果中确定最大级别的第一划分结果,将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据;第二地理坐标系为笛卡尔坐标系;通过预设转换矩阵对第二目标点云数据进行数据转换,生成新的第二目标点云数据;将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果包括多个点云数据集合。
[0127]
在本技术的一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0128]
针对最大级别的第一划分结果中的各点云数据集合,获取位于点云数据集合中心位置的点云数据;基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的预设转换矩阵;将点云数据集合中的点云数据与预设转换矩阵进行乘法运算,生成新的第二目标点云数据。
[0129]
在本技术的一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0130]
基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的初始转换矩阵;计算初始转换矩阵的逆矩阵,生成预设转换矩阵。
[0131]
在本技术的一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0132]
针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码;父节点为点云数据集合的上一级第一划分结果或上一级第二划分结果中的点云数据集合;基于任一点云数据及父节点的编码,计算点云数据集合的编码。
[0133]
在本技术的一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0134]
从点云数据集合中获取各点云数据,点云数据包括地理坐标;根据地理坐标对点云数据进行去重处理,生成去重后的点云数据。
[0135]
本技术实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0136]
在本技术的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0137]
获取输电线路的原始点云数据;将原始点云数据按照第一预设树状结构进行划分,生成至少一级第一划分结果;将第一划分结果按照第二预设树状结构进行划分,生成至
少一级第二划分结果;第一划分结果和第二划分结果中包括多个点云数据集合,点云数据集合包括多个点云数据;第二预设树状结构的节点数目大于第一预设树状结构的节点数目;根据至少一级第一划分结果及第一划分结果中点云数据集合的编码、至少一级第二划分结果以及第二划分结果中点云数据集合的编码,逐级对点云数据集合中的点云数据进行渲染。
[0138]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0139]
将原始点云数据映射到第一地理坐标系中,生成第一地理坐标系下的第一目标点云数据;第一地理坐标系包括经度和纬度;将第一目标点云数据按照第一预设树状结构划分为至少一级第一划分结果。
[0140]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0141]
从至少一级第一划分结果中确定最大级别的第一划分结果,将最大级别的第一划分结果中的点云数据映射到第二地理坐标系中,生成第二地理坐标系下的第二目标点云数据;第二地理坐标系为笛卡尔坐标系;通过预设转换矩阵对第二目标点云数据进行数据转换,生成新的第二目标点云数据;将新的第二目标点云数据按照第二预设树状结构划分为至少一级第二划分结果,第二划分结果包括多个点云数据集合。
[0142]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0143]
针对最大级别的第一划分结果中的各点云数据集合,获取位于点云数据集合中心位置的点云数据;基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的预设转换矩阵;将点云数据集合中的点云数据与预设转换矩阵进行乘法运算,生成新的第二目标点云数据。
[0144]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0145]
基于位于点云数据集合中心位置的点云数据,计算与点云数据集合对应的初始转换矩阵;计算初始转换矩阵的逆矩阵,生成预设转换矩阵。
[0146]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0147]
针对各点云数据集合中的任一点云数据,获取点云数据集合对应的父节点的编码;父节点为点云数据集合的上一级第一划分结果或上一级第二划分结果中的点云数据集合;基于任一点云数据及父节点的编码,计算点云数据集合的编码。
[0148]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0149]
从点云数据集合中获取各点云数据,点云数据包括地理坐标;根据地理坐标对点云数据进行去重处理,生成去重后的点云数据。
[0150]
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0151]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,
诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0152]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0153]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献