通信工程專業(yè)實(shí)訓(xùn)報(bào)告蒲永德_第1頁
通信工程專業(yè)實(shí)訓(xùn)報(bào)告蒲永德_第2頁
通信工程專業(yè)實(shí)訓(xùn)報(bào)告蒲永德_第3頁
通信工程專業(yè)實(shí)訓(xùn)報(bào)告蒲永德_第4頁
通信工程專業(yè)實(shí)訓(xùn)報(bào)告蒲永德_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 成績: 通信工程專業(yè)實(shí)訓(xùn)報(bào)告工程名稱: 基于VTK的醫(yī)學(xué)圖像處理 學(xué) 號(hào): 0867119245 姓 名: 蒲永德 班 級(jí): 通信082班 指導(dǎo)教師: 趙劍鋒 時(shí)間:2021年 6 月 20 日-2021年 7 月 1 日目 錄第一章 引 言11.1 實(shí)訓(xùn)背景11.2 開發(fā)環(huán)境配置2第二章 軟件功能規(guī)劃3軟件功能32.2 界面設(shè)計(jì)3第三章 功能開發(fā)流程33.1程序執(zhí)行流程33.2 功能實(shí)現(xiàn)方案3第四章 軟件功能展示34.1界面展示34.2 功能展示3第五章 實(shí)訓(xùn)總結(jié)35.1實(shí)訓(xùn)總結(jié)35.2 實(shí)訓(xùn)展望3 第一章 引言1.1 研究背景今天,計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)絡(luò)的飛速開展把社會(huì)的信息化進(jìn)程推向了一

2、個(gè)全新的階段,信息的傳遞與交流已經(jīng)成為整個(gè)現(xiàn)代社會(huì)生活運(yùn)作的重要根底,電子可讀文本大量涌現(xiàn)并成為網(wǎng)絡(luò)時(shí)代主要的信息載體和人們的生活中不可缺的一局部。隨著信息化進(jìn)代的來臨,自然語言處理技術(shù)已逐漸成為一項(xiàng)大從的迫切需求,計(jì)算語言學(xué)的研究也越來越受到人們的重視。自然語言分析技術(shù)Natural Language Parsing一直是計(jì)算語言學(xué)領(lǐng)域一個(gè)根底性的研究課題。大局部自然語言處理系統(tǒng),包括機(jī)器翻譯,文本理解,信息的檢索與過濾,語音識(shí)別與合成,都毫無疑問地會(huì)從高質(zhì)量的分析技術(shù)中受益。從科學(xué)的觀點(diǎn)來看,計(jì)算機(jī)的自然語言分析過程是對(duì)人類語言理解過程的模擬:即根據(jù)一定的語言知識(shí),通常是一具由規(guī)那么、樹或

3、圖組成的形式文法系統(tǒng),將輸入句子的一維線性結(jié)構(gòu)賦予某種二維平面結(jié)構(gòu)解釋;從人工工智能研究的角度來講,這是一個(gè)基于推理的問題求解過程,分析方法那么對(duì)應(yīng)了其推理控制策略。本實(shí)訓(xùn)是在學(xué)校日常課程的根底上,再拓展知識(shí)層面,利用vc+ vtk cmake平臺(tái)實(shí)現(xiàn)位圖的顯示及可視化的3D效果的綜合性設(shè)計(jì)。VTK是一個(gè)開放源碼、自由獲取的軟件系統(tǒng),全世界的數(shù)以千計(jì)的研究人員和開發(fā)人員用它來進(jìn)行3D計(jì)算機(jī)圖形,圖像處理,可視化。VTK包含一個(gè)c+類庫,眾多的翻譯接口層,包括Tcl/Tk,Java,Python。Visualization Toolkit 是一個(gè)用于可視化應(yīng)用程序構(gòu)造與運(yùn)行的支撐環(huán)境,它是在三維

