一种基于高程分布特征的循环色带点云渲染方法
【技术领域】
[0001]本文发明涉及到一种基于高程分布特征的循环色带点云渲染方法,属于测绘行业和三维激光技术领域。
【背景技术】
[0002]随着三维激光扫描仪技术应用到测绘行业,点云数据已经成为测绘领域中重要的数据源,它具有高精度、高密度以及全数字等特征。对于三维激光技术通过高精度步进扫描快速获取的现实世界中的三维空间信息,可以通过可视化技术将这些数字信息显示于计算机中,主要用于点云数据的动态浏览显示,便于点云据后续处理中进行人机交互。
【发明内容】
[0003]本发明的目的是根据自定义的数据格式存储和管理点云数据,然后根据渐变色带获取点云颜色信息,在点云实时渲染中加入透明度信息,且该透明度信息是由点云的强度统计而来,有效地提高了点云的识别度,增强了点云渲染的对比度,辅助数字测图等相关点云后处理,是一种便于判读的点云渲染方式。
[0004]为实现上述目的,首先使用车载(地面或者背包)三维激光测量系统采集数据,其中车载三维激光移动测量系统包括车辆、三维激光扫描仪、GPS导航仪、惯性制导系统和全景相机,采集数据过程在车辆行驶中进行,三维激光扫描仪用于获取点云数据,GPS导航仪与惯性制导系统构成的P0S系统用于获取姿态位置信息,按照时间对齐,根据采集的P0S信息插值结算获取三维点云数据扫描圈每一圈的姿态信息及位置信息。根据以上数据,对点云数据进行按圈存储,其中对于一个点记录存储的信息包括三维坐标、颜色以及强度等。
[0005]本发明提出的一种基于高程分布特征的循环色带点云渲染方法包括如下几个步骤:
[0006]步骤1、将自定义的点云三维视图嵌入到MFC的多文档视图中,采用自定义数据格式对点云数据进行存储和管理;
[0007]步骤2、创建点云视图,使用多线程机制将点云数据加载至内存中,加载的信息包括点云的行列数、外包围盒、点云的圈索引信息以及点云数据信息,值得一提的是,内存中的点云是按照圈进行索引;
[0008]步骤3、通过选择自定义的渐变色带、坐标轴方向以及循环步长,设置点云视图渲染参数;
[0009]步骤4、在点云视图的渲染过程中,根据设置的渲染参数,对点云进行着色。
[0010]4.1构造自定义渐变色带,用于点云实时渲染时取色;
[0011]4.2根据给定极大值与极小值的比例范围,去除点云高程以及强度的极大值与极小值,统计出点云高程以及强度的最小值和最大值;
[0012]4.3根据点记录的高程来获取渐变色带中的RGB颜色,按照点记录的强度信息计算出颜色的透明度,构成了 HSV颜色的各个分量;
[0013]4.4在点云视图的实时渲染中,完成对所有点记录的绘制。
[0014]本发明具有如下优点:
[0015]1、三维激光测量系统具有抗干扰性强、精度大,密度高以及全天侯工作不间断作业,可以快速获取以及更新数据。
[0016]2、在浏览点云的过程中,按照高程方向进行循环渐变色带渲染,便于区分路面以及较低的植被等,提高了点云的辨识度;
[0017]3、在实时绘制过程中,将强度信息加入点渲染中,增强点云的对比度,更好地辅助于数字测图、点云过滤以及点云分类等相关后续处理。。
【附图说明】
[0018]图1为一种基于高程分布特征的循环色带点云渲染方法操作流程图。
[0019]图2为本发明统计高程最值的操作流程图。
[0020]图3为本发明统计强度最值的操作流程图。
[0021 ]图4三维激光点云根据循环色带按Z轴方向渲染效果图。
【具体实施方式】
[0022]以下结合附图和实施例对本发明作进一步详述。
[0023]步骤1将自定义的点云视图嵌入至MFC的多文档视图中,每个点云视图可对应多个点云对象。将点云数据加载至内存,并采用自定义的数据格式存储点云,且内存中的点云为按圈存储,便于存取;
[0024]步骤2自定义渐变颜色二维数组colorRampList[m][n],其中m为构建的色带编号,η为构建的色带的渐变颜色种类,然后构造渐变色带colorRamp,以10个渐变颜色种类为例,内存中每个点记录可以按照比例值获取该渐变色带的颜色值;
[0025]步骤3统计高程的最大值与最小值。为了使按色带渲染后的点云颜色保持相对稳定,在统计点云颜色时,需要剔除高程特别大或者特别小的点。以按高程循环色带渲染为例,具体操作如下:遍历点云,将所有点的高程映射到[0,999]区间中,并对落在第i个区间内的点云数量进行统计(其中i = 0,l,2,…,999);调整高程分布,设定点云点数百分比阈值为f,使用该阈值对高程较大和较小的点进行剔除;统计更新后的点云数据,获取新的最大值MaxZ与最小值MinZ。
[0026]步骤4统计强度的最大值与最小值。为了将点云强度信息加入点渲染中,增强点云渲染的对比度,需要对强度信息进行统计,且在统计强度信息时,需要剔除强度特别大或特别小的点。具体操作如下:遍历点云,将所有点的强度映射到[0,999]区间,并对落在第i个区间内的点云数量进行统计(其中i = 0,l,2,…,999);调整强度分布,设定点云点数百分比极大值阈值为fmaxI以及点云点数百分比极小值阈值fminI,使用阈值fmaxI对强度较大的点进行过滤,使用阈值fminl对强度较小的点进行过滤;统计更新后的点云数据,获取新的强度最大值Maxi与最小值Mini ;
[0027]步骤5设置渐变色带,循环步长step以及坐标轴方向,计算需要渲染点的RGB颜色信息。以按高程循环色带渲染为例,具体操作如下:遍历需要渲染的所有点,用当前点的Z坐标减去MinZ得到Dis,然后Dis对Step求模得到MDis,为了保证色彩的对称性,对MDis为奇数的点进行标记,Step减去MDis得到相对循环距离dMDis,然后根据dMDis求出在循环色带中的颜色带及该色带的比例值,从而取出颜色;
[0028]步骤6计算透明度,确保点云渲染色彩不会太黑或者太亮,增强点云渲染的对比度。具体操作如下:遍历需要渲染的点,计算当前点的强度值和Mini的差值,并使该差值落在区间[0.1,0.95 ]中,从而求得该点的透明度L,作为HSV颜色的透明度分量;
[0029]步骤7使用OpenGL在点云三维视图中对所有点云进行实时绘制。
【主权项】
1.一种基于高程分布特征的循环色带点云渲染方法,首先,使用车载(地面或者背包)三维激光测量系统进行数据采集,三维激光扫描仪用于获取点云数据,GPS导航仪与惯性制导系统构成的POS系统用于获取姿态位置信息;其次,点云数据按圈进行存储,存储的信息主要包括三维坐标、颜色以及强度等;最后通过计算,获取点云HSV颜色值,实现了便于判读的循环色带点云渲染,主要步骤如下: 步骤1、将自定义的点云三维视图嵌入到MFC的多文档视图中,采用自定义数据格式对点云数据进行存储和管理,同时将点云加载至内存; 步骤2、新建渐变色带colorRamp,内存中每个点记录可以按照比例值获取该渐变色带的颜色值; 步骤3、遍历点云,剔除高程方向特别大或者特别小的点,统计出点云高程最大值Ma X Z和最小值MinZ; 步骤4、遍历点云,剔除强度特别大或者特别小的点,统计出点云强度最大值Maxi和最小值Mini ; 步骤5、遍历需要渲染的点云,根据设置的循环步长以及当前点的Z值和MinZ的差值,求出在渐变色带中的颜色带及该色带的比例值,从而获取当前点的RGB颜色信息; 步骤6、遍历需要渲染的点云,计算当前点的强度值和Mini的差值,并使该差值落在区间[0.1,0.95 ]中,从而获取该点的透明度L,作为HSV颜色的透明度分量; 步骤7、使用OpenGL在点云三维视图中对所有点云进行实时绘制。2.根据权利要求1所述的一种基于高程分布特征的循环色带点云渲染方法,其特征在于:步骤3中所述的遍历所有点,统计高程的最大值与最小值。为了使按色带渲染后的点云颜色保持相对稳定,在统计点云颜色时,需要剔除高程特别大或者特别小的点。以按高程循环色带渲染为例,具体操作如下:遍历点云,将所有点的高程映射到[0,999]区间中,并对落在第i个区间内的点云数量进行统计(其中i = 0,1,2,…,999);调整高程分布,设定点云点数百分比阈值为f,使用该阈值对高程较大和较小的点进行剔除;统计更新后的点云数据,获取新的最大值MaxZ与最小值MinZ。3.根据权利要求1所述的一种基于高程分布特征的循环色带点云渲染方法,其特征在于:步骤4中所述的遍历所有点,统计强度的最大值与最小值。为了将点云强度信息加入点渲染中,增强点云渲染的对比度,需要对强度信息进行统计,且在统计强度信息时,需要剔除强度特别大或特别小的点。具体操作如下:遍历点云,将所有点的强度映射到[0,999]区间,并对落在第i个区间内的点云数量进行统计(其中i = 0,1,2,…,999);调整强度分布,设定点云点数百分比极大值阈值为fmaxl以及点云点数百分比极小值阈值fminl,使用阈值fmax I对强度较大的点进行过滤,使用阈值fmin I对强度较小的点进行过滤;统计更新后的点云数据,获取新的强度最大值Maxi与最小值Mini。4.根据权利要求1所述的一种基于高程分布特征的循环色带点云渲染方法,其特征在于:步骤5中所述的设置渐变色带,循环步长step以及坐标轴方向,计算需要渲染点的RGB颜色信息。以按高程循环色带渲染为例,具体操作如下:遍历需要渲染的所有点,用当前点的Z坐标减去MinZ得到Dis,然后Dis对Step求模得到MDis,为了保证色彩的对称性,对MDis为奇数的点进行标记,Step减去MDis得到相对循环距离dMDis,然后根据dMDis求出在循环色带中的颜色带及该色带的比例值,进而取出颜色。5.根据权利要求1所述的一种基于高程分布特征的循环色带点云渲染方法,其特征在于:步骤6中所述的计算透明度,确保点云渲染色彩不会太黑或者太亮,增强点云渲染的对比度。具体操作如下:遍历需要渲染的点,计算当前点的强度值和Mini的差值,并使该差值落在区间[0.1,0.95 ]中,从而求得该点的透明度L,作为HSV颜色的透明度分量。
【专利摘要】本发明涉及到一种基于高程分布特征的循环色带点云渲染方法。具体步骤如下:首先,创建点云视图,使用多线程机制将点云的行列数、外包围盒、点云的圈索引信息以及点云数据信息加载至内存中;第二,自定义渐变色带,使得可以通过比例值获取内存中每个点云的颜色;第三,剔除高程方向和强度特别大或者特别小的点,分别统计出高程和强度的最大值与最小值;第四,根据高程的最小值,计算出需要渲染点云的RGB颜色信息,根据强度的最小值,计算出需要渲染点云的透明度信息;最后,使用OpenGL在点云三维视图中对所有点云进行实时绘制。总的来说,该方法提高了点云的识别度,增强了点云的对比度效果,更好地辅助于数字测图等点云后处理。
【IPC分类】G06T15/00, G01B11/24
【公开号】CN105488836
【申请号】CN201510777548
【发明人】龚书林, 刘守军
【申请人】武汉海达数云技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月16日