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

        ?

        基于VTK的三維可視化軟件設(shè)計*

        2016-07-23 08:27:24李世虎王明泉陳培興
        山西電子技術(shù) 2016年2期
        關(guān)鍵詞:三維可視化

        李世虎,王明泉,陳培興

        (1.中北大學(xué)動態(tài)測試技術(shù)重點實驗室,山西 太原 030051;2.中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

        ?

        基于VTK的三維可視化軟件設(shè)計*

        李世虎1,2,王明泉1,2,陳培興1,2

        (1.中北大學(xué)動態(tài)測試技術(shù)重點實驗室,山西 太原 030051;2.中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

        摘要:三維可視化有利于直觀觀察物體內(nèi)部細節(jié),是當(dāng)前研究的熱點問題。論文對VTK及三維可視化算法進行分析介紹,以VTK提供的光線合成可視化算法作為接口,結(jié)合MFC設(shè)計實現(xiàn)了三維可視化軟件設(shè)計與開發(fā)。

        關(guān)鍵詞:VTK;三維可視化;MFC

        工業(yè)CT重建在無損探傷檢測領(lǐng)域有重要作用,而三維可視化能夠直觀重現(xiàn)物體復(fù)雜的內(nèi)部結(jié)構(gòu),作為其中的關(guān)鍵環(huán)節(jié)有著十分重要的地位[1]。本文對比體繪制與面繪制方法進行比較,對VTK成像流程做了分析,再對重建數(shù)據(jù)做預(yù)處理,最后選用體繪制方法,使用VTK結(jié)合MFC實現(xiàn)可視化軟件開發(fā),為物體缺陷檢測提供了直觀依據(jù)[2]。

        1三維可視化方法與VTK

        1.1三維可視化方法

        三維可視化方法主要包括體繪制和面繪制[3]。面繪制是以移動立方體算法(Marching Cubes算法)為代表的繪制方法。它主要是通過提取圖像中等值面構(gòu)造三角面片等來刻畫物體輪廓信息進行三維繪制,適用于表面特征明顯的物體。面繪制中,只處理體數(shù)據(jù)場中的部分數(shù)據(jù),因此運算量小、速度快。但也造成了圖像信息的丟失, 可視化數(shù)據(jù)不完整,無法展示出物體的內(nèi)部具體特征信息。

        體繪制是以光線透射算法(Ray Casting算法)為代表的繪制方法[4]。它是對體數(shù)據(jù)場中每一個體素進行處理,運算量較大,繪制速度也相對面繪制慢。體繪制得到的可視化結(jié)果能夠顯示物體內(nèi)部構(gòu)造信息和細節(jié),繪制結(jié)果也相對更加精確。這里因為需要物體內(nèi)部細節(jié),選擇體繪制算法作為可視化方法。

        1.2VTK

        VTK(Visualization Toolkit)是由美國 Kitware公司使用C++開發(fā)的一套集3D圖形學(xué)和可視化等于一體的C++通用可視化類庫。它的代碼是源碼的,可在C++、Tcl/Tk、Jave、Pyhon語言環(huán)境下配合使用[5]。VTK主要包括兩種對象模型:圖形模型對象和可視化模型對象[6]。圖形模型主要是用圖形描述幾何體構(gòu)成的場景;而可視化模型主要把幾何數(shù)據(jù)轉(zhuǎn)換成圖形數(shù)據(jù)及構(gòu)建幾何體。VTK采用流水線機制,并且支持數(shù)據(jù)并行處理[7,8]。如圖1所示,數(shù)據(jù)由數(shù)據(jù)源輸入,經(jīng)過濾波處理(這里可以使多次濾波處理)后,經(jīng)過場景渲染到窗口中:

        圖1 VTK管道流水線

        2圖像預(yù)處理

        這里選取CT掃描固體燃料電磁后,經(jīng)過FDK重建得到的0~730共731幅切片數(shù)據(jù)作為可視化數(shù)據(jù)源進行可視化,該數(shù)據(jù)由國家重大儀器專項提供。這里每幅切片大小為8 033 KB(大小為:1 434*1 434,類型為:float型),總共為5.59 GB的數(shù)據(jù)量。對于一個32位的系統(tǒng)而言,Windows對于每個進程提供4 GB虛擬空間,除去代碼段等,可用空間不足2 GB,顯然,直接加載5.59 GB數(shù)據(jù)進行可視化是不可取的。對于這個問題,眾多學(xué)者為此進行了研究,一種有效的方法是八叉樹算法。

        事實上,多次對選取單層重建切片研究發(fā)現(xiàn),圖片中有大量無效信息,如圖2所示。圖中,除去燃料電池外為無用信息。這里對所有切片進行旋轉(zhuǎn)變換截取,剔除圖像中無用信息,所得如圖3所示。

        圖2 第358副圖像     圖3 數(shù)據(jù)截取后部分圖像

        經(jīng)過以上數(shù)據(jù)截取后,得到圖像總大小為:816 MB(單副切片大小為:425*690,數(shù)據(jù)類型為:float型),這樣以來,數(shù)據(jù)量得到了有效壓縮。

        對三維數(shù)據(jù)的可視化,數(shù)據(jù)量的減小將能帶來更快的可視化速度,甚至達到實時的要求。經(jīng)過研究發(fā)現(xiàn),國內(nèi)LED液晶灰度多為8位,國際上為10位,12位已經(jīng)可以做充足的數(shù)據(jù)變化[9]。顯然,32位float型攜帶的許多信息超出液晶屏所能表達的范圍,這里對其進行多次嘗試后,發(fā)現(xiàn)即使將浮點型數(shù)據(jù)映射到unsigned char的字符型數(shù)據(jù),在顯示器上依然難以分辨,圖4,圖5為選取的兩幅float型壓縮到unsigned char型數(shù)據(jù)前后對比。

        圖4 浮點型數(shù)據(jù)圖像

        圖5 字浮型數(shù)據(jù)圖像    圖6 最終壓縮圖像

        最終得到如圖6所示壓縮圖像,總圖像大小為204 MB,這極大地壓縮了可視化源數(shù)據(jù),當(dāng)然受限于實驗中所用的LED屏,若選用更高級別灰度等級,可以將圖像映射到unsigned short型,這樣一來,數(shù)據(jù)量為408 MB,對于使用VTK來可視化,仍然滿足要求。

        3軟件設(shè)計

        這里使用VTK與MFC結(jié)合基于單文檔多視圖進行三維可視化軟件設(shè)計。本軟件共設(shè)計四個窗口,主窗口進行三維可視化及任意角度切分,其余三個窗口可以聯(lián)動顯示物體沿著X、Y、Z軸方向上任意層切片信息及灰度值,也可以動態(tài)調(diào)整窗寬窗位。這里選用visual studio 2010進行作為開發(fā)工具,參數(shù)輸入均在新增功能Ribbon控件中進行。設(shè)計中,VTK提供了vtkSmartPointer與vtkMFCWindow輔助進行內(nèi)存管理。

        幾個關(guān)鍵步驟為:

        1) 在MainFrm.cpp中,重寫CMainFrame::OnCreateClient()函數(shù),實現(xiàn)多視圖切分;

        2) 在視圖類中,需要重寫OnDraw()函數(shù)、OnSize()函數(shù)、OnCreate()函數(shù)、OnInitialUpdate()函數(shù)等函數(shù)。

        3) 主視圖類中使用SetVolumeRayCastFunction(compositeFunction)來實現(xiàn)光線透射算法中合成算法設(shè)置。

        4) 主視圖類中使用vtkBoxWidget類進行任意角度包圍盒切分。

        5) 多視圖間相互數(shù)據(jù)傳遞及視圖更新通過全局變量及調(diào)用Invalidate()函數(shù)進行。

        6) 對于各切片視圖,這里使用vtkInteractorStyleUser類進行交互,可以較好地定位相機位置。

        7) 在各切片視圖中,需調(diào)用GetActiveCamera()函數(shù)獲取當(dāng)前視圖窗口相機,并調(diào)用相機相應(yīng)的SetViewUp()、Azimuth()、SetViewUp()函數(shù)來調(diào)整相機到合適的視角。

        結(jié)合以上幾個關(guān)鍵步驟,按照VTK提供的管道流水線,結(jié)合單文檔設(shè)計進行軟件編寫,軟件設(shè)計結(jié)果如圖7,8,9所示。

        圖7 軟件讀取燃料電池截圖

        圖8 對燃料電池進行刨切并查看任意層切片

        圖9 對固體火箭發(fā)動機模型的三維可視化

        4總結(jié)

        論文使用VTK與MFC結(jié)合,實現(xiàn)了固體燃料電池三維數(shù)據(jù)的可視化,并可以進行任意角度刨切等功能;另外,軟件同樣在固體火箭發(fā)動機重建數(shù)據(jù)的三維可視化上,也同樣適用,軟件具有一定的應(yīng)用價值。另外,軟件統(tǒng)一選用了合成光線透射算法,功能上稍顯不足,需要進一步進行完善。

        參考文獻

        [1]呂金坤.基于VTK的工業(yè)圖像三維可視化技術(shù)研究[D].太原:中北大學(xué),2013.

        [2]William J Schroeder.The VTK User’s Guide[M].Kitware.USA,2001.

        [3]袁清偉.CT序列圖像三維可視化技術(shù)的研究與實現(xiàn)[D].濟南:山東大學(xué),2009:45-47.

        [4]Levoy M.Display of Surfaces From Volume Data[J].IEEE Computer Graphics and Applications,1988,8(3):29- 37.

        [5]Kitware Inc.Visualizing with VTK a Tutorial[J].IEEE CG &A,2000,9:20-27.

        [6]William Schroeder,Kenneth Martin,Bill Lorensen.The VisualizationToolkit-An Objectoriented to 3D Grapics(Third Edition)[Z].KitwareInc,2002.

        [7]洪濤,潘志方,林立本,等.VTK醫(yī)學(xué)圖像三維重建應(yīng)用及實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2011,20(4):127-131.

        [8]Frédéric Magoulès,Roman Putanowicz.Visualization of Large Data Sets by Mixing Tcl and C++ Interfaces to the VTK Library[J].Computers and Structures,2007,85:536-552.

        [9]黃河鸛雀樓.LED顯示屏灰度等級[EB/OL].http://www.360doc.com/content/10/1007/01/735811_58962384.shtml,2010-10-17/2016-01-07.

        收稿日期:2016-01-19

        基金項目:國家自然基金資助項目(61171177);國家重大儀器設(shè)備開發(fā)專項(2013YQ240803)

        作者簡介:李世虎(1988- ),男,安徽阜陽人,碩士研究生,主要研究方向為三維可視化、GPU重建加速等。

        文章編號:1674- 4578(2016)02- 0064- 03

        中圖分類號:TP391

        文獻標(biāo)識碼:A

        The Design of 3D Visualization Software Based on VTK

        Li Shihu1,2, Wang Mingquan1,2, Chen peixing1,2

        (1.KeyLaboratoriesoftheDynamicTestingTechnology,NorthUniversityofChina,TaiyuanShanxi030051,China;2.SchoolofInformationandCommunicationEngineering,NorthUniversityofChina,TaiyuanShanxi030051,China)

        Abstract:3D visualization is the current research hotspot which can be conducive to intuitively find internal details of objects. This paper analyzes and introduces the VTK and 3D visualization algorithm, gives the ray tracing composite algorithm provided by VTK as an interface, then realizes the design and development of 3D visualization software combined with MFC.

        Key words:VTK; 3D visualization; MFC

        猜你喜歡
        三維可視化
        環(huán)太行山著名旅游景點多媒體導(dǎo)航系統(tǒng)研究與建立①
        科技資訊(2017年18期)2017-07-19 11:02:46
        機器人人機界面的三維可視化設(shè)計
        鐵路線路設(shè)計與技術(shù)發(fā)展探討
        基于Cordova和Cesium的移動3D WebGIS系統(tǒng)實現(xiàn)
        基于三維可視化技術(shù)的云岡石窟文化傳播策略研究與實現(xiàn)
        全球海量空間數(shù)據(jù)綜合管理與服務(wù)系統(tǒng)2013年度技術(shù)總結(jié)報告
        科技資訊(2016年32期)2017-03-31 03:31:28
        基于ArcScene平臺的電子沙盤制作
        科技資訊(2017年2期)2017-03-27 19:00:32
        3D機房運維可視化系統(tǒng)的設(shè)計與實現(xiàn)
        軟件(2016年7期)2017-02-07 16:12:29
        基于Skyline二三維一體可視化系統(tǒng)的探討
        珠江水運(2016年5期)2016-04-14 15:49:27
        ArcScene環(huán)境下遙感圖像三維可視化研究與實現(xiàn)
        科技資訊(2015年20期)2015-10-15 19:26:14
        国内精品久久久久久久久齐齐| 杨幂二区三区免费视频| 国产另类av一区二区三区| 国产精品国产三级国产an不卡| 欧美乱妇高清无乱码免费| 久久久久人妻精品一区蜜桃| 在线视频你懂的国产福利| 亚洲中文字幕有综合久久| 一区二区三区视频免费观看在线 | 揄拍成人国产精品视频| 国产资源在线视频| 韩国无码精品人妻一区二| 蜜桃噜噜一区二区三区| 人妻精品久久久久中文字幕| 人妻体体内射精一区二区| 亚洲午夜精品久久久久久人妖| 精品理论一区二区三区| 亚洲一区二区三区99| 国产丝袜美女| 少妇愉情理伦片丰满丰满午夜| 99久久精品国产一区二区蜜芽| 亚洲αⅴ无码乱码在线观看性色| 麻豆av在线免费观看精品| 在线观看av网站永久| 久久精品国产第一区二区三区| 美女超薄透明丝袜美腿| 一个人的视频免费播放在线观看| 日韩女优av一区二区| 无码人妻丰满熟妇区五十路| 一本一道久久a久久精品综合| 国产精品 精品国内自产拍| 网址视频在线成人亚洲| 精品国品一二三产品区别在线观看| 国产精品麻豆aⅴ人妻| 久久国产乱子伦精品免费强| 97久久综合精品国产丝袜长腿| 国产国语亲子伦亲子| 精品视频一区二区三三区四区| 日本高清一区二区三区视频| 中文字幕av高清人妻| 亚洲日韩v无码中文字幕|