`
chinamming
  • 浏览: 150266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

VTK三维重建(2)-根据脚部骨骼CT的三维重建和显示

 
阅读更多

原文地址:http://blog.csdn.net/chinamming/article/details/16829569

[效果演示]

根据脚部的骨骼CT扫描的照片,利用VTK完成读取和三维重建.

[程序实现]

void main ()  
{  
  vtkRenderer *aRenderer = vtkRenderer::New();  
  vtkRenderWindow *renWin = vtkRenderWindow::New();  
    renWin->AddRenderer(aRenderer);  
  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();  
    iren->SetRenderWindow(renWin);  
  

  vtkDICOMImageReader *v16 = vtkDICOMImageReader::New();  
    v16->SetDataByteOrderToLittleEndian();  
    v16->SetDirectoryName("Foot-CTs");  
    v16->SetDataSpacing (3.2, 3.2, 1.5);  
  

  vtkContourFilter *skinExtractor = vtkContourFilter::New();  
    skinExtractor->SetInputConnection(v16->GetOutputPort());  
    skinExtractor->SetValue(0, 500);  
  vtkPolyDataNormals *skinNormals = vtkPolyDataNormals::New();  
    skinNormals->SetInputConnection(skinExtractor->GetOutputPort());  
    skinNormals->SetFeatureAngle(60.0);  
  vtkPolyDataMapper *skinMapper = vtkPolyDataMapper::New();  
    skinMapper->SetInputConnection(skinNormals->GetOutputPort());  
    skinMapper->ScalarVisibilityOff();  
  vtkActor *skin = vtkActor::New();  
    skin->SetMapper(skinMapper);  
  

  vtkOutlineFilter *outlineData = vtkOutlineFilter::New();  
    outlineData->SetInputConnection(v16->GetOutputPort());  
  vtkPolyDataMapper *mapOutline = vtkPolyDataMapper::New();  
    mapOutline->SetInputConnection(outlineData->GetOutputPort());  
  vtkActor *outline = vtkActor::New();  
    outline->SetMapper(mapOutline);  
    outline->GetProperty()->SetColor(0,0,0);  
  

  vtkCamera *aCamera = vtkCamera::New();  
    aCamera->SetViewUp (0, 0, -1);  
    aCamera->SetPosition (0, 1, 0);  
    aCamera->SetFocalPoint (0, 0, 0);  
    aCamera->ComputeViewPlaneNormal();  
  

  aRenderer->AddActor(outline);  
  aRenderer->AddActor(skin);  
  aRenderer->SetActiveCamera(aCamera);  
  aRenderer->ResetCamera ();  
  aCamera->Dolly(1.5);  
  

  aRenderer->SetBackground(1,1,1);  
  renWin->SetSize(640, 480);  
  

  aRenderer->ResetCameraClippingRange ();  
  
  // Initialize the event loop and then start it.   
  iren->Initialize();  
  iren->Start();   
  
  v16->Delete();  
  skinExtractor->Delete();  
  skinNormals->Delete();  
  skinMapper->Delete();  
  skin->Delete();  
  outlineData->Delete();  
  mapOutline->Delete();  
  outline->Delete();  
  aCamera->Delete();  
  iren->Delete();  
  renWin->Delete();  
  aRenderer->Delete();  
  
}  

原文地址:http://blog.csdn.net/chinamming/article/details/16829569


版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    vtk三维重建-marching cube

    给定的代码片段展示了如何使用 VTK 库结合 Marching Cubes 算法来从 CT 数据中提取皮肤和骨骼的三维表面。 **关键步骤解释:** 1. **初始化渲染器与窗口**: ```cpp vtkRenderer* arenderer = vtkRenderer::New...

    利用VTK的三维重建

    VTK提供了一系列工具和算法,使得开发者能够高效地进行三维重建工作,例如基于立体匹配的三维重建、深度图像的三维重建等。 在VTK中,实现三维重建首先需要对输入的数据进行预处理。这可能包括图像去噪、边缘检测、...

    vtk 三维重建

    首先,VTK提供了丰富的数据结构和算法,使得开发者能够处理各种类型的数据,如体素数据(如CT或MRI扫描)、表面网格数据等,并进行复杂的三维重建和渲染。在医学领域,三维重建是将二维图像序列转化为三维模型的重要...

    VTK三维可视化--显示点云.py

    在网上鲜有python-vtk实现三维可视化的资源,因此分享以下自己写的东西,水平不够仅供参考!代码利用python-vtk三维可视化模块,读取txt格式的点云数据,并显示,可利用鼠标进行交互。

    三维重建-基于QT+VTK实现的CT图像三维重建算法-项目源码-优质项目实战.zip

    三维重建_基于QT+VTK实现的CT图像三维重建算法_项目源码_优质项目实战

    基于VTK的室外场景三维重建

    室外场景三维重建是一个技术领域,它利用计算机图形学和图像处理技术,从激光扫描仪等设备获取的二维图像或深度数据中,重建三维场景的几何模型。这种三维模型可以广泛应用于城市数字化、自然景观维护、三维游戏、...

    CT三维重建_三维重建_三维_ct_ct三维重建

    在IT领域,尤其是在医学成像技术中,"CT三维重建"是一个重要的概念。CT(Computed Tomography)即计算机断层扫描,它通过X射线对人体内部进行多角度扫描,然后利用计算机处理这些扫描数据,形成二维图像。这些二维...

    VTK对DICOM三维重建代码

    ### VTK对DICOM进行三维重建的知识点解析 #### 一、VTK简介与应用背景 VTK(Visualization Toolkit)是一种开源的、跨平台的软件系统,主要用于三维图形学、图像处理以及可视化技术。它提供了丰富的API接口,支持...

    基于vtk三维重建的代码

    注释非常清晰的一份基于VTK读取点云信息实现三维重建的代码,读取格式包括PCL生成的PCD格式和TXT格式,适合初学者,当然其他格式的点云也是可以的,只要更改一下读取云数据的函数就可以了,有什么不懂的可以问我!...

    基于Qt和VTK实现CT三维重建项目c++源码+项目说明.zip

    基于Qt和VTK实现CT三维重建项目c++源码+项目说明.zip 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能...

    python CT切片图像三维重建(数据和代码).zip

    本教程将深入探讨如何利用Python进行CT切片图像的三维重建,并提供相关数据集和代码,帮助你理解和实践这一技术。 CT扫描产生的图像通常是一系列的二维切片,每个切片代表了体内某一特定深度的断面。为了更好地理解...

    三维重建-使用VTK进行医学影像三维重建项目-优质项目分享.zip

    三维重建_使用VTK进行医学影像三维重建项目_优质项目分享

    DICOM影像VTK三维重建Data

    VTK(Visualization Toolkit)是开源的三维可视化库,广泛用于科学计算和医学图像处理,包括 DICOM 数据的读取、处理和显示。 标题"DICOM影像VTK三维重建Data"涉及到的知识点主要涵盖两个方面:DICOM影像处理和VTK...

    基于VTK的图像三维重建

    总结来说,基于VTK的图像三维重建涉及到的关键技术包括:VTK库的使用、二维图像的处理、移动立方体算法的实现、三维模型的渲染和展示。通过这个过程,我们可以从多个二维切片中构建出逼真的三维模型,这对于医学影像...

    VTK读取30张Dicom图片三维重建.rar_C ,DICOM_dicom重建软件_三维重建 图片_图像 三维重建_图片 三

    **三维重建**:VTK提供了一系列的三维重构算法,例如体绘制(Volume Rendering)、最大密度投影(Maximum Intensity Projection,MIP)和最小密度投影(Minimum Intensity Projection,MinIP)。这些算法将二维切片...

    VTK.js dicom图像三维重建

    VTK.js 实现网页版dicom图像三维重建

    基于VTK的三维点云曲面重建研究

    该算法使用Power Crust对三维点云进行曲面重建,接着对得到的网格进行线性调整、简化和平滑,最后引入VTK进行渲染、绘制、显示,并实时交互。实验结果表明,该算法可以加快散乱点云数据的重建速度,较好地保持了点云...

    三维重建 vtk 图形图像处理 项目 源码

    【三维重建vtk图形图像处理项目源码】是一个与医学成像和计算机图形学相关的实践项目,主要使用VTK(Visualization Toolkit)库进行三维图像的重建和处理。VTK是一个开源的,跨平台的C++类库,用于科学数据可视化。...

    医疗三维重建技术c++,QT

    在医疗领域,三维重建技术是一种重要的工具,它能够将二维的医学影像数据转换为三维模型,从而帮助医生更直观地理解病灶结构和位置。在这个项目中,我们使用C++编程语言,结合QT图形界面库和VTK(Visualization ...

    利用MATLAB软件编程实现三维重建,对CT图像实现三维体绘制

    MATLAB作为一个强大的数学计算和数据分析平台,提供了丰富的工具和函数,使得CT图像的三维重建和三维体绘制成为可能。 三维重建是通过一系列二维切片图像恢复物体三维形状的过程。在MATLAB中,可以采用多种方法实现...

Global site tag (gtag.js) - Google Analytics