天天看點

整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳

前言:

一般醫學圖像處理軟體,

所使用的是QT來用作界面UI設計。

ITK進行算法的操作,例如分割。

但是ITK不能用于顯示

是以就需要用VTK來顯示等。

本例子是一個簡單的整合

QT、VTK、ITK的一個Demo,

以供需要的人參考。

操作示例:

程式運作圖:

整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳

QT版本:

整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳

項目屬性頁:

整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳
整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳
整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳

附錄:

搭建好環境,程式可以運作。

這裡可以檢測下VTK和ITK是否配置好。

ITK測試程式:

#include "itkImage.h"
#include <iostream>


int main()
{
	using ImageType = itk::Image< unsigned short, 3 >;
	ImageType::Pointer image = ImageType::New();
	std::cout << "ITK Hello World !" << std::endl;
	return EXIT_SUCCESS;
}
           

VTK測試程式:

#include <vtkSphereSource.h>
 
#include <vtkPolyData.h>
 
#include <vtkSmartPointer.h>
 
#include <vtkPolyDataMapper.h>
 
#include <vtkActor.h>
 
#include <vtkRenderWindow.h>
 
#include <vtkRenderer.h>
 
#include <vtkRenderWindowInteractor.h>
 
 
#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);
 
int main(int, char *[])
 
{
 
    // Create a sphere
 
    vtkSmartPointer<vtkSphereSource> sphereSource =
 
        vtkSmartPointer<vtkSphereSource>::New();
 
    sphereSource->SetCenter(0.0, 0.0, 0.0);
 
    sphereSource->SetRadius(5.0);
 
    //mapper
 
    vtkSmartPointer<vtkPolyDataMapper> mapper =
 
        vtkSmartPointer<vtkPolyDataMapper>::New();
 
    mapper->SetInputConnection(sphereSource->GetOutputPort());
 
    //actor
 
    vtkSmartPointer<vtkActor> actor =
 
        vtkSmartPointer<vtkActor>::New();
 
    actor->SetMapper(mapper);
 
    //renderer ,renderWindow, renderWindowInteractor.
 
    vtkSmartPointer<vtkRenderer> renderer =
 
        vtkSmartPointer<vtkRenderer>::New();
 
    vtkSmartPointer<vtkRenderWindow> renderWindow =
 
        vtkSmartPointer<vtkRenderWindow>::New();
 
    renderWindow->AddRenderer(renderer);
 
    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
 
        vtkSmartPointer<vtkRenderWindowInteractor>::New();
 
    renderWindowInteractor->SetRenderWindow(renderWindow);
 
    renderer->AddActor(actor);
 
    renderer->SetBackground(.3, .6, .3); // Background color green
 
    renderWindow->Render();
 
    renderWindowInteractor->Start();
 
    return EXIT_SUCCESS;
 
}
           

可以自己測試下,自己的環境是否搭建好。

項目下載下傳

整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳

工程檔案下載下傳位址:https://download.csdn.net/download/mdxiaohu/11079236

整合QT、VTK、ITK聯合開發的簡單Demo前言:操作示例:附錄:項目下載下傳

連結:https://pan.baidu.com/s/1SGifpFxpXJ3fS0TF85tlIQ 

提取碼:2rmm 

複制這段内容後打開百度網盤手機App,操作更友善哦

繼續閱讀