需要环境:opencv2.4.7,vtk6.1,dcmtk3.6,cmake2.8,vs2010,win7 64位旗舰版。vs2010建项目时平台选择x64
1、opencv2.4.7安装指南在网上搜索即可,参考:http://wenku.baidu.com/link?url=BoDxIzvWcZO1DTKXdUg_swwDUr8Qgimm3vIN4wVEsGI5RH3NPYysrH-5uTdwgqG0p1LYVathT4FNOOTAwoTX0649Pem2S9G7Bb8m57Trdqi
2、vtk6.1使用翟师兄的配置文档,也可以参考网上的配置;
(1)VTk下载:http://www.vtk.org/VTK/resources/software.html#latest
我下载的是vtk-6.1.0.zip(源码)、vtkdata-6.1.0.zip(数据)、
既然下载了源码, 就不需要下载win32的安装exe程序了,我们自己手动编译。
(2)、编译
2.1下载cmake-2.8.11.2-win32-x86.exe,并安装。用它来完成VTK的编译。
2.2解压vtk-6.1.0.zip至F:\VTK\VTKsourcecode,
解压vtkdata-6.1.0.zip至F:\VTK\vtkdata
2.3 运行安装后的,CMake程序。
选择source code目录为 F:\VTK\VTKsourcecode
选择build后的bin目录为 F:\VTK\VTKbin
点击Configure按钮,会提示你选择编译器,我们选择visual studio 10 win64.然后Cmake会扫描一下它需要的文件,等它停下来后,我们就可以修改CMake的参数选项了。
2.4 修改CMake的参数(ON,为选勾)
1. build_examples 选ON状态,可以用来学习VTK例子。要是很熟悉VTK了,也可以不选择。
2. BUILD_SHARED_LIBS 选ON状态,可以生成动态链接库dll。后期只需要拷贝到项目中即可使用。OFF的话,会生成静态链接库lib,也可以在项目中使用,初学者可以不选。
3. Module_vtkGUISupportMFC 选ON状态,支持MFC界面。(点击Advanced的参数,才会有该选项)
4. VTK_DATA_ROOT = F:\VTK\vtkdata (点击Advanced的参数,才会有该选项,也可以不设置,不影响编译)
5. CMAKE_INSTALL_PREFIX = C:/Program Files/VTK (CMAKE会自己默认)
然后,再点击Configure按钮, 运行成功之后,页面上的红色将消失,若还有红色,则看看红色选项卡上还需要选中什么,直接选中,然后再运行Configure。
2.5 打开VTK的VS项目 F:\VTK\VTKbin\VTK.sln
1.1. 选择生成->批生产->勾选ALL_BUILD项目的Debug\x64模式,build勾选框。点击build按钮。
1.2、再选择INSTALL项目的Debug\x64模式,点击build按钮。
成功后,VTK环境安装成功
3、dcmtk配置参考网上的;
注意:vtk和dcmtk配置时都是选用cmake进行编译,cmake安装好运行时要以管理员的身份运行进行配置vtk和dcmtk,不然会出错。在用cmake配置好vtk和dcmtk后会生成相关项目,打开vtk和dcmtk的项目,选择bulid的时候,用x64。
在进行三维重建环境搭建时,需要添加opencv,vtk,dcmtk的头文件和库文件,打开vs2010,选择项目属性->c/c++->常规->附加包含目录,这里面是添加所需要的头文件目录。例如,我的是:
在链接器->常规->附加库目录添加所需库文件的目录(lib文件),我的是:
添加好库目录以后,需要在链接器->输入->附加依赖项中添加所需要的lib文件,我把opencv,vtk,dcmtk的所有lib文件都放到里面了,debug下我就加了后缀带d的ib文件,vc11下有两个opencvlib,必不可少,不然会出错如图:
添加完这些后,编译会成功,生成解决方案的时候会出错,显示的是vtk相关的dll丢失,其实是该程序找不到dll,vs2010会在系统环境变量下的目录中找相关文件,找不到就会说丢失,所以,需要在系统的环境变量中添加vtk的dll所在目录,我的是在C:\Program Files\VTK\bin,顺便可以把dcmtk的bin的目录添加进去,之后还是会报msvrc110d.dll,msvcp110.dll报错,是因为我的电脑中丢失了这两个文件,需要在安装了其他vs2010的环境下,在C:\Windows\SysWOW64找到这两个文件,复制到自己电脑上,并将这个目录添加到环境变量中。最后还要报0x000007b,无法启动程序,此时,调用360中msvc*.dll修复工具进行修复,至此编译成功。