详细流程:
1、下载ITK
从官网上下载最新版本:http://www.itk.org/ITK/resources/software.html,此处下载的是InsightToolkit-4.13.2.tar.gz
2、安装
1、解压到你所需的安装的位置:如解压到/home/xuli/文档/ITK文件夹下,然后在ITK文件夹下——新建build文件夹,
2、打开终端,输入
cmake-gui
填写源码和编译的路径,单击"configure":
其中安装路径我自己定义在了:/usr/local/InsightToolkit-4.13.2,
sudo mkdir InsightToolkit-4.13.2
按自己的需求修改配置文件,下面的配置仅供参考:
1、BUILD_EXAMPLES = ON\ 这个随意啊
2、BUILD_SHARED_LIBS=ON
3、CMAKE_BUILD_TYPE =Release
4、CMAKE_INSTALL_PREFIX=/usr/local/InsightToolkit-4.13.2
5、###选中Module_ITKVtkGlue项, 否则在进行VTK和ITK混合编程时,遇到类似无法打开itkImageToVTKImageFilter.h源文件错误。但是我这选了,下面编译就不通过报什么用fpic重新编译,奇了怪了,后来我又把这个勾去了重来
6、选中Module_ITKReview项
解决进行VTK和ITK混合编程时参考链接:https://www.cnblogs.com/donglinjia/p/5725192.html
无法打开包括文件:“itkImageToVTKImageFilter.h”: No such file or directory
这是使用itk vtk时出现了这个问题,因为我选中Module_ITKVtkGlue项,所以不会自动的搜索到相应东西
直接在ITK源码下搜索itkImageToVTKImageFilter.h 以及itkImageToVTKImageFilter.hxx文件,copy到该工程编译的qtbuild/ITKFactoryRegistration文件夹下即可。然后一番操作不细讲了,终于把在ITK读取图片,vtk上面显示这个程序运行起来了
但是!
再过了半年用CMake编译ITK时,选中Module_ITKVtkGlue项它又可以了:
呵呵…
输入:
sudo make -j8
继续输入:
sudo make install
安装完成,撒花!
3、配置
1、 配置ITK编译环境
sudo vim /etc/ld.so.conf.d/ITK.conf
在该文件(可能是空文件)末尾加上:(按“I”进入编辑模式)
/usr/local/InsightToolkit-4.13.2/lib
如果要退出vim,先按esc键退出编辑模式。左下角无任何提示,接着英文状态下 shift加上: 号 ,左下方显示冒号。输入wq保存退出。
再执行以下命令使刚才配置的路径生效:
sudo ldconfig
接着我们来配置bash,终端输入:
sudo gedit /etc/bash.bashrc
然后添加环境变量PKG_CONFIG_PATH到~/.bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/InsightToolkit-4.13.2/lib/pkgconfig
export PKG_CONFIG_PATH=/usr/local/InsightToolkit-4.13.2/lib
#fi 这次加上fi 不知道咋就说有————- 未预期的符号 `fi’ 附近有语法错误,咋回事嘛
然后保存退出
然后执行如下命令使得配置生效
source /etc/bash.bashrc
2、在运行程序的时候添加itk-dir的两种方式:
这种情况应该是在上面bash没有进行设置的时候才需要额外下面的操作吧?因为我第一次在Ubuntu16.04系统安装ITK时安装在了系统默认的路径下,很多设置都不需要进行。。。。
法1:
法2:
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
project(ITKImageReader)
set(ITK_DIR "/usr/local/InsightToolkit-4.13.2/lib/cmake/ITK-4.13") #加上它就好
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
add_executable(${PROJECT_NAME} ITKImageReader.cxx)
target_link_libraries(${PROJECT_NAME} ${ITK_LIBRARIES})
4、增加模块
4.1 #include <itkOpenCVImageBridge.h>
Search栏输入opencv,找到相应模块Module_ItkVideoBridgeOpenCV,勾选,再次configure,
遇见问题:
解决方案:
重新编译opencv 和itk即可。修改了itk中opencv的路径
其中,针对cmake编译OpenCV无法下载ADE文件,参考下面链接修改即可。 https://blog.csdn.net/YannicHe/article/details/129549086