本發(fā)明涉及數(shù)據處理領域,尤其涉及一種新的試驗設計算法。
背景技術:
近年來,隨著三維掃描儀成本的降低以及精度的提高,三維點云數(shù)據已經成為圖形學、逆向工程和工業(yè)領域中一種重要的數(shù)據表現(xiàn)形式。然而原始采集的三維點云數(shù)據量非常大,這對后期的三維重建帶來很大的困難,因此三維點云的去噪和簡化工作是點云處理中至關重要的一個環(huán)節(jié)。
目前三維點云數(shù)據精簡的算法有基于聚類的簡化、基于曲率的簡化等,這些方法雖然能夠在一定程度上精簡點云數(shù)量,保留點云模型的特征,提高模型的重建效果,但是由于大多需要進行遞歸操作或者曲率估算,所以對于點云數(shù)據量較大的模型,此類算法顯得非常耗時。
鑒于上述缺陷,本發(fā)明創(chuàng)作者經過長時間的研究和實踐終于獲得了本創(chuàng)作。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種新的試驗設計算法,用以克服上述技術缺陷。
為實現(xiàn)上述目的,本發(fā)明提供一種新的試驗設計算法,具體過程為:
S1、輸入點云數(shù)據,建立k-d樹以形成散亂點云之間的拓撲關系;
S2、利用點云數(shù)據生成包圍三維點云模型的立方體Vm,并將該立方體依據點云模型的中心點分為8個子矩陣,將所有的數(shù)據點依據其空間所在位置進行歸類,歸入各自的子矩陣中;
S3、依據點云模型子矩陣,將立方體Vm的每一個面分為4個子平面,根據上述步驟b中的射線生成方法生成射線;
S4、計算子矩陣)中每個數(shù)據點到通過該立方體的每條射線之間的距 離A,并由數(shù)據點到中心點Mid之間的距離得出每個數(shù)據點相應的判斷閾值B,若A﹤B,則視為數(shù)據點需要被精簡。
優(yōu)選地,在上述步驟S2中,
根據兩點確定一條直線的原理,以三維點云模型的中心點作為所有射線的公共點,則只需要按一定規(guī)則生成射線另一點的坐標,就可以生成所有的射線;
S21、生成一個最小的能夠包圍點云模型的立方體Vm,設該立方體的邊長為L,散亂點云在X、Y、Z軸方向的最大值和最小值分別為:Xmax、Ymax、Zmax、Xmin、Ymin、Zmin,則立方體邊長的計算方法如下:
L=Max((Xmax-Xmin),(Ymax-Ymin),(Zmax-Zmin))
L為邊長,(Xmin,Ymin,Zmin)為一頂點,作矩陣體,并使其能夠完全包圍點云模型;
S22、在矩陣體的6個平面上生成所需要的點,以某一與xoy面平行的平面為例,設該平面分別平行于X軸和Y軸的兩邊為L1、L2,并且已知兩邊的端點分別為P1(x1,y1,z1)、P2(x2,y2,z2)和P2、P3(x3,y3,z3)。
優(yōu)選地,在上述步驟S2中,設閾值d,假設生成的點為Pi(xi,yi,zi),則生成點坐標計算方法如下:
xi=(i/d)×(x1-x2)+x2 (i=0,1,2,...,d-1,d)
yi=(i/d)×(y3-y2)+y2 (i=0,1,2,...,d-1,d)
zi=z1=z2=z3 (i=0,1,2,...,d-1,d)
則每個平面上生成點的數(shù)量為(d-1)2,可生成(d-1)2+4條射線,由此可以通過調節(jié)閾值d的大小,以控制射線的數(shù)量,從而控制點云模型的精簡程度。
與現(xiàn)有技術相比較本發(fā)明的有益效果在于:本發(fā)明提出了一種不基于曲率計算的三維點云數(shù)據精簡算法,在一定的精簡程度范圍內,該算法具有良好的精簡效果及效率。特別適合類球類模型和對稱模型,為了提高算法的適應性,更好地解決模型中心點位置的不合理進而影響精簡效果的問題;從而避免了耗時的遞歸操作和曲率計算,其時間消耗隨點云數(shù)據的增加呈線性增長,而非指數(shù)級增長。
具體實施方式
以下結合實施例,對本發(fā)明上述的和另外的技術特征和優(yōu)點作更詳細的說明。
一種新的試驗設計算法,具體過程為:
S1、輸入點云數(shù)據,建立k-d樹以形成散亂點云之間的拓撲關系;
S2、利用點云數(shù)據生成包圍三維點云模型的立方體Vm,并將該立方體依據點云模型的中心點分為8個子矩陣,將所有的數(shù)據點依據其空間所在位置進行歸類,歸入各自的子矩陣中;
S3、依據點云模型子矩陣,將立方體Vm的每一個面分為4個子平面,根據上述步驟b中的射線生成方法生成射線;
S4、計算子矩陣)中每個數(shù)據點到通過該立方體的每條射線之間的距離A,并由數(shù)據點到中心點Mid之間的距離得出每個數(shù)據點相應的判斷閾值B,若A﹤B,則視為數(shù)據點需要被精簡。
在上述步驟S2中,
根據兩點確定一條直線的原理,以三維點云模型的中心點作為所有射線的公共點,則只需要按一定規(guī)則生成射線另一點的坐標,就可以生成所有的射線;
S21、生成一個最小的能夠包圍點云模型的立方體Vm,設該立方體的邊長為L,散亂點云在X、Y、Z軸方向的最大值和最小值分別為:Xmax、Ymax、Zmax、Xmin、Ymin、Zmin,則立方體邊長的計算方法如下:
L=Max((Xmax-Xmin),(Ymax-Ymin),(Zmax-Zmin))
L為邊長,(Xmin,Ymin,Zmin)為一頂點,作矩陣體,并使其能夠完全包圍點云模型;
S22、在矩陣體的6個平面上生成所需要的點,以某一與xoy面平行的平面為例,設該平面分別平行于X軸和Y軸的兩邊為L1、L2,并且已知兩邊的端點分別為P1(x1,y1,z1)、P2(x2,y2,z2)和P2、P3(x3,y3,z3)。
在上述步驟S2中,設閾值d,假設生成的點為Pi(xi,yi,zi),則生成點坐標計算方法如下:
xi=(i/d)×(x1-x2)+x2 (i=0,1,2,...,d-1,d)
yi=(i/d)×(y3-y2)+y2 (i=0,1,2,...,d-1,d)
zi=z1=z2=z3 (i=0,1,2,...,d-1,d)
則每個平面上生成點的數(shù)量為(d-1)2,可生成(d-1)2+4條射線,由此可以通過調節(jié)閾值d的大小,以控制射線的數(shù)量,從而控制點云模型的精簡程度
以上所述僅為本發(fā)明的較佳實施例,對發(fā)明而言僅僅是說明性的,而非限制性的。本專業(yè)技術人員理解,在發(fā)明權利要求所限定的精神和范圍內可對其進行許多改變,修改,甚至等效,但都將落入本發(fā)明的保護范圍內。