日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VTK读取序列化图像

發(fā)布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VTK读取序列化图像 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

vtk獲取內(nèi)存中圖像數(shù)據(jù)

原文鏈接: http://blog.csdn.net/zmy3376365/article/details/7717721

內(nèi)存中有段圖片數(shù)據(jù)??,使用VTK來讀入,然后就可以通過getoutputport()?/getoutput()來獲取了

vtkImageImport *importer = vtkImageImport::New();importer->SetWholeExtent( 0, m_image->width-1, 0, m_image->height-1, 0, 0 );importer->SetDataExtentToWholeExtent();importer->SetDataScalarTypeToUnsignedChar();importer->SetNumberOfScalarComponents(m_image->depth);importer->SetImportVoidPointer(m_image->data);// importer->Update();

vtk讀取dat 、raw等文件,不過文件后綴必須加上.1什么的

vtkVolume16Reader *v16 = vtkVolume16Reader::New();v16->SetDataDimensions(640, 480); //圖像大小v16->SetDataByteOrderToLittleEndian();v16->SetFilePrefix("./0.dat");v16->SetImageRange(1, 1);v16->SetDataSpacing(1.0, 1.0, 1.0);vtkImageResample *sample = vtkImageResample::New();sample->SetInput((vtkDataObject*)v16->GetOutput());sample->SetAxisMagnificationFactor(0, 1.2);sample->SetAxisMagnificationFactor(1, 1.2);vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();vtkImageViewer *viewer = vtkImageViewer::New();viewer->SetupInteractor(iren);viewer->SetInput(sample->GetOutput());

VTKRenderer顯示圖片進行更新切換:

先removeActor

然后addActor

最后Render()

VTK讀取序列化圖像

原文鏈接:http://blog.csdn.net/www_doling_net/article/details/8896598

這個更給力了!!


醫(yī)學(xué)圖像處理的應(yīng)用程序中,經(jīng)常會碰到讀取一個序列圖像的操作。比如CT、MR等所成的圖像都是一個切面一個切面地存儲的,醫(yī)學(xué)圖像處理程序要處理這些數(shù)據(jù),第一步當(dāng)然是把這些數(shù)據(jù)從磁盤等外部存儲介質(zhì)中導(dǎo)入內(nèi)存。

? ? ? ? 利用VTK可以讀取多種格式的圖像文件,支持讀取單個的二維圖像(比如*.BMP、*.JPEG、*.PNG等)或者三維圖像文件(*.VTK、*.mhd、*.mha等),也支持序列圖像文件的導(dǎo)入。下面我們詳細(xì)地講解如何在VTK里實現(xiàn)序列圖像文件的讀取(我們以美國可視人的數(shù)據(jù)做為測試數(shù)據(jù),數(shù)據(jù)可以從這里下載到)。

在講解VTK序列圖像讀取之前,有一個問題需要注意的:就是待讀取的序列圖像的文件名必須是規(guī)則的,比如像下圖所示的。

Tips:涉及到指改文件名的,如果熟悉Dos命令的,直接用rename命令就可以完成;或者是使用一個小軟件Renamer來修改。

?

圖1序列圖像的命名示例

?

方法一:使用SetFileNames()方法讀取序列圖像。

//生成圖像序列的文件名數(shù)組 vtkSmartPointer<vtkStringArray > fileArray = vtkSmartPointer<vtkStringArray >::New(); charfileName[128]; for(inti = 1; i < 20; i++) //幾個圖像就循環(huán)幾次 { sprintf(fileName,"../VisibleWomanHead/VisibleWomanHead_%02d.jpg", i); vtkstd::stringfileStr(fileName); fileArray->InsertNextValue(fileStr); } //讀取JPG序列圖像 vtkSmartPointer<vtkJPEGReader>reader = vtkSmartPointer<vtkJPEGReader>::New(); reader->SetFileNames(fileArray); reader->Update();

說明:要讀取的序列文件是存放在文件夾VisibleWomanHead里的,而且每個圖像的命名規(guī)則是:VisibleWomanHead_01.jpg,VisibleWomanHead_02.jpg……如圖1所示。方法一我們使用了vtkStringArray先構(gòu)建一個包含要讀取的序列圖像文件的文件名數(shù)組,然后調(diào)用vtkJPEGReader里的SetFileNames()方法。方法SetFileNames()是在類vtkImageReader2里實現(xiàn)的,所以大部分VTK圖像的讀取類都可以用這種方法來讀取序列圖像文件。

?

方法二:使用SetFilePrefix()/SetFilePattern()方法讀取序列圖像。

前面我們已經(jīng)提過,在讀取序列圖像文件時,要求序列里的文件名有規(guī)律地命名(如圖1),既然這些文件名有規(guī)律,我們可以采用vtkImageReader2里的方法SetFilePrefix()/SetFilePattern()來讀取序列圖像。

