一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法
【技術(shù)領(lǐng)域】
[0001]本文發(fā)明涉及到一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法,屬于測(cè)繪行業(yè)和三維激光技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]隨著三維激光掃描儀技術(shù)應(yīng)用到測(cè)繪行業(yè),點(diǎn)云數(shù)據(jù)已經(jīng)成為測(cè)繪領(lǐng)域中重要的數(shù)據(jù)源,它具有高精度、高密度以及全數(shù)字等特征。對(duì)于三維激光技術(shù)通過高精度步進(jìn)掃描快速獲取的現(xiàn)實(shí)世界中的三維空間信息,可以通過可視化技術(shù)將這些數(shù)字信息顯示于計(jì)算機(jī)中,主要用于點(diǎn)云數(shù)據(jù)的動(dòng)態(tài)瀏覽顯示,便于點(diǎn)云據(jù)后續(xù)處理中進(jìn)行人機(jī)交互。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是根據(jù)自定義的數(shù)據(jù)格式存儲(chǔ)和管理點(diǎn)云數(shù)據(jù),然后根據(jù)漸變色帶獲取點(diǎn)云顏色信息,在點(diǎn)云實(shí)時(shí)渲染中加入透明度信息,且該透明度信息是由點(diǎn)云的強(qiáng)度統(tǒng)計(jì)而來,有效地提高了點(diǎn)云的識(shí)別度,增強(qiáng)了點(diǎn)云渲染的對(duì)比度,輔助數(shù)字測(cè)圖等相關(guān)點(diǎn)云后處理,是一種便于判讀的點(diǎn)云渲染方式。
[0004]為實(shí)現(xiàn)上述目的,首先使用車載(地面或者背包)三維激光測(cè)量系統(tǒng)采集數(shù)據(jù),其中車載三維激光移動(dòng)測(cè)量系統(tǒng)包括車輛、三維激光掃描儀、GPS導(dǎo)航儀、慣性制導(dǎo)系統(tǒng)和全景相機(jī),采集數(shù)據(jù)過程在車輛行駛中進(jìn)行,三維激光掃描儀用于獲取點(diǎn)云數(shù)據(jù),GPS導(dǎo)航儀與慣性制導(dǎo)系統(tǒng)構(gòu)成的P0S系統(tǒng)用于獲取姿態(tài)位置信息,按照時(shí)間對(duì)齊,根據(jù)采集的P0S信息插值結(jié)算獲取三維點(diǎn)云數(shù)據(jù)掃描圈每一圈的姿態(tài)信息及位置信息。根據(jù)以上數(shù)據(jù),對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行按圈存儲(chǔ),其中對(duì)于一個(gè)點(diǎn)記錄存儲(chǔ)的信息包括三維坐標(biāo)、顏色以及強(qiáng)度等。
[0005]本發(fā)明提出的一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法包括如下幾個(gè)步驟:
[0006]步驟1、將自定義的點(diǎn)云三維視圖嵌入到MFC的多文檔視圖中,采用自定義數(shù)據(jù)格式對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行存儲(chǔ)和管理;
[0007]步驟2、創(chuàng)建點(diǎn)云視圖,使用多線程機(jī)制將點(diǎn)云數(shù)據(jù)加載至內(nèi)存中,加載的信息包括點(diǎn)云的行列數(shù)、外包圍盒、點(diǎn)云的圈索引信息以及點(diǎn)云數(shù)據(jù)信息,值得一提的是,內(nèi)存中的點(diǎn)云是按照圈進(jìn)行索引;
[0008]步驟3、通過選擇自定義的漸變色帶、坐標(biāo)軸方向以及循環(huán)步長,設(shè)置點(diǎn)云視圖渲染參數(shù);
[0009]步驟4、在點(diǎn)云視圖的渲染過程中,根據(jù)設(shè)置的渲染參數(shù),對(duì)點(diǎn)云進(jìn)行著色。
[0010]4.1構(gòu)造自定義漸變色帶,用于點(diǎn)云實(shí)時(shí)渲染時(shí)取色;
[0011]4.2根據(jù)給定極大值與極小值的比例范圍,去除點(diǎn)云高程以及強(qiáng)度的極大值與極小值,統(tǒng)計(jì)出點(diǎn)云高程以及強(qiáng)度的最小值和最大值;
[0012]4.3根據(jù)點(diǎn)記錄的高程來獲取漸變色帶中的RGB顏色,按照點(diǎn)記錄的強(qiáng)度信息計(jì)算出顏色的透明度,構(gòu)成了 HSV顏色的各個(gè)分量;
[0013]4.4在點(diǎn)云視圖的實(shí)時(shí)渲染中,完成對(duì)所有點(diǎn)記錄的繪制。
[0014]本發(fā)明具有如下優(yōu)點(diǎn):
[0015]1、三維激光測(cè)量系統(tǒng)具有抗干擾性強(qiáng)、精度大,密度高以及全天侯工作不間斷作業(yè),可以快速獲取以及更新數(shù)據(jù)。
[0016]2、在瀏覽點(diǎn)云的過程中,按照高程方向進(jìn)行循環(huán)漸變色帶渲染,便于區(qū)分路面以及較低的植被等,提高了點(diǎn)云的辨識(shí)度;
[0017]3、在實(shí)時(shí)繪制過程中,將強(qiáng)度信息加入點(diǎn)渲染中,增強(qiáng)點(diǎn)云的對(duì)比度,更好地輔助于數(shù)字測(cè)圖、點(diǎn)云過濾以及點(diǎn)云分類等相關(guān)后續(xù)處理。。
【附圖說明】
[0018]圖1為一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法操作流程圖。
[0019]圖2為本發(fā)明統(tǒng)計(jì)高程最值的操作流程圖。
[0020]圖3為本發(fā)明統(tǒng)計(jì)強(qiáng)度最值的操作流程圖。
[0021 ]圖4三維激光點(diǎn)云根據(jù)循環(huán)色帶按Z軸方向渲染效果圖。
【具體實(shí)施方式】
[0022]以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳述。
[0023]步驟1將自定義的點(diǎn)云視圖嵌入至MFC的多文檔視圖中,每個(gè)點(diǎn)云視圖可對(duì)應(yīng)多個(gè)點(diǎn)云對(duì)象。將點(diǎn)云數(shù)據(jù)加載至內(nèi)存,并采用自定義的數(shù)據(jù)格式存儲(chǔ)點(diǎn)云,且內(nèi)存中的點(diǎn)云為按圈存儲(chǔ),便于存?。?br>[0024]步驟2自定義漸變顏色二維數(shù)組colorRampList[m][n],其中m為構(gòu)建的色帶編號(hào),η為構(gòu)建的色帶的漸變顏色種類,然后構(gòu)造漸變色帶colorRamp,以10個(gè)漸變顏色種類為例,內(nèi)存中每個(gè)點(diǎn)記錄可以按照比例值獲取該漸變色帶的顏色值;
[0025]步驟3統(tǒng)計(jì)高程的最大值與最小值。為了使按色帶渲染后的點(diǎn)云顏色保持相對(duì)穩(wěn)定,在統(tǒng)計(jì)點(diǎn)云顏色時(shí),需要剔除高程特別大或者特別小的點(diǎn)。以按高程循環(huán)色帶渲染為例,具體操作如下:遍歷點(diǎn)云,將所有點(diǎn)的高程映射到[0,999]區(qū)間中,并對(duì)落在第i個(gè)區(qū)間內(nèi)的點(diǎn)云數(shù)量進(jìn)行統(tǒng)計(jì)(其中i = 0,l,2,…,999);調(diào)整高程分布,設(shè)定點(diǎn)云點(diǎn)數(shù)百分比閾值為f,使用該閾值對(duì)高程較大和較小的點(diǎn)進(jìn)行剔除;統(tǒng)計(jì)更新后的點(diǎn)云數(shù)據(jù),獲取新的最大值MaxZ與最小值MinZ。
[0026]步驟4統(tǒng)計(jì)強(qiáng)度的最大值與最小值。為了將點(diǎn)云強(qiáng)度信息加入點(diǎn)渲染中,增強(qiáng)點(diǎn)云渲染的對(duì)比度,需要對(duì)強(qiáng)度信息進(jìn)行統(tǒng)計(jì),且在統(tǒng)計(jì)強(qiáng)度信息時(shí),需要剔除強(qiáng)度特別大或特別小的點(diǎn)。具體操作如下:遍歷點(diǎn)云,將所有點(diǎn)的強(qiáng)度映射到[0,999]區(qū)間,并對(duì)落在第i個(gè)區(qū)間內(nèi)的點(diǎn)云數(shù)量進(jìn)行統(tǒng)計(jì)(其中i = 0,l,2,…,999);調(diào)整強(qiáng)度分布,設(shè)定點(diǎn)云點(diǎn)數(shù)百分比極大值閾值為fmaxI以及點(diǎn)云點(diǎn)數(shù)百分比極小值閾值fminI,使用閾值fmaxI對(duì)強(qiáng)度較大的點(diǎn)進(jìn)行過濾,使用閾值fminl對(duì)強(qiáng)度較小的點(diǎn)進(jìn)行過濾;統(tǒng)計(jì)更新后的點(diǎn)云數(shù)據(jù),獲取新的強(qiáng)度最大值Maxi與最小值Mini ;
[0027]步驟5設(shè)置漸變色帶,循環(huán)步長step以及坐標(biāo)軸方向,計(jì)算需要渲染點(diǎn)的RGB顏色信息。以按高程循環(huán)色帶渲染為例,具體操作如下:遍歷需要渲染的所有點(diǎn),用當(dāng)前點(diǎn)的Z坐標(biāo)減去MinZ得到Dis,然后Dis對(duì)Step求模得到MDis,為了保證色彩的對(duì)稱性,對(duì)MDis為奇數(shù)的點(diǎn)進(jìn)行標(biāo)記,Step減去MDis得到相對(duì)循環(huán)距離dMDis,然后根據(jù)dMDis求出在循環(huán)色帶中的顏色帶及該色帶的比例值,從而取出顏色;
[0028]步驟6計(jì)算透明度,確保點(diǎn)云渲染色彩不會(huì)太黑或者太亮,增強(qiáng)點(diǎn)云渲染的對(duì)比度。具體操作如下:遍歷需要渲染的點(diǎn),計(jì)算當(dāng)前點(diǎn)的強(qiáng)度值和Mini的差值,并使該差值落在區(qū)間[0.1,0.95 ]中,從而求得該點(diǎn)的透明度L,作為HSV顏色的透明度分量;
[0029]步驟7使用OpenGL在點(diǎn)云三維視圖中對(duì)所有點(diǎn)云進(jìn)行實(shí)時(shí)繪制。
【主權(quán)項(xiàng)】
1.一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法,首先,使用車載(地面或者背包)三維激光測(cè)量系統(tǒng)進(jìn)行數(shù)據(jù)采集,三維激光掃描儀用于獲取點(diǎn)云數(shù)據(jù),GPS導(dǎo)航儀與慣性制導(dǎo)系統(tǒng)構(gòu)成的POS系統(tǒng)用于獲取姿態(tài)位置信息;其次,點(diǎn)云數(shù)據(jù)按圈進(jìn)行存儲(chǔ),存儲(chǔ)的信息主要包括三維坐標(biāo)、顏色以及強(qiáng)度等;最后通過計(jì)算,獲取點(diǎn)云HSV顏色值,實(shí)現(xiàn)了便于判讀的循環(huán)色帶點(diǎn)云渲染,主要步驟如下: 步驟1、將自定義的點(diǎn)云三維視圖嵌入到MFC的多文檔視圖中,采用自定義數(shù)據(jù)格式對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行存儲(chǔ)和管理,同時(shí)將點(diǎn)云加載至內(nèi)存; 步驟2、新建漸變色帶colorRamp,內(nèi)存中每個(gè)點(diǎn)記錄可以按照比例值獲取該漸變色帶的顏色值; 步驟3、遍歷點(diǎn)云,剔除高程方向特別大或者特別小的點(diǎn),統(tǒng)計(jì)出點(diǎn)云高程最大值Ma X Z和最小值MinZ; 步驟4、遍歷點(diǎn)云,剔除強(qiáng)度特別大或者特別小的點(diǎn),統(tǒng)計(jì)出點(diǎn)云強(qiáng)度最大值Maxi和最小值Mini ; 步驟5、遍歷需要渲染的點(diǎn)云,根據(jù)設(shè)置的循環(huán)步長以及當(dāng)前點(diǎn)的Z值和MinZ的差值,求出在漸變色帶中的顏色帶及該色帶的比例值,從而獲取當(dāng)前點(diǎn)的RGB顏色信息; 步驟6、遍歷需要渲染的點(diǎn)云,計(jì)算當(dāng)前點(diǎn)的強(qiáng)度值和Mini的差值,并使該差值落在區(qū)間[0.1,0.95 ]中,從而獲取該點(diǎn)的透明度L,作為HSV顏色的透明度分量; 步驟7、使用OpenGL在點(diǎn)云三維視圖中對(duì)所有點(diǎn)云進(jìn)行實(shí)時(shí)繪制。2.根據(jù)權(quán)利要求1所述的一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法,其特征在于:步驟3中所述的遍歷所有點(diǎn),統(tǒng)計(jì)高程的最大值與最小值。為了使按色帶渲染后的點(diǎn)云顏色保持相對(duì)穩(wěn)定,在統(tǒng)計(jì)點(diǎn)云顏色時(shí),需要剔除高程特別大或者特別小的點(diǎn)。以按高程循環(huán)色帶渲染為例,具體操作如下:遍歷點(diǎn)云,將所有點(diǎn)的高程映射到[0,999]區(qū)間中,并對(duì)落在第i個(gè)區(qū)間內(nèi)的點(diǎn)云數(shù)量進(jìn)行統(tǒng)計(jì)(其中i = 0,1,2,…,999);調(diào)整高程分布,設(shè)定點(diǎn)云點(diǎn)數(shù)百分比閾值為f,使用該閾值對(duì)高程較大和較小的點(diǎn)進(jìn)行剔除;統(tǒng)計(jì)更新后的點(diǎn)云數(shù)據(jù),獲取新的最大值MaxZ與最小值MinZ。3.根據(jù)權(quán)利要求1所述的一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法,其特征在于:步驟4中所述的遍歷所有點(diǎn),統(tǒng)計(jì)強(qiáng)度的最大值與最小值。為了將點(diǎn)云強(qiáng)度信息加入點(diǎn)渲染中,增強(qiáng)點(diǎn)云渲染的對(duì)比度,需要對(duì)強(qiáng)度信息進(jìn)行統(tǒng)計(jì),且在統(tǒng)計(jì)強(qiáng)度信息時(shí),需要剔除強(qiáng)度特別大或特別小的點(diǎn)。具體操作如下:遍歷點(diǎn)云,將所有點(diǎn)的強(qiáng)度映射到[0,999]區(qū)間,并對(duì)落在第i個(gè)區(qū)間內(nèi)的點(diǎn)云數(shù)量進(jìn)行統(tǒng)計(jì)(其中i = 0,1,2,…,999);調(diào)整強(qiáng)度分布,設(shè)定點(diǎn)云點(diǎn)數(shù)百分比極大值閾值為fmaxl以及點(diǎn)云點(diǎn)數(shù)百分比極小值閾值fminl,使用閾值fmax I對(duì)強(qiáng)度較大的點(diǎn)進(jìn)行過濾,使用閾值fmin I對(duì)強(qiáng)度較小的點(diǎn)進(jìn)行過濾;統(tǒng)計(jì)更新后的點(diǎn)云數(shù)據(jù),獲取新的強(qiáng)度最大值Maxi與最小值Mini。4.根據(jù)權(quán)利要求1所述的一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法,其特征在于:步驟5中所述的設(shè)置漸變色帶,循環(huán)步長step以及坐標(biāo)軸方向,計(jì)算需要渲染點(diǎn)的RGB顏色信息。以按高程循環(huán)色帶渲染為例,具體操作如下:遍歷需要渲染的所有點(diǎn),用當(dāng)前點(diǎn)的Z坐標(biāo)減去MinZ得到Dis,然后Dis對(duì)Step求模得到MDis,為了保證色彩的對(duì)稱性,對(duì)MDis為奇數(shù)的點(diǎn)進(jìn)行標(biāo)記,Step減去MDis得到相對(duì)循環(huán)距離dMDis,然后根據(jù)dMDis求出在循環(huán)色帶中的顏色帶及該色帶的比例值,進(jìn)而取出顏色。5.根據(jù)權(quán)利要求1所述的一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法,其特征在于:步驟6中所述的計(jì)算透明度,確保點(diǎn)云渲染色彩不會(huì)太黑或者太亮,增強(qiáng)點(diǎn)云渲染的對(duì)比度。具體操作如下:遍歷需要渲染的點(diǎn),計(jì)算當(dāng)前點(diǎn)的強(qiáng)度值和Mini的差值,并使該差值落在區(qū)間[0.1,0.95 ]中,從而求得該點(diǎn)的透明度L,作為HSV顏色的透明度分量。
【專利摘要】本發(fā)明涉及到一種基于高程分布特征的循環(huán)色帶點(diǎn)云渲染方法。具體步驟如下:首先,創(chuàng)建點(diǎn)云視圖,使用多線程機(jī)制將點(diǎn)云的行列數(shù)、外包圍盒、點(diǎn)云的圈索引信息以及點(diǎn)云數(shù)據(jù)信息加載至內(nèi)存中;第二,自定義漸變色帶,使得可以通過比例值獲取內(nèi)存中每個(gè)點(diǎn)云的顏色;第三,剔除高程方向和強(qiáng)度特別大或者特別小的點(diǎn),分別統(tǒng)計(jì)出高程和強(qiáng)度的最大值與最小值;第四,根據(jù)高程的最小值,計(jì)算出需要渲染點(diǎn)云的RGB顏色信息,根據(jù)強(qiáng)度的最小值,計(jì)算出需要渲染點(diǎn)云的透明度信息;最后,使用OpenGL在點(diǎn)云三維視圖中對(duì)所有點(diǎn)云進(jìn)行實(shí)時(shí)繪制??偟膩碚f,該方法提高了點(diǎn)云的識(shí)別度,增強(qiáng)了點(diǎn)云的對(duì)比度效果,更好地輔助于數(shù)字測(cè)圖等點(diǎn)云后處理。
【IPC分類】G06T15/00, G01B11/24
【公開號(hào)】CN105488836
【申請(qǐng)?zhí)枴緾N201510777548
【發(fā)明人】龔書林, 劉守軍
【申請(qǐng)人】武漢海達(dá)數(shù)云技術(shù)有限公司
【公開日】2016年4月13日
【申請(qǐng)日】2015年11月16日