opencv + opencv_contrib + VTK编译

opencv + opencv_contrib + VTK编译

编译环境:opencv3.3.1、opencv_contrib3.3.1、VTK-6.3.0、cmake3.11.0-rc2。
注意:opencv与opencv_contrib的版本要一致。
各版本opencv对应的opencv_contrib 链接:
link
使用VTK是为了编译出opencv中的viz库

第一步

把opencv3.3.1、opencv_contrib3.3.1、VTK-6.3.0放到同一文件夹下,新建VTKBiuld、opencvBiuld两个文件夹,用于编译VTK和opencv。如图1所示。
opencv + opencv_contrib + VTK编译

第二步 打开Cmake-gui进行配置VTK

勾选如图3所示的五项,点击configure按钮。没有红色标识后,点击generate按钮,如图4所示。如果有红色,就再次点击configure按钮。出现Configuring done、Generating done后,代表配置完毕。如图5所示。
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译

第三步 编译VTK

用vs2013打开VTK.sln,在ALL_BIULD上右键,选择“生成”,如图6。成功之后,按如图7所示操作。
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译
图8(选择Debug或Release,生成Debug版或Release版)

第四步 Cmake-gui进行配置OPENCV

1、找到OPENCV_EXTRA_MODULES_PATH,填写F:\soft\opencv\opencv_contrib3.3.1\modules
2、找到VTK_DIR,填写F:/soft/opencv/VTKBiuld
3、勾选WITH_VTK.
4、勾选BIULD_opencv_world(勾选此项,编译之后会生成opencv_world.lib)。点击configure按钮。没有红色标识后,点击generate按钮。如图9-图12所示

opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译

第五步 编译OPENCV

1、VS2013打开OpenCV.sln。在ALL_BIULD上右键,选择“生成”。如图13所示。
2、INSTALL -> 仅用于项目 -> 仅生成INSTALL
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译

遇到的问题

1、报此错误时,说明VTK没有编译好的包。图15所示
opencv + opencv_contrib + VTK编译

2、报此错误时(图16),解决方法:
找到F:\soft\opencv\opencv3.3.1\sources\modules\dnn\src\darknet\ darknet_io.cpp。在darknet_io.cpp 中 #include<stdint.h> 即可。图17、图18所示
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译
opencv + opencv_contrib + VTK编译

3、编译OpenCV时提示缺少boostdesc_bgm.i文件。解决方法:
boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i
拷贝到opencv_contrib/modules/xfeatures2d/src/目录下
下载地址:https://pan.baidu.com/s/1SmRMg_aydPYOJ1jKNjGZPw
提取码:z7dp