[cpp] view plaincopy vtkSmartPointer<vtkJPEGReader>reader = vtkSmartPointer<vtkJPEGReader>::New(); reader->SetFilePrefix ("D:/Data/VisibleWomanHead/VisibleWomanHead_"); reader->SetFilePattern("%s%02d.jpg"); reader ->SetDataExtent (0,511,0,511,1,20);//圖像大小是512*512 reader->Update();

至于為什么這么寫,你們感受一下就知道了,特別是SetFilePrefix()、SetFilePattern()、SetDataExtent()這幾個函數(shù)的參數(shù)。

方法二:一張一張地讀入,然后合并成一個三維的數(shù)據(jù)體。

[cpp] view plaincopy

vtkSmartPointer<vtkImageAppend > append = vtkSmartPointer<vtkImageAppend >::New(); append->SetAppendAxis(2); vtkSmartPointer<vtkJPEGReader>reader = vtkSmartPointer<vtkJPEGReader>::New(); char fileName[128]; for(int i = 1; i < 21; i++) { sprintf(fileName,"D:/Data/VisibleWomanHead/VisibleWomanHead_%02d.jpg", i); reader->SetFileName(fileName); append->AddInputConnection(reader->GetOutputPort()); }

我們使用類vtkImageAppend做合并的操作,其中方法SetAppendAxis(2)是指定Z軸為讀入的每層圖像數(shù)據(jù)的堆疊方向。其他的代碼你們繼續(xù)感受一下,就不再敘述了。


==========歡迎轉(zhuǎn)載,轉(zhuǎn)載時請保留該聲明信息==========
版權(quán)歸@東靈工作室所有,更多信息請訪問東靈工作室
教程系列導(dǎo)航:http://blog.csdn.net/www_doling_net/article/details/8763686

總結(jié)

以上是生活随笔為你收集整理的VTK读取序列化图像的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品毛片久久久久久 | 国产精品va在线 | 大尺度电影在线 | 国内外成人免费视频 | 天堂素人约啪 | 91精品久久久久久综合五月天 | 91av中文字幕 | 欧美做受69 | 中文字幕5566 | 精品乱人伦一区二区三区 | 免费日本黄色片 | 亚洲精品久久久久久国 | 成人一区二区三区在线 | 中国免费黄色片 | 亚洲精品乱码久久 | 专干老肥女人88av | 日本边添边摸边做边爱 | 青草视频在线免费观看 | 久久久久久9999 | 男人天堂a在线 | 波多野一区二区三区 | 欧美性生交xxxxx久久久 | 国产一区二区视频免费 | 黄色aa网站| 爱爱视频在线免费观看 | 九九久久九九久久 | 理论片大全免费理伦片 | 少妇色 | 欧美精品自拍视频 | feel性丰满白嫩嫩hd | 免费观看高清在线 | www.久久久久 | 日本女人一区二区三区 | 性欧美高清 | 久久国产亚洲 | 日本熟妇色xxxxx日本免费看 | 日韩香蕉网 | 亚洲第一伊人 | 在线免费观看黄色片 | 亚洲福利视频一区二区三区 | 艳母日本动漫在线观看 | 借种(出轨高h) | 欧美中文字幕一区二区三区 | 一区二区在线观看免费 | 自拍三级 | 牲欲强的熟妇农村老妇女视频 | 日本在线不卡一区二区三区 | 毛片动漫 | 亚州av在线播放 | 五月av在线 | 亚洲无码精品一区二区三区 | 精品一久久 | 亚洲第三区 | 国产精品夜夜躁视频 | 久久国产精品免费视频 | 国产精品第100页 | 欧美激情视频一区二区三区不卡 | 丰满大乳少妇在线观看网站 | 国产在线拍 | 国产精品一品二区三区的使用体验 | www.色哟哟 | 欧美激情一区二区三区免费观看 | 亚洲一区二区久久久 | 伊人伊人鲁 | 另类天堂| 国产精品无码专区av在线播放 | 不卡的av片| 久久久久久久久久久久97 | 成人午夜av在线 | 91爱看 | 天天干天天操天天插 | 国产成人黄色 | 激情午夜网 | 国产精品免费久久久 | 日本黄色片免费 | 九九免费视频 | 亚洲激情片 | 国产日韩免费视频 | 在线a网站 | 日韩中文字幕网址 | 久久字幕 | 24小时日本在线www免费的 | 中国少妇乱子伦视频播放 | 国产在线精品自拍 | 波多野结衣一区二区三区免费视频 | 精品人妻无码在线 | 中文字幕亚洲乱码 | 自由成熟xxxx色视频 | 日本黄在线 | 91免费在线视频观看 | 十大污视频 | 91精品国产一区二区 | 自拍亚洲综合 | 九色视频在线观看 | 免费一级黄| 国产噜噜噜 | 国产成人无码AA精品区 | 欧美va天堂 | 国产精品资源网站 |