4、函數(shù)庫OpenGL 的根底上采用面向?qū)ο蟮脑O(shè)計(jì)方法開展起來的,它將我們?cè)诳梢暬_發(fā)過程中會(huì)經(jīng)常遇到的細(xì)節(jié)屏蔽起來,并將一些常用的算法封裝起來。比方 Visualization Toolkit 將我們?cè)谕獗碇亟ㄖ斜葦M常見的MarchingCubes 算法封裝起來,以類的形式給我們以支持,這樣我們?cè)趯?duì)三維規(guī)那么點(diǎn)陣數(shù)據(jù)進(jìn)行外表重建時(shí)就不必再重復(fù)編寫MarchingCubes 算法的代碼,而直接使用Visualization Toolkit 中已經(jīng)提供的vtkMarchingCubes 類。 Visualization Toolkit 是給從事可視化應(yīng)用程序開發(fā)工作的研究人員提供直接的技術(shù)支持的一個(gè)

5、強(qiáng)大的可視化開發(fā)工具,它以用戶使用的方便性和靈活性為主要原那么,具有如下的特點(diǎn): 1) 具有強(qiáng)大的三維圖形功能。Visualization Toolkit 既支持基于體素Voxel-basedrendering 的體繪制Volume Rendering又保存了傳統(tǒng)的面繪制,從而在極大的改善可視化效果的同時(shí)又可以充分利用現(xiàn)有的圖形庫和圖形硬件 2) Visualization Toolkit 的體系結(jié)構(gòu)使其具有非常好的流streaming和高速緩存caching 的能力,在處理大量的數(shù)據(jù)時(shí)不必考慮內(nèi)存資源的限制 3) Visualization Toolkit 能夠更好的支持基于網(wǎng)絡(luò)的工具比方J

6、ava 和VRML 隨著Web 和Internet 技術(shù)的開展VisualizationToolkit 有著很好的開展前景 4) 能夠支持多種著色如OpenGL 等 5) Visualization Toolkit 具有設(shè)備無關(guān)性使其代碼具有良好的可移植性6) Visualization Toolkit 中定義了許多宏,這些宏極大的簡化了編程工作并且加強(qiáng)了一致的對(duì)象行為 7) Visualization Toolkit 具有更豐富的數(shù)據(jù)類型,支持對(duì)多種數(shù)據(jù)類型進(jìn)行處理 8) 既可以工作于Windows 操作系統(tǒng)又可以工作于Unix 操作系統(tǒng)極大的方便了用戶。CMake 是個(gè)跨平臺(tái)的自動(dòng)化建構(gòu)系

7、統(tǒng),它用組態(tài)檔控制建構(gòu)過程build process的方式和 Unix 的 Make 相似,只是 CMake 的組態(tài)檔取名為 CmakeLists.txt。Cmake 并不直接建構(gòu)出最終的軟件,而是產(chǎn)生標(biāo)準(zhǔn)的建構(gòu)檔如 Unix 的 Makefile 或 Windows Visual C+ 的 projects/workspaces,然后再依一般的建構(gòu)方式使用。這使得熟悉某個(gè)集成開發(fā)環(huán)境IDE的開發(fā)者可以用標(biāo)準(zhǔn)的方式建構(gòu)他的軟件,這種可以使用各平臺(tái)的原生建構(gòu)系統(tǒng)的能力是 CMake 和 SCons 等其他類似系統(tǒng)的區(qū)別之處。CMake 可以編譯源代碼、制作程式庫、產(chǎn)生適配器wrapper、還可以

8、用任意的順序建構(gòu)執(zhí)行檔。CMake 支援 in-place 建構(gòu)二進(jìn)檔和源代碼在同一個(gè)目錄樹中和 out-of-place 建構(gòu)二進(jìn)檔在別的目錄里,因此可以很容易從同一個(gè)源代碼目錄樹中建構(gòu)出多個(gè)二進(jìn)檔。CMake 也支援靜態(tài)與動(dòng)態(tài)程式庫的建構(gòu)。 “CMake這個(gè)名字是“cross platform make的縮寫。雖然名字中含有“make,但是CMake和Unix上常見的“make系統(tǒng)是分開的,而且更為高階。 的安裝和環(huán)境配置12 解壓安裝包并運(yùn)行cmake-win32-x86安裝cmake3 將安裝路徑改為D:/CMAKE 1下載 ITK: :/ /ITK/resources/

