计算机环境: win7 64bit, Python 2.7 64位, VTK5.8.0,VS2010
1,下载 CMake,选择最新版本。
地址 http://www.cmake.org/cmake/resources/software.html
我选择的是 cmake-3.0.0-win32-x86.exe. 然后安装。一路next即可。
2,下载itk
地址: http://www.itk.org/ITK/resources/software.html
我选择的是 InsightToolkit-4.5.2.zip
新建一个D:\ITK_source目录,将itk下载到该目录下并且解压到当前文件夹。
3, D 盘新建两个文件夹:
D:\I_VTK\ITK_temp_file 用于存放cmake产生的ITK项目文件
D:\I_VTK\ITK 用于保存编译成功后的bin, include, lib等文件
多建立一个 I_VTK目录是为了VTK也可编译在I_VTK这个目录下,为了以后ITK和VTK的混合编程。
4, 打开Cmake进行设置
where is the source code 选择D:/ITK_source/InsightToolkit-4.5.2
where to build the binaries 选择 D:/I_VTK/ITK_temp_file
点击Configure,选择编译器:Visual studio 10 2010 Win64
等待Configure完成(约10分钟)。
cmake的选项中将BUILD TESTING和BUILD EXAMPLES不选。
勾选BUILD_SHARED_LIBS.
勾选Advanced之后更改CMAKE_INSTALL_PREFIX(表示编译ITK后生成的lib 及include等的安装路径)设置为 D:\I_VTK\ITK
再次点击 Configure, 直至所有条目都变成灰色,表示配置成功, 点击Generate确认.
注: cmake还有很多其他选项,初次使用者可以暂且不管,如果需要用到高级功能,再根据需要勾选。例如想使用python写ITK程序,则勾选上python相关选项。(注意也需要安装64位的python)
5, VS 2010编译
使用Debug还是Release? 建议选Release。本人选了Debug以后在第一个例子中总是报一些 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in *.obj 之类的错误。后来改用Release编译就行了。
等待编译的时间比较长。
如果编译中出错,则需要在cmake中重新configure,修改某些选项,重复第四步和第五步。
编译结束后,再右键单击INSTALL项目,单独编译。结束后ITK就安装到了D:\I_VTK\ITK文件夹下。
6,例子程序有两种创建方法,一是使用cmake创建项目文件;二是自己创建项目文件。
以读入并保存一幅rgb图像为例,使用cmake创建项目文件:
在D:\ITK_source\InsightToolkit-4.5.2\Examples\IO文件夹下将RGBImageReadWritec.cxx复制到一个新的文件夹下,例如D:\project\itk_test\RGBImageReadWrite
在该文件夹下创建一个CMakeLists.txt文件,内容如下:
cmake_minimum_required(VERSION 2.4)
# This project is designed to be built outside the Insight source tree.
project(RGBImageReadWrite)
# Find ITK.
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
add_executable(RGBImageReadWrite RGBImageReadWrite.cxx )
target_link_libraries(RGBImageReadWrite ${ITK_LIBRARIES})
打开cmake,配置如下:
where is the source code: D:/project/test/RGBImageReadWrite
where to build the binaries: D:/project/itk_test/RGBImageReadWrite_bin
选择编译器:Visual studio 10 2010 Win64
依次进行Configure和Generate
然后在VS中从D:/project/itk_test/RGBImageReadWrite_bin文件夹下打开项目文件,Release编译。(如果第五步中选的Debug,这里也使用Debug)
7, 自己创建项目文件
VS中创建新的项目,选择空项目。
将RGBImageReadWrite.cxx复制到D:\project\itk_test\RGBImageReadWrite\RGBImage下,将该文件加入到项目中。
编译配置设为Debug或Release(经测试均可),选择x64
设置include和lib路径:
Project-Property-VC++ Directories中,
Include Directories选择D:\I_VTK\ITK\include\ITK-4.5,
library Direcotories选择D:\I_VTK\ITK\lib
Project-Property-Linker-Input中,Additional Dependencies添加D:\I_VTK\ITK\lib目录下的所有lib文件:
ITKBiasCorrection-4.5.lib
ITKBioCell-4.5.lib
ITKCommon-4.5.lib
ITKDICOMParser-4.5.lib
itkdouble-conversion-4.5.lib
ITKEXPAT-4.5.lib
ITKFEM-4.5.lib
itkgdcmCommon-4.5.lib
itkgdcmDICT-4.5.lib
itkgdcmDSED-4.5.lib
itkgdcmIOD-4.5.lib
itkgdcmjpeg12-4.5.lib
itkgdcmjpeg16-4.5.lib
itkgdcmjpeg8-4.5.lib
itkgdcmMSFF-4.5.lib
ITKgiftiio-4.5.lib
itkhdf5-4.5.lib
itkhdf5_cpp-4.5.lib
ITKIOBioRad-4.5.lib
ITKIOBMP-4.5.lib
ITKIOCSV-4.5.lib
ITKIOGDCM-4.5.lib
ITKIOGE-4.5.lib
ITKIOGIPL-4.5.lib
ITKIOHDF5-4.5.lib
ITKIOImageBase-4.5.lib
ITKIOIPL-4.5.lib
ITKIOJPEG-4.5.lib
ITKIOLSM-4.5.lib
ITKIOMesh-4.5.lib
ITKIOMeta-4.5.lib
ITKIOMRC-4.5.lib
ITKIONIFTI-4.5.lib
ITKIONRRD-4.5.lib
ITKIOPNG-4.5.lib
ITKIOSiemens-4.5.lib
ITKIOSpatialObjects-4.5.lib
ITKIOStimulate-4.5.lib
ITKIOTIFF-4.5.lib
ITKIOTransformBase-4.5.lib
ITKIOTransformHDF5-4.5.lib
ITKIOTransformInsightLegacy-4.5.lib
ITKIOTransformMatlab-4.5.lib
ITKIOVTK-4.5.lib
然后编译即可,大功告成。