999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

散亂點云數據的可視化探究

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

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

關鍵詞:三維激光掃描 點云數據 可視化 OpenGL

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

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

1 開發環境配置

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

1.1 OpenGL介紹

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

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

1.2 OpenGL庫配置文件

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

1.3 Windows下配置OpenGL

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

2 點云數據輸入

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

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

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

3 點云數據顯示

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

圖1 石頭城點云圖像

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

3.1 點云圖像旋轉

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

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

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

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

3.2 點云圖像平移

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

3.3 點云圖像縮放

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

圖2 點云圖像旋轉

圖3 點云圖像縮放

3.4 點云圖像渲染

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

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

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

4 結語

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

價值。

參考文獻

[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的激光掃描數據可視化與編輯的研究[J].測繪與空間地理信息,2009,32(6).

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

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

主站蜘蛛池模板: 日韩无码真实干出血视频| 精品91在线| 亚洲综合二区| 青青久久91| 亚洲综合婷婷激情| 成年人视频一区二区| 麻豆a级片| 在线看免费无码av天堂的| 美女高潮全身流白浆福利区| 激情无码字幕综合| 国产区福利小视频在线观看尤物 | 精品国产中文一级毛片在线看| 亚洲午夜18| 在线观看国产精品日本不卡网| 色偷偷av男人的天堂不卡| 国产大片黄在线观看| 欧美激情首页| 麻豆国产精品一二三在线观看| m男亚洲一区中文字幕| 最新国产网站| 欧美一区福利| 亚洲六月丁香六月婷婷蜜芽| 欧美成人二区| 亚洲男人天堂2020| 国产伦片中文免费观看| 成人年鲁鲁在线观看视频| 热99re99首页精品亚洲五月天| 亚洲首页国产精品丝袜| 538国产视频| jizz亚洲高清在线观看| 久久毛片网| 午夜不卡视频| 国产精品99一区不卡| 久久精品丝袜| 色悠久久综合| 婷婷五月在线视频| 91视频青青草| 亚洲国产精品无码久久一线| 丰满人妻中出白浆| 亚洲精品国产自在现线最新| 中文字幕一区二区人妻电影| 国产农村精品一级毛片视频| 国产全黄a一级毛片| 在线观看免费黄色网址| 婷婷激情亚洲| 免费无遮挡AV| 亚洲成人网在线播放| 欧美日韩午夜| 欧美一区精品| 亚洲欧美在线综合图区| 成人字幕网视频在线观看| 国产精品无码一二三视频| 高清不卡毛片| 韩国v欧美v亚洲v日本v| 婷婷综合在线观看丁香| 国产精品爆乳99久久| 99久久精彩视频| 99精品热视频这里只有精品7| 在线免费亚洲无码视频| 日韩精品毛片人妻AV不卡| 亚洲天堂区| 日本日韩欧美| 国产爽妇精品| a级毛片在线免费观看| 亚洲视频黄| 精品无码一区二区在线观看| 97精品国产高清久久久久蜜芽| 国内精品自在欧美一区| 色综合久久88色综合天天提莫 | 欧美α片免费观看| 日本久久网站| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 一级毛片免费不卡在线视频| 福利一区在线| 国产精品久线在线观看| 国产日本欧美亚洲精品视| 91po国产在线精品免费观看| 日韩欧美网址| 亚洲最大在线观看| 91蜜芽尤物福利在线观看| 伊伊人成亚洲综合人网7777| 成年人国产网站|