ITK 编程步骤示例

使用 ITK, CMake 进行编程, 基本过程如下:

建立文件夹 D:/I_VTK/test/src, D:/I_VTK/test/bin, src 用来存放源程序, bin 为程序编译目标

如下 Hello ITK 示例.

1. 建立 D:/I_VTK/test/src/HelloITK, D:/I_VTK/test/bin/HelloITK

2. 在 HelloITK 目录中,新建文件 HelloWorld.cxx,编写源代码. 新建文件 CMakeLists.txt, 用于 CMake 进行配置.

3. HelloWorld.cxx:

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

   int main()
   {

      //声明图像类型,  像素类型为 unsigned short,  图像维数为 3维
      typedef itk::Image< unsigned short, 3 > ImageType;

 

      //新建一幅图像, 并将其赋值给图像类的智能指针, 智能指针不需要 delete

      //自动释放, ITK 中每一个类基本都提供智能指针, 且使用New() 实例化. 除少数极小的对象不使用智能指针

      ImageType::Pointer image = ImageType::New();

 

      std::cout << "ITK Hello World !" << std::endl;

      return 0;
    }

4. CMakeLists.txt:

     CMAKE_MINIMUM_REQUIRED(VERSION 2.4)               //CMake 最小版本

     PROJECT(HelloWorld)                                                 //工程名

     FIND_PACKAGE(ITK)                                                   //寻找 ITK

     IF(ITK_FOUND)
            INCLUDE(${ITK_USE_FILE})    //找到则使用, 否则需要手动指定 D:/I_VTK/ITK/ITK-3.14.0-bin

     ELSE(ITK_FOUND)
          MESSAGE(FATAL_ERROR
                          "ITK not found. Please set ITK_DIR.") //没有找到,弹出对话框提示
     ENDIF(ITK_FOUND)

 

     ADD_EXECUTABLEHelloWorld HelloWorld.cxx )         //生成可执行文件名, 及需要编译的源文件

 

     //该工程所需要的 ITK 子系统, 该句会生成工程所需的 ITk lib库文件
     TARGET_LINK_LIBRARIES(HelloWorld  ITKCommon)

     注,CMakelists.txt 中是不能出现上述注释的。

5. 使用 CMake 进行配置. 

    Where is the source code: 点击 Browse, 选择    D:/I_VTK/test/src/HelloITK

    Where to build the binaries: 点击 Browse, 选择  D:/I_VTK/test/bin/HelloITK

    Configure, 如果没有找到 ITK 路径, 则需要手动指定: D:/I_VTK/ITK/ITK-3.14.0-bin

    或指定为 D:/I_VTK/ITK/ITK-3.14.0,该路径寻找 ITK 头文件。

    配置成功后, 点击 OK.

6. 打开 D:/I_VTK/test/bin/HelloITK,  使用 VS 2005 编译: HelloWorld.sln

    至此成功.

 

需要注意的是:

     1. CMakelist.txt 的编写, 主要是 TARGET_LINK_LIBRARIES(HelloWorld  ITKCommon)

         工程中用到 ITK 的哪一个子系统, 这里就需要添写那一个, D:/I_VTK/ITK/ITK-3.14.0/Examples

         示例程序提供了大量 ITK 的使用,可以参考.

     2.可以不使用 CMake 进行开发. 这样的话, 就需要手动添加工程所依赖的 lib, xxx.h .

        1)按照通常的方法建立一个 C++ Console 工程, 编写代码.

        2)tool->option->Projects and Solutions->VC++ Directories 选择Include files, 然后在下面

           添加所有需要的 ITK 头文件非常的多, 复杂点的程序可能用到所有路径: D:/I_VTK/ITK/ITK-3.14.0/Code

          目录下所有子目录,以及子目录的子目录

          不使用 CMAKE 自动配置,最好在编译 ITK 后,编译 INSTALL 工程,这样 include, lib 会安装到

          单独的目录,结构比较清晰。

        3)添加所依赖的 lib:  Project-->Properties-->Linker-->Input, 选择 Additional Dependencies,

           添加所需 lib 文件,包括所依赖的 Windows 头文件. 可以查看一个使用前面的方法生成的工程, 可以看到

          依赖的 lib 非常的多,非常麻烦, 所以最好使用 Cmake 进行自动配置.

 

 

你可能感兴趣的:(编程,image,delete,include,iostream,dependencies)