本發(fā)明涉及虛擬與現(xiàn)實(shí),特別涉及基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法、系統(tǒng)及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、虛擬現(xiàn)實(shí)技術(shù)(英文名稱(chēng):virtual?reality,縮寫(xiě)為vr)囊括計(jì)算機(jī)、電子信息、仿真技術(shù),其基本實(shí)現(xiàn)方式是以計(jì)算機(jī)技術(shù)為主,利用并綜合三維圖形技術(shù)、多媒體技術(shù)、仿真技術(shù)、顯示技術(shù)、伺服技術(shù)等多種高科技的最新發(fā)展成果,借助計(jì)算機(jī)等設(shè)備產(chǎn)生一個(gè)逼真的三維視覺(jué)、觸覺(jué)、嗅覺(jué)等多種感官體驗(yàn)的虛擬世界,從而使處于虛擬世界中的人產(chǎn)生一種身臨其境的感覺(jué)。
2、高斯模型在虛擬與現(xiàn)實(shí)技術(shù)中的全景影像領(lǐng)域有著重要的應(yīng)用,高斯模型可以用于構(gòu)建逼真的虛擬場(chǎng)景。通過(guò)高斯濺射技術(shù),可以實(shí)現(xiàn)實(shí)時(shí)高質(zhì)量的渲染效果,使用戶(hù)能夠沉浸在虛擬場(chǎng)景中,特別是3d高斯模型,常被用于表示虛擬場(chǎng)景中的幾何和顏色信息。通過(guò)高斯球(點(diǎn)云數(shù)據(jù))的分布,可以顯式地表示場(chǎng)景中的點(diǎn)、線、面等幾何元素,同時(shí)攜帶顏色信息,從而實(shí)現(xiàn)逼真的渲染效果。由于高斯模型是大量的點(diǎn)云數(shù)據(jù)組成,點(diǎn)云數(shù)據(jù)在高斯模型的內(nèi)外都存在,并且它的點(diǎn)云數(shù)據(jù)并不是連續(xù)的,因此相比于傳統(tǒng)的虛擬模型來(lái)說(shuō),無(wú)法直接獲取到表面信息,而在高斯模型應(yīng)用到虛擬場(chǎng)景中時(shí),往往會(huì)需要對(duì)高斯模型進(jìn)行二次加工,因此獲取到模型的表面信息尤為重要,但是傳統(tǒng)的獲取方式只能靠手動(dòng)去描繪模型的外表面,這樣獲得的外表面輪廓是粗糙的,且描繪效率較低,容易出錯(cuò)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的就在于為了解決上述傳統(tǒng)的高斯模型外表面不易獲取的問(wèn)題提出基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法、系統(tǒng)及存儲(chǔ)介質(zhì),具有可快速生成外表面輪廓,操作效率高,展示效果更加精細(xì)的優(yōu)點(diǎn)。
2、第一方面,本發(fā)明通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)上述目的,一種基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法,該方法包括以下步驟:
3、獲取高斯模型導(dǎo)入三維坐標(biāo)系中;
4、計(jì)算所述高斯模型沿x軸方向的最大長(zhǎng)度l1,沿y軸方向的最大長(zhǎng)度l2和沿z軸方向的最大長(zhǎng)度l3,生成長(zhǎng)寬高依次為l1、l2和l3的包圍盒;
5、獲得所述包圍盒的中心點(diǎn),對(duì)所述包圍盒分別沿垂直于x軸、y軸和z軸三個(gè)方向做分割切面,使三個(gè)所述切面的交點(diǎn)與所述中心點(diǎn)位置一致;
6、在每個(gè)所述切面上做棋盤(pán)分割線,以所述棋盤(pán)分割線的各個(gè)線交點(diǎn)為起點(diǎn)做垂直與所述切面的法線,每條所述法線包括正向和負(fù)向兩個(gè)方向;
7、記錄每條法線上的所有點(diǎn)云數(shù)據(jù),并計(jì)算每個(gè)所述點(diǎn)云數(shù)據(jù)與所述線交點(diǎn)之間的距離,在正向法線和負(fù)向法線上均查找出距離最大的點(diǎn)云數(shù)據(jù)保存到表面點(diǎn)集中;
8、去除所述表面點(diǎn)集中的重復(fù)點(diǎn)云數(shù)據(jù),并將保留的點(diǎn)云數(shù)據(jù)依次連線形成連續(xù)的邊緣輪廓模型。
9、優(yōu)選的,所述獲得所述包圍盒的中心點(diǎn)的方法為:
10、計(jì)算包圍盒的與三維坐標(biāo)系原點(diǎn)最近的一個(gè)頂角坐標(biāo)(x0,y0,z0);
11、則中心點(diǎn)的x軸坐標(biāo)是:x=x0+l1/2;
12、中心點(diǎn)的y軸坐標(biāo)是:y=y0+l2/2;
13、中心點(diǎn)的z軸坐標(biāo)是:z=z0+l3/2;
14、獲得包圍盒的中心點(diǎn)坐標(biāo)(x,y,z)。
15、優(yōu)選的,該方法還包括設(shè)置所述包圍盒的中心點(diǎn)為所述三維坐標(biāo)系的坐標(biāo)原點(diǎn)。
16、優(yōu)選的,所述以所述棋盤(pán)分割線的各個(gè)線交點(diǎn)為起點(diǎn)做垂直與所述切面的法線的方法為:
17、獲取包圍盒垂直于x軸的切面,選擇該切面上的棋盤(pán)分割線的線交點(diǎn)為起點(diǎn)向x軸正方向發(fā)射射線,該射線為正向法線,向x軸的負(fù)方向發(fā)射射線,該射線為負(fù)向法線;
18、獲取包圍盒垂直于y軸的切面,選擇該切面上的棋盤(pán)分割線的線交點(diǎn)為起點(diǎn)向y軸正方向發(fā)射射線,該射線為正向法線,向y軸的負(fù)方向發(fā)射射線,該射線為負(fù)向法線;
19、獲取包圍盒垂直于z軸的切面,選擇該切面上的棋盤(pán)分割線的線交點(diǎn)為起點(diǎn)向z軸正方向發(fā)射射線,該射線為正向法線,向z軸的負(fù)方向發(fā)射射線,該射線為負(fù)向法線。
20、優(yōu)選的,該方法還包括設(shè)置棋盤(pán)分割線分割出的單元格長(zhǎng)度和寬度。
21、優(yōu)選的,所述將保留的點(diǎn)云數(shù)據(jù)依次連線形成連續(xù)的邊緣輪廓模型的方法為:選擇其中一個(gè)點(diǎn)云數(shù)據(jù)作為起始點(diǎn),以起始點(diǎn)向相鄰的所有點(diǎn)云數(shù)據(jù)連線,直到所有的點(diǎn)云數(shù)據(jù)連線完畢,此時(shí)形成的封閉式輪廓即為高斯模型的外表面。
22、第二方面,本發(fā)明通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)上述目的,一種基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的系統(tǒng),該系統(tǒng)包括:
23、模型導(dǎo)入單元,用于獲取高斯模型導(dǎo)入三維坐標(biāo)系中;
24、包圍盒生成單元,用于計(jì)算所述高斯模型沿x軸方向的最大長(zhǎng)度l1,沿y軸方向的最大長(zhǎng)度l2和沿z軸方向的最大長(zhǎng)度l3,生成長(zhǎng)寬高依次為l1、l2和l3的包圍盒;
25、分割切面單元,用于獲得所述包圍盒的中心點(diǎn),對(duì)所述包圍盒分別沿垂直于x軸、y軸和z軸三個(gè)方向做分割切面,使三個(gè)所述切面的交點(diǎn)與所述中心點(diǎn)位置一致;
26、法線生成單元,用于在每個(gè)所述切面上做棋盤(pán)分割線,以所述棋盤(pán)分割線的各個(gè)線交點(diǎn)為起點(diǎn)做垂直與所述切面的法線,每條所述法線包括正向和負(fù)向兩個(gè)方向;
27、點(diǎn)云篩選單元,用于記錄每條法線上的所有點(diǎn)云數(shù)據(jù),并計(jì)算每個(gè)所述點(diǎn)云數(shù)據(jù)與所述線交點(diǎn)之間的距離,在正向法線和負(fù)向法線上均查找出距離最大的點(diǎn)云數(shù)據(jù)保存到表面點(diǎn)集中;
28、外表面成型單元,用于去除所述表面點(diǎn)集中的重復(fù)點(diǎn)云數(shù)據(jù),并將保留的點(diǎn)云數(shù)據(jù)依次連線形成連續(xù)的邊緣輪廓模型。
29、優(yōu)選的,該系統(tǒng)還包括設(shè)置所述包圍盒的中心點(diǎn)為所述三維坐標(biāo)系的坐標(biāo)原點(diǎn)。
30、優(yōu)選的,所述法線生成單元還包括設(shè)置棋盤(pán)分割線分割出的單元格長(zhǎng)度和寬度。
31、第三方面,本發(fā)明通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)上述目的,一種存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,在所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如第一方面所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法。
32、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
33、本發(fā)明利用將高斯模型導(dǎo)入到三維坐標(biāo)系中,再對(duì)高斯模型以垂直坐標(biāo)系的x軸、y軸和z軸進(jìn)行切面,再每個(gè)切面上生成棋盤(pán)式分割線,以分割線的線交點(diǎn)做垂直于面的法線,選擇法線上與線交點(diǎn)最遠(yuǎn)的點(diǎn)云數(shù)據(jù),從而查找到高斯模型外表面的點(diǎn)云數(shù)據(jù),并將點(diǎn)云數(shù)據(jù)進(jìn)行去重連線,最終獲取整個(gè)外表面輪廓,通過(guò)這種方式可以快速獲取高斯模型的外表面,計(jì)算簡(jiǎn)單高效,大大提高了高斯模型表面獲取的效率和準(zhǔn)確率。
1.一種基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法,其特征在于,該方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法,其特征在于,所述獲得所述包圍盒的中心點(diǎn)的方法為:
3.根據(jù)權(quán)利要求1或2所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法,其特征在于,該方法還包括設(shè)置所述包圍盒的中心點(diǎn)為所述三維坐標(biāo)系的坐標(biāo)原點(diǎn)。
4.根據(jù)權(quán)利要求1所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法,其特征在于,所述以所述棋盤(pán)分割線的各個(gè)線交點(diǎn)為起點(diǎn)做垂直與所述切面的法線的方法為:
5.根據(jù)權(quán)利要求1或4所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法,其特征在于,該方法還包括設(shè)置棋盤(pán)分割線分割出的單元格長(zhǎng)度和寬度。
6.根據(jù)權(quán)利要求1所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法,其特征在于,所述將保留的點(diǎn)云數(shù)據(jù)依次連線形成連續(xù)的邊緣輪廓模型的方法為:選擇其中一個(gè)點(diǎn)云數(shù)據(jù)作為起始點(diǎn),以起始點(diǎn)向相鄰的所有點(diǎn)云數(shù)據(jù)連線,直到所有的點(diǎn)云數(shù)據(jù)連線完畢,此時(shí)形成的封閉式輪廓即為高斯模型的外表面。
7.一種基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的系統(tǒng),其特征在于,該系統(tǒng)包括:
8.根據(jù)權(quán)利要求7所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的系統(tǒng),其特征在于,該系統(tǒng)還包括設(shè)置所述包圍盒的中心點(diǎn)為所述三維坐標(biāo)系的坐標(biāo)原點(diǎn)。
9.根據(jù)權(quán)利要求7所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的系統(tǒng),其特征在于,所述法線生成單元還包括設(shè)置棋盤(pán)分割線分割出的單元格長(zhǎng)度和寬度。
10.一種存儲(chǔ)介質(zhì),其特征在于,其上存儲(chǔ)有計(jì)算機(jī)程序,在所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的基于點(diǎn)云數(shù)據(jù)獲取高斯模型表面的方法。