亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        散亂點云數(shù)據(jù)的可視化探究

        2013-12-31 00:00:00馬符訊林歡徐南
        科技創(chuàng)新導報 2013年10期

        摘 要:三維激光掃描儀獲取的散亂點云數(shù)據(jù)的可視化工作,是對點云數(shù)據(jù)進行分析應(yīng)用的一個重要環(huán)節(jié)。該文從開發(fā)環(huán)境配置、點云數(shù)據(jù)輸入、點云數(shù)據(jù)顯示等方面詳細討論了可視化的實現(xiàn)細節(jié),利用VC6 + OpenGL實現(xiàn)了點云顯示、旋轉(zhuǎn)、平移、縮放、渲染等功能,為點云數(shù)據(jù)的后續(xù)處理提供了直觀的幫助。

        關(guān)鍵詞:三維激光掃描 點云數(shù)據(jù) 可視化 OpenGL

        中圖分類號:TP391 文獻標識碼:A 文章編號:1674-098X(2013)04(a)-00-02

        三維激光掃描技術(shù)是一種先進的全自動高精度立體掃描技術(shù),可以深入到復(fù)雜現(xiàn)場環(huán)境中采集大量的點云數(shù)據(jù),從而滿足精確建模的要求,并能利用采集的點云數(shù)據(jù)快速重建出原實體的三維模型,方便用戶從中提取三維點、線、面、體等各種數(shù)據(jù),廣泛應(yīng)用于逆向工程、測繪、虛擬仿真等不同領(lǐng)域。三維激光掃描技術(shù)因為其獲取速度快、精度高、實時性強、全數(shù)字化等特點,并且能夠制作形式多樣的數(shù)字產(chǎn)品等突出優(yōu)勢,近年來已逐漸成為各領(lǐng)域的研究熱點??梢哉f三維激光掃描技術(shù)為我們提供了高科技的數(shù)據(jù)獲取工具,其廣闊的應(yīng)用前景需要科技工作者進一步探索、發(fā)現(xiàn)。將三維激光掃描儀獲得的散亂點云數(shù)據(jù)進行可視化,是對點云數(shù)據(jù)進行分析應(yīng)用的一個重要環(huán)節(jié)。該文將從開發(fā)環(huán)境配置、點云數(shù)據(jù)輸入、點云數(shù)據(jù)顯示等方面詳細討論可視化的實現(xiàn)細節(jié)。

        1 開發(fā)環(huán)境配置

        該文以VC6為開發(fā)工具,但VC6并不能直接繪制并顯示三維坐標點,當前常用的處理方法是借助OpenGL來實現(xiàn)三維點坐標的繪制與顯示工作。為了能在計算機上順利地顯示出點云圖像,首先需要對VC6進行OpenGL的安裝與配置。

        1.1 OpenGL介紹

        OpenGL是一個開放的三維圖形軟件包,獨立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以方便地在各種平臺間移植。OpenGL可以與Visual C++緊密接口,可保證算法的正確性和可靠性。OpenGL使用簡便,效率高,具有七大功能:提供基本的點、線、多邊形、復(fù)雜的三維物體(球、錐、多面體等)、復(fù)雜曲線和曲面建模功能;提供基本變換和投影變換功能;提供RGBA模式和顏色索引兩種顏色模式;具有光照和材質(zhì)設(shè)置功能;提供紋理映射功能;提供位圖顯示和圖像增強技術(shù);雙緩存動畫技術(shù)。

        在三維散亂點云可視化過程中,首先會使用OpenGL進行三維坐標點顯示,其次會根據(jù)一定的算法提取點云的特征點,利用點云三角格網(wǎng)化[1-3]等技術(shù)實現(xiàn)三維實體的重構(gòu)并借助OpenGL調(diào)整光照、增加紋理,以更加逼真地顯示三維實體。

        1.2 OpenGL庫配置文件

        用戶首先需要從OpenGL官方網(wǎng)站http://www.opengl.org下載OpenGL庫文件,下載完成后解壓得到文件包,OpenGL庫配置用到的文件分為三類:①頭文件:gl.h、glaux.h、glu.h、glut.h;②動態(tài)鏈接庫文件:glaux.dll、glu32.dll、glut32.dll、opengl32.dll;③靜態(tài)庫文件:glaux.lib、glu32.lib、glut32.lib、opengl32.lib。

        1.3 Windows下配置OpenGL

        假設(shè)用戶計算機上操作系統(tǒng)(32位)安裝在C盤,VC 6安裝到C:/Program Files/Microsoft Visual Studio目錄下。將1.2中的頭文件,全部拷貝到C:/Program Files/Microsoft Visual Studio/VC98/Include/GL目錄下(如果沒有GL目錄的話,可自行創(chuàng)建);將1.2中的動態(tài)鏈接庫文件,全部拷貝到C:/WINDOWS/system目錄下;將1.2中的靜態(tài)庫文件,全部拷貝到C:/Program Files/Microsoft Visual Studio/VC98/Lib目錄下。

        2 點云數(shù)據(jù)輸入

        該文點云數(shù)據(jù)由Trimble GX三維激光掃描儀掃描獲得,該掃描儀輸出數(shù)據(jù)源文件格式是pcf,不能直接使用記事本等工具打開。解決的辦法是先使用該三維激光掃描儀自帶的RealWorks軟件將該pcf格式文件轉(zhuǎn)換成asc/txt格式輸出。

        輸出時除了可以輸出坐標信息XYZ(3個字段),還可以選擇輸出灰度值(1個字段)、RGB顏色(3個字段)和法線信息(3個字段)。

        假設(shè),僅輸出XYZ坐標3個字段,輸出格式為asc??梢酝ㄟ^兩種方式讀入坐標點信息:①利用MFC封裝的CStdioFile類ReadString方法先將數(shù)據(jù)按行讀入,再對每行字符串進行解析,分離出每個點的X、Y、Z坐標。②直接使用C語言提供的fscan函數(shù)將每行數(shù)據(jù)讀入對應(yīng)的字段。

        3 點云數(shù)據(jù)顯示

        首先創(chuàng)建一個基于單文檔的OpenGL應(yīng)用程序,并在頭文件中添加必要的OpenGL庫文件和消息響應(yīng)函數(shù),最后在源文件的相應(yīng)函數(shù)中添加代碼實現(xiàn)。殷福忠等[4-6]做了較為詳細的介紹,效果如圖1。

        圖1 石頭城點云圖像

        讀入點云數(shù)據(jù)并顯示之后,有時需要對點云圖像作進一步處理,因此需要實現(xiàn)用戶對點云圖像的簡單交互功能,比如點云圖像的旋轉(zhuǎn)、平移、縮放和渲染等功能。

        3.1 點云圖像旋轉(zhuǎn)

        點云的旋轉(zhuǎn)是為了實現(xiàn)用戶以不同的視角查看點云圖像。在OpenGL中一般通過glRotatef(GLdouble angle,GLdouble x,GLdouble y,GLdouble z)函數(shù)實現(xiàn)點云圖像的旋轉(zhuǎn),參數(shù)angle是旋轉(zhuǎn)的角度,(x,y,z)構(gòu)成了一個從OpenGL坐標原點到(x,y,z)點的向量,是圖像旋轉(zhuǎn)時的旋轉(zhuǎn)軸,點云圖像旋轉(zhuǎn)的主要算法如下:

        Angle_X + =(point.y - m_LastMousePointDown.y)/ 3.6;

        Angle_Y + =(point.x - m_LastMousePointDown.x)/ 3.6;

        Angle_X、Angle_Y是點云圖像繞X、Y軸旋轉(zhuǎn)的角度;Point、m_LastMousePointDown分別為當前鼠標按下時的位置和上次鼠標按下時的位置。效果如圖2。

        3.2 點云圖像平移

        點云的平移是為了方便了用戶查看點云圖像的不同部分。在OpenGL中一般通過glTranslatef(GLfloat x,GLfloat y,GLfloat z)函數(shù)實現(xiàn)點云圖像的平移,其中x、y、z分別表示沿x、y、z軸方向的平移長度。

        3.3 點云圖像縮放

        點云的縮放是方便了用戶以不同的比例查看點云圖像。glScaled(GLdouble x,GLdouble y,GLdouble z),參數(shù)x、y、z分別指的是沿x、y、z軸的縮放因子。若x=y=z,此時圖像在xyz軸實現(xiàn)等比例縮放。為了保證圖像不失真,在實際操作中一般我們令x=y=z,以實現(xiàn)三個坐標軸方向上等比例縮放,效果如圖3。

        圖2 點云圖像旋轉(zhuǎn)

        圖3 點云圖像縮放

        3.4 點云圖像渲染

        點云數(shù)據(jù)中除坐標信息XYZ外,還包括顏色等其他信息,單純地根據(jù)坐標信息有時難以識別地物,因此需要顏色信息輔助用戶判讀圖像中的地物或者通過把圖像渲染成特定的顏色來增加視覺效果以方便處理。glColor3f(GLfloat red,GLfloat green,GLfloat blue)函數(shù)提供了設(shè)置點云顏色的功能,參數(shù)red、green、blue分別代表顏色信息RGB的分量。值得注意的是,由于OpenGL中使用的是齊次坐標,因此如果參數(shù)red、green、blue的值大于1,要分別除以255。原始顏色渲染的圖像效果如圖4,自定義顏色渲染的圖像效果如圖5。

        圖4 點云圖像原始顏色渲染

        圖5 點云圖像自定義顏色渲染

        4 結(jié)語

        基于VC6開放的接口功能與OpenGL高效的圖形處理能力,該文將VC6與OpenGL緊密結(jié)合實現(xiàn)了對點云數(shù)據(jù)的顯示、縮放、平移、旋轉(zhuǎn)和渲染等可視化及簡單的用戶操作功能。通過對實測點云數(shù)據(jù)可視化的測試,表明MFC單文檔和 OpenGL在點云可視化與編輯方面有著強大的功能,具有一定的研究價值和應(yīng)用

        價值。

        參考文獻

        [1]Kolluri R,Shewchuk J R,Obrien J F.Spectral surface reconstruction from noisy point clouds.[C]//Eurographics Symposium on Geometry Processing.2004.

        [2]Lee DT,Schachter BJ.Two algorithms for constructing a delaunay triangulation[J].International Journal of Computer and Information Sciences,1980,9(3).

        [3]Hoppe H,DeRose T,Duchamp T,et al.Surface reconstruction from unorganized points.Computer Graphics.1992.

        [4]殷福忠,曲鑫,曲林,等.基于MFC單文檔和OpenGL的激光掃描數(shù)據(jù)可視化與編輯的研究[J].測繪與空間地理信息,2009,32(6).

        [5]劉慧杰,靳海亮.基于VC++的OpenGL三維圖形開發(fā)設(shè)計[J].計算機與數(shù)字工程,2009(7).

        [6]和平鴿工作室編著.OpenGL三維圖形系統(tǒng)開發(fā)與實用技術(shù)[M].重慶大學出版社,2003.

        国产在线一区二区三区av| 久久久免费精品re6| 999久久久国产精品| 国产精品高潮无码毛片| 日韩成精品视频在线观看| 久久久精品人妻一区二区三区妖精| а天堂中文最新一区二区三区| 亚洲爆乳无码专区| 人妻丰满熟妇av一区二区| 亚洲岛国一区二区三区| 国产欧美性成人精品午夜| 精品人人妻人人澡人人爽牛牛| 久国产精品久久精品国产四虎 | 99国产精品视频无码免费| 亚洲高清在线观看免费视频 | 国产毛片黄片一区二区三区 | 91亚洲精品久久久蜜桃| 一区二区三区午夜视频在线| 国产精品久久777777| 自拍偷拍亚洲一区| 精品专区一区二区三区| 超碰国产精品久久国产精品99| a级毛片无码免费真人| 色播中文字幕在线视频| 久久99人妖视频国产| 国99久9在线 | 免费| 在线观看av中文字幕不卡| 情色视频在线观看一区二区三区 | 国产激情无码视频在线播放性色| 六月丁香婷婷色狠狠久久| 亚洲综合色婷婷七月丁香| 久久99天堂av亚洲av| 无码ol丝袜高跟秘书在线观看 | 青青草伊人视频在线观看| 亚洲视频在线一区二区| 精品人妻伦九区久久aaa片69| 一本加勒比hezyo无码视频| 日韩精品一区二区三区人妻在线| 在线观看精品视频网站| 亚洲日韩精品欧美一区二区三区不卡| 成a人片亚洲日本久久|