Visual Studio 2013编译OpenCV3.0+ITK-SNAP
来源:互联网 发布:北京网络推广培训 编辑:程序博客网 时间:2024/06/07 20:00
1.CMake编译OpenCV源码
从Github下载源码OpenCV。
打开CMake编译,需要VTK的支持,由于VTK7.0取消了OpenGL,改为OpenGL2,因此如果出现缺少vtkRenderingOpenGL错误,需要在OpenCV的CMake文件进行相应修改, 打开D:\opencv-3.0.0\cmake\OpenCVDetectVTK.cmake,在第6行将vtkRenderingOpenGL改为vtkRenderingOpenGL2,随后即可成功Configure/Generate,Github的最新版本修正了这一错误。
注意:在BUILD中取消不需要的组件,比如opencv_viz和python,勾选BUILD_opencv_world。
2.生成OpenCV
用VS2013打开OpenCV.sln,先后生成ALL_BUILD和INSTALL。
注意:生成过程中可能会发生卡顿等现象,稍等即可。
OpenCV的所有头文件和lib库安装到了D:\OpenCV3.0\install目录下,使用时需配置附加包含目录:
D:\OpenCV3.0\install\include\opencv2D:\OpenCV3.0\install\include\opencvD:\OpenCV3.0\install\include附加库目录:
D:\OpenCV3.0\install\x64\vc12\lib
附加依赖项:
opencv_world320d.lib
D:\OpenCV3.0\install\x64\vc12\bin
3.CMake编译ITK-SNAP
Github上最新版的ITK-SNAP缺少Submodules里面的内容,因此需要用Github命令行工具,进入ITK-SNAP源码目录,使用如下命令更新:
git submodule initgit submodule update
此外还需要OpenCV,ITK以及ITKOpenCVBridge的支持,因此需要先对ITK进行编译,加入OPENCV_DIR,并且选中模块Module_ITKVideoBridgeOpenCV,编译后在ITK中生成相应模块。
为了避免出现VTK和QT相关错误,最好根据Building ITK-SNAP选择第三方库的版本,即VTK6.3.0,QT5以上,不要选择SNAP_WITH_QT4。
因此对ITK中的ITKVtkGlue模块而言,如果之前不是用VTK6.3.0的话,需要在CMake中修改VTK_DIR为VTK6.3.0-build目录重新编译生成,然后再编译ITK-SNAP,这样在ITK-SNAP中,自动会配置好跟VTK6.3.0相关的属性。
CMake编译ITK-SNAP,需要选择ITK_DIR,OPENCV_DIR,QT的qmake.exe路径进行编译。
4.生成ITK-SNAP
打开SNAP.sln生成工程,D:\ITK-SNAP\SNAPCommon.cxx总是存在缺少引号的错误,需要补全右半部分:
// Build date - shown to help debugging nightly buildsconst char SNAPBuildDate[] = "2017/03/20?";至此生成成功,运行即可。
5.错误分析
1.D:\itk-snap-src\GUI\Qt\Components\SNAPQtCommon.cxx(560): error C2146: 语法错误: 缺少“)”(在标识符“Ctrl”的前面)
经过在网上搜索SNAPQtCommon.cxx文件可知,其中前半部分均是乱码,而工程中打开的有些用QChar()转换了,出错地方没有,暂时先注释掉,忽略该错误,待以后有问题再详细解决。
2.找不到vtk相关的.dll文件
在Path中加入.dll所在目录,比如:D:\VTK-6.3.0-build\bin\Debug
3.itksnapui_model.lib和itksnapui_qt.lib无法LINK到vtk相关的
找到相关项目,配置附加库目录为vtk6.3.0的lib目录,附加依赖项itksnapui_model加入
vtkCommonCore-6.3.lib;vtkRenderingCore-6.3.lib;itksnapui_qt只需加入
vtkCommonCore-6.3.lib下面是vtk6.3.0的所有lib库,并不都需要,仅在此罗列,以防不时之需。
kernel32.libuser32.libgdi32.libwinspool.libshell32.libole32.liboleaut32.libuuid.libcomdlg32.libadvapi32.libcomctl32.libvfw32.libws2_32.libwsock32.libopengl32.libvtkalglib-6.3.libvtkChartsCore-6.3.libvtkCommonColor-6.3.libvtkCommonComputationalGeometry-6.3.libvtkCommonCore-6.3.libvtkCommonDataModel-6.3.libvtkCommonExecutionModel-6.3.libvtkCommonMath-6.3.libvtkCommonMisc-6.3.libvtkCommonSystem-6.3.libvtkCommonTransforms-6.3.libvtkDICOMParser-6.3.libvtkDomainsChemistry-6.3.libvtkexoIIc-6.3.libvtkexpat-6.3.libvtkFiltersAMR-6.3.libvtkFiltersCore-6.3.libvtkFiltersExtraction-6.3.libvtkFiltersFlowPaths-6.3.libvtkFiltersGeneral-6.3.libvtkFiltersGeneric-6.3.libvtkFiltersGeometry-6.3.libvtkFiltersHybrid-6.3.libvtkFiltersHyperTree-6.3.libvtkFiltersImaging-6.3.libvtkFiltersModeling-6.3.libvtkFiltersParallel-6.3.libvtkFiltersParallelImaging-6.3.libvtkFiltersProgrammable-6.3.libvtkFiltersSelection-6.3.libvtkFiltersSMP-6.3.libvtkFiltersSources-6.3.libvtkFiltersStatistics-6.3.libvtkFiltersTexture-6.3.libvtkFiltersVerdict-6.3.libvtkfreetype-6.3.libvtkGeovisCore-6.3.libvtkgl2ps-6.3.libvtkGUISupportQt-6.3.libvtkGUISupportQtOpenGL-6.3.libvtkGUISupportQtSQL-6.3.libvtkhdf5_hl-6.3.libvtkhdf5-6.3.libvtkImagingColor-6.3.libvtkImagingCore-6.3.libvtkImagingFourier-6.3.libvtkImagingGeneral-6.3.libvtkImagingHybrid-6.3.libvtkImagingMath-6.3.libvtkImagingMorphological-6.3.libvtkImagingSources-6.3.libvtkImagingStatistics-6.3.libvtkImagingStencil-6.3.libvtkInfovisCore-6.3.libvtkInfovisLayout-6.3.libvtkInteractionImage-6.3.libvtkInteractionStyle-6.3.libvtkInteractionWidgets-6.3.libvtkIOAMR-6.3.libvtkIOCore-6.3.libvtkIOEnSight-6.3.libvtkIOExodus-6.3.libvtkIOExport-6.3.libvtkIOGeometry-6.3.libvtkIOImage-6.3.libvtkIOImport-6.3.libvtkIOInfovis-6.3.libvtkIOLegacy-6.3.libvtkIOLSDyna-6.3.libvtkIOMINC-6.3.libvtkIOMovie-6.3.libvtkIONetCDF-6.3.libvtkIOParallel-6.3.libvtkIOParallelXML-6.3.libvtkIOPLY-6.3.libvtkIOSQL-6.3.libvtkIOVideo-6.3.libvtkIOXML-6.3.libvtkIOXMLParser-6.3.libvtkjpeg-6.3.libvtkjsoncpp-6.3.libvtklibxml2-6.3.libvtkmetaio-6.3.libvtkNetCDF_cxx-6.3.libvtkNetCDF-6.3.libvtkoggtheora-6.3.libvtkParallelCore-6.3.libvtkpng-6.3.libvtkproj4-6.3.libvtkRenderingAnnotation-6.3.libvtkRenderingContext2D-6.3.libvtkRenderingContextOpenGL-6.3.libvtkRenderingCore-6.3.libvtkRenderingFreeType-6.3.libvtkRenderingGL2PS-6.3.libvtkRenderingImage-6.3.libvtkRenderingLabel-6.3.libvtkRenderingLIC-6.3.libvtkRenderingLOD-6.3.libvtkRenderingOpenGL-6.3.libvtkRenderingQt-6.3.libvtkRenderingVolume-6.3.libvtkRenderingVolumeOpenGL-6.3.libvtksqlite-6.3.libvtksys-6.3.libvtktiff-6.3.libvtkverdict-6.3.libvtkViewsContext2D-6.3.libvtkViewsCore-6.3.libvtkViewsInfovis-6.3.libvtkViewsQt-6.3.libvtkzlib-6.3.lib
6.参考文献
win10X64 + vs2015通过Cmake编译Opencv
ITK-SNAP Medical Image Segmentation Tool
0 0
- Visual Studio 2013编译OpenCV3.0+ITK-SNAP
- Visual Studio+OpenCV3.2+CMake编译;Matlab+mexopencv混编
- Visual Studio 2013 环境下部署、设置 openCV3.0rc 开发环境
- opencv3.0&win7专业版Severice Pack1&visual studio 2013错误解决办法
- Win7系统Visual Studio 2013配置OpenCV3.1图文详解
- Visual Studio 2013下配置Opencv3.2 和CMAKE问题
- Win10+Visual Studio 2015Proofessional+opencv3.0完美配置
- OpenCV3.0 Beta + Windows10 + Visual Studio 2015 配置
- Visual studio 2017+Kinect2.0+opencv3.2.0 配置
- Visual Studio 2013编译ImageMagick
- Visual Studio 2013编译log4cplus
- Visual Studio 2013编译Triangle
- Visual Studio 2015一分钟配置opencv及CMake编译OpenCV3.1(含opencv-contrib)
- ITK编译
- ITK SNAP打开三维图像分割结果
- visual studio 2012 配置opencv3.0.0
- Visual Studio 2015配置OpenCV3.2
- Windows下Visual Studio配置OpenCV3
- VI 快捷键for MAC
- #03 ASP.NET主题
- OJ 高精度加法
- 内部体验腾讯云负载均衡的新功能
- tcp jprobe 利用问题定位
- Visual Studio 2013编译OpenCV3.0+ITK-SNAP
- 对点书系统的第一次改进
- 判断IPV6地址格式是否正确
- Linux任务计划crontab
- 自我介绍
- CodeForces
- 关于springMVC重定向问题
- 塔防大战unity5.5版本系列(part10)
- 深入理解javascript原型和闭包(7)——原型的灵活性