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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vtk读取并显示保存图像

發布時間:2023/12/31 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vtk读取并显示保存图像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1):Vtk讀取并顯示圖像:三種方法??

轉載:未知出處

轉載:用VTK顯示平面圖片:http://blog.csdn.net/tonylk/article/details/464881

用到vtkJPEGReader類。

?包含的頭文件:

#include "vtkActor.h" #include "vtkRenderer.h" #include "vtkRenderWindow.h" #include "vtkRenderWindowInteractor.h" #include "vtkImageViewer.h" #include "vtkJPEGReader.h" #include "vtkImageActor.h" #include "vtkInteractorStyleImage.h" #include "vtkActor2D.h" 方法一:

使用vtkImageMapper和vtkAcotor2D來實現

int main(int argc, char **argv) { int extent[6]; vtkJPEGReader *m_reader = vtkJPEGReader::New(); m_reader->SetFileName("C:\\Users\\igst\\Documents\\美圖圖庫\\葉.jpg");m_reader->SetDataByteOrderToLittleEndian(); m_reader->SetDataScalarTypeToUnsignedChar();m_reader->SetFileDimensionality(3); vtkImageMapper *mapper=vtkImageMapper::New();mapper->SetInput(m_reader->GetOutput()); mapper->SetColorLevel(128); mapper->SetColorWindow(256); vtkActor2D *actor=vtkActor2D::New(); actor->SetMapper(mapper); vtkRenderer *m_Renderer = vtkRenderer::New(); vtkRenderWindow *m_RenWin = vtkRenderWindow::New();m_RenWin->AddRenderer(m_Renderer); vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); iren->SetRenderWindow(m_RenWin); vtkInteractorStyleImage *interactor = vtkInteractorStyleImage::New();iren->SetInteractorStyle(interactor); m_Renderer->AddActor(actor); m_Renderer->SetBackground(0.1, 0.2, 0.4); m_RenWin->Render(); m_reader->GetDataExtent(extent);//如果把這條命令放在Render()的前面則無效 m_RenWin->SetSize(extent[1],extent[3]); iren->Initialize(); iren->Start(); return 0;}

結果:

?

?方法二:

使用vtkImageActor類,不需要用vktImageMaper

int main(int argc, char **argv){ vtkJPEGReader *m_reader = vtkJPEGReader::New(); m_reader->SetFileName("C:\\Users\\igst\\Documents\\美圖圖庫\\荷葉.jpg"); m_reader->SetDataByteOrderToLittleEndian(); m_reader->SetDataScalarTypeToUnsignedChar(); m_reader->SetFileDimensionality(3); vtkImageActor *m_Actor = vtkImageActor::New(); m_Actor->SetInput(m_reader->GetOutput()); vtkRenderer *m_Renderer = vtkRenderer::New(); vtkRenderWindow *m_RenWin = vtkRenderWindow::New(); m_RenWin->AddRenderer(m_Renderer); vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); iren->SetRenderWindow(m_RenWin); vtkInteractorStyleImage *interactor = vtkInteractorStyleImage::New(); iren->SetInteractorStyle(interactor); m_Renderer->AddActor(m_Actor); m_Renderer->SetBackground(0.1, 0.2, 0.4); m_RenWin->Render(); iren->Initialize(); iren->Start(); return 0;} 方法三:簡便快速 使用ImageViewer,需要調節窗寬窗位ImageViewer將 vtkRenderWindow, vtkRenderer, vtkActor2D and vtkImageMapper集成在了一起, 不需要再對vtkRenderWindow, vtkRenderer, vtkActor2D and vtkImageMapper定義。int main() {vtkJPEGReader *image=vtkJPEGReader::New();image->SetFileName("C:\\Users\\igst\\Documents\\美圖圖庫\\竹林.jpg");image->SetDataByteOrderToLittleEndian(); image->SetDataScalarTypeToUnsignedChar();vtkImageViewer *pViewer = vtkImageViewer::New();//顯示二維圖形 pViewer->SetColorLevel(128);//設置窗寬窗位, pViewer->SetColorWindow(256);pViewer->SetInput(image->GetOutput()); pViewer->Render();vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); iren->SetRenderWindow(pViewer->GetRenderWindow()); iren->Initialize(); iren->Start(); return 0;}

(2):VTK保存圖片


總結

以上是生活随笔為你收集整理的Vtk读取并显示保存图像的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。