9、software.html , 這里下載的版本是 InsightToolkit-2. 在 D 盤新建文件夾: D:I_VTKITK , 之所以要多建立一個(gè) ITK 文件夾, 是為了以后 ITK, VTK 混合編程, 4. 解壓 InsightToolkit-.tar.gz 到 D:I_VTKITK, 重命名為ITK-3.14.0, 即 D:I_VTKITKITK-3.14.0source code directory5. 再建立一文件夾 ITK-bin, 作為 ITK 編譯目標(biāo). D:I_VTKITKITK-3.14.0-bin (binary code directiory)再建立一新文件夾

10、 bin, 用于安裝 ITK 生成的例如程序執(zhí)行文件, bin 文件夾可以不建立,不進(jìn)行安裝。6. 翻開 CMAKE 進(jìn)行配置. 假設(shè)你已經(jīng)安裝好 VS2021Where is the source code: 點(diǎn)擊 Browse, 選擇剛剛 ITK 源碼目錄: D:I_VTKITKITK- Where to build the binaries: 點(diǎn)擊 Browse, 選擇 ITK 編譯目標(biāo): D:I_VTKITKITK-bin7.點(diǎn)擊 Configure 進(jìn)行配置, 選擇編譯器,這里選擇 Visual stdio 8 2005, VC6 配置,編譯的速度都太慢,不見意使用.將 BUILD_

11、DOXYGEN, BUILD_EXAMPLES, BUILD_SHARED_LIBS, BUILD_TESTING 都設(shè)置為 OFF. 再點(diǎn)擊 Configure, 直至所有條目都變成灰色,表示配置成功, 點(diǎn)擊 OK 確認(rèn).8. 編譯ITK,在 D:I_VTKITKITK-bin 目錄下找到 ITK.sln, 點(diǎn)擊,使用 VS2021 進(jìn)行編譯. 如果選擇ITK 選項(xiàng)里面的EXAMPLES 和生成動(dòng)態(tài)LIB 文件的選擇ON 編譯時(shí)間那么相對(duì)較長,生成的庫也比擬大。這里默認(rèn)是不進(jìn)行安裝的,可以點(diǎn)擊 Build->Configure Manager, 將工程 INSTALL 選上。3. Mi

12、crosoft Visual Studio 2021的安裝Microsoft Visual Studio 2021壓縮包,并運(yùn)行安裝程序 2.選中要安裝的工程,并設(shè)置安裝路徑為"C:Program FilesMicrosoft Visual Studio 9.0" 3.等待安裝完成并運(yùn)行Microsoft Visual Studio 2021.exe第二章軟件功能規(guī)劃件功能1. 用C+語言實(shí)現(xiàn)bmp格式圖片的讀入和顯示。2. 實(shí)現(xiàn)簡單的幾何題的三維顯示。3. 實(shí)現(xiàn)將BMP圖像進(jìn)行簡單的3D化并進(jìn)行顯示。4. 實(shí)現(xiàn)一些簡單的交互功能 如:圖片/圖形的放大縮小,拖動(dòng)圖片實(shí)現(xiàn)不同

13、角度的觀測(cè)。由于時(shí)間倉促,界面設(shè)計(jì)的很簡單,僅將同一窗口分為三個(gè)不同的顯示區(qū)域,以用于同時(shí)顯示三維幾何體、BMP圖片以及BMP圖片3D化后的顯示。界面的設(shè)計(jì)主要用到了vtkRenderer的SetViewportdouble, double, double, double),其主要功能為將一個(gè)窗口分為幾個(gè)不同的窗口,其參數(shù)的主要含義為所在x軸的最小值,所在y軸的最小值,所在x軸的最大值,所在y軸的最大值實(shí)現(xiàn)代碼如下:renderer->SetViewport(0.0,0.0,0.33,1.0);renderer1->SetViewport(0.33,0.0,0.66,1.0);re

14、nderer2->SetViewport(0.66,0.0,1.0,1.0);設(shè)計(jì)圖如下:三維幾何體顯示Bmp位圖3D化效果顯示Bmp位圖顯示第三章 功能開發(fā)流程VTK的可視化設(shè)計(jì)是基于管線流的設(shè)計(jì)模式,將要處理的數(shù)據(jù)作為流動(dòng)介質(zhì)在管線中流動(dòng),不同的階段對(duì)數(shù)據(jù)有不同的處理方式,VTK的可視化管線主要由圖形模型和可視化模型組成, 可視化模型主要對(duì)數(shù)據(jù)進(jìn)行處理,生成可被繪制的幾何體,而圖形模型主要對(duì)生成的幾何體進(jìn)行繪制,在VTK的可視化管線中所包含的對(duì)象一般包括:源對(duì)象、過濾器對(duì)象可選、映射器對(duì)象、Props對(duì)象、繪制器對(duì)象、繪制窗口,其中 源對(duì)象、過濾器對(duì)象可選、映射器

15、對(duì)象 、繪制器對(duì)象、繪制窗口為處理對(duì)象, Props對(duì)象為數(shù)據(jù)對(duì)象,映射器對(duì)象是可視化模型和圖形模型的接口。顯示功能的實(shí)現(xiàn)vtkRenderWindow, 管理顯示設(shè)備上的窗口, 一個(gè)或多個(gè)繪制方 法可在渲染窗口上創(chuàng)立一個(gè)場(chǎng)景。渲染窗口是用戶圖形界面, 其中包括 了設(shè)置渲染窗口的大小, 產(chǎn)生立體顯示效果等的方法。vtkRenderer,作用是管理光源、照相機(jī)和繪制對(duì)象等的位置、屬性等; 提供 世界坐標(biāo)系, 觀察坐標(biāo)系及顯示坐標(biāo)系之間的轉(zhuǎn)換。建立好一個(gè)Renderer 后將其參加RenderWindow中即可將場(chǎng)景顯示出來。vtkActor代表渲染場(chǎng)景中的繪制對(duì)象實(shí)體,通過參

16、數(shù)的調(diào)節(jié)可以設(shè)置角色的位置方向, 渲染 特性(Property),引用(renference),紋理影射(Texture)等屬性,并可對(duì)Actor進(jìn)行放縮。角色 的改變是通過一個(gè)4*4的變換矩陣實(shí)現(xiàn)的。vtkMapper指定了渲染數(shù)據(jù)和圖形庫中根本圖元之間的聯(lián)系。實(shí)現(xiàn)代碼如下:vtkRenderer *renderer = vtkRenderer:New();/創(chuàng)立繪制器對(duì)象vtkRenderWindow *renWin = vtkRenderWindow:New();renWin->SetSize(900,400);renWin->Render();/創(chuàng)立繪制窗口vtkRende

17、rWindowInteractor *iren = vtkRenderWindowInteractor:New();/創(chuàng)立交互器vtkPolyDataMapper *mapper;mapper = vtkPolyDataMapper:New();/創(chuàng)立映射器對(duì)象vtkActor *Actor;Actor = vtkActor:New();/創(chuàng)立對(duì)象(Actor)三維幾何體的創(chuàng)立及顯示本程序所顯示的三維幾何體為簡單的三維圓錐,用到了VTK數(shù)據(jù)源中vtkConeSource。其主要功能為在指定的中心點(diǎn),創(chuàng)立一個(gè)指向一個(gè)特定方向的圓錐。默認(rèn)情況下,該中心是原點(diǎn)和方向是X軸。在創(chuàng)立時(shí)可以進(jìn)行分辨率的設(shè)

18、置,如分辨率resolution=0,那么創(chuàng)立一個(gè)三角形,如分辨率resolution= 2,那么創(chuàng)立兩個(gè)交叉的三角形,如分辨率resolution>2,那么創(chuàng)立一個(gè)三角錐。并且可以通過其成員函數(shù)對(duì)其具體參數(shù)進(jìn)行設(shè)置如SetHeight (double)可對(duì)錐的高度進(jìn)行設(shè)置,SetRadius (double)為設(shè)置設(shè)置錐底半徑等等。創(chuàng)立圓錐的代碼如下:vtkConeSource *cone;cone = vtkConeSource:New();/創(chuàng)立一個(gè)圓錐cone->SetHeight( 3.0 );cone->SetRadius( 1.0 );/ 設(shè)置錐底半徑cone-

19、>SetResolution( 10 );/設(shè)置分辨率為10顯示圓錐的代碼如下:vtkRenderer *renderer;renderer = vtkRenderer:New();renWin->AddRenderer(this->renderer);vtkPolyDataMapper *mapper;mapper = vtkPolyDataMapper:New();mapper->SetInputConnection(this->cone->GetOutputPort(); vtkActor *Actor;Actor = vtkActor:New();A

20、ctor->SetMapper(this->mapper);renderer->AddActor(this->Actor); /將Actor對(duì)象添加到繪制器中renderer->SetBackground(0.2,0.4,0.3); /設(shè)置背景顏色renWin->Render(); /繪制renWin->Delete();renderer->Delete();cone->Delete();mapper->Delete();Actor->Delete();/刪除對(duì)象讀取BMP位圖及顯示 讀取BMP圖片文件用到了vtkBMPRead

21、er,BMPReader創(chuàng)立結(jié)構(gòu)點(diǎn)的數(shù)據(jù)集。該數(shù)據(jù)集的尺寸取決于讀取的文件數(shù),讀取二維圖像讀一個(gè)文件的結(jié)果,讀取三維圖形多個(gè)文件的結(jié)果,本程序只用到了讀取二維圖像。 讀取圖片的代碼如下:vtkBMPReader *reader; reader = vtkBMPReader:New();/創(chuàng)立一個(gè)vtkBMPReader reader->SetFileName("F:/mm.bmp");/設(shè)置圖片的路徑及文件名 reader->Update();/更新reader 顯示圖片的代碼如下: vtkPolyDataMapper *mapper2;mapper2 = vt

22、kPolyDataMapper:New(); mapper2->SetInput(vtkPolyData *)(this->reader->GetOutput();vtkRenderer *renderer2;renderer2 = vtkRenderer:New();renWin->AddRenderer(this->renderer2);mapper2 = vtkPolyDataMapper:New(); mapper2->SetInput(vtkPolyData *)(this->reader->GetOutput();Actor2 = v

23、tkImageActor:New(); Actor2->SetInput(this->reader->GetOutput();renderer2->AddActor(this->Actor2); /將Actor對(duì)象添加到繪制器中renderer2->SetBackground(0.2,0.4,0.0);/設(shè)置背景顏色renWin->Render();/繪制renWin->Delete();reader->Delete();renderer2->Delete();mapper2->Delete();Actor2->Delet

24、e();/刪除對(duì)象BMP位圖的簡單3D化及顯示該功能主要用到了vtkImageDataGeometryFilter和vtkWarpScalar。vtkImageDataGeometryFilter是一個(gè)過濾器,提取數(shù)據(jù)集中點(diǎn)的幾何結(jié)構(gòu),通過指定適當(dāng)IJK指數(shù),它可以提取一個(gè)點(diǎn),線,面即形象,還是“量的數(shù)據(jù)集。vtkWarpScalar也是一個(gè)過濾器,對(duì)圖像數(shù)據(jù)進(jìn)行處理使圖像變?yōu)槿S實(shí)現(xiàn)數(shù)據(jù)的提取及三維化的代碼如下:vtkBMPReader *reader; reader = vtkBMPReader:New();/創(chuàng)立一個(gè)vtkBMPReader reader->SetFileName(

25、"F:/mm.bmp");/設(shè)置圖片的路徑及文件名 reader->Update();/更新readervtkImageDataGeometryFilter *geo; vtkWarpScalar *scalar;geo = vtkImageDataGeometryFilter:New();geo->SetInput(vtkDataObject*)(this->reader->GetOutput();scalar = vtkWarpScalar:New();scalar->SetInput(this->geo->GetOutput(

26、);scalar->SetScaleFactor(0.5);顯示的代碼如下:mapper1 = vtkPolyDataMapper:New();mapper1->SetInput(this->scalar->GetPolyDataOutput();Actor1 = vtkActor:New();Actor1->SetMapper(this->mapper1);renderer1->AddActor(this->Actor1); renderer1->SetBackground(0.2,0.4,0.6);renderer1->SetViewport(0.33,0.0,0.66,1.0);renWin->SetSize(900,400);renWin->Render()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論