Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结

Tips: 第一次将 openCV 和 opencv_contrib 一起编译,编译了一晚上,中间报错了不少错,下面是安装记录以及一些错误的解决方式。

注意事项:

1. OpenCV 版本与 opencv_contrib 版本要一样

2. Cmake 配置过程中取消某些选项可以避免一些错误

——————————————————————-分割线————————————————————————-

1. 下载 OpenCV 与 opencv_contrib

opencv 地址: https://github.com/opencv/opencv
opencv_contrib 地址:https://github.com/opencv/opencv_contrib

1.1 两个都用 git clone 下载 (这样可以版本控制,推荐,很方便)

Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第1张图片

如上图所示,复制下载链接,然后在 git bash 中使用链接下载:

git clone https://github.com/opencv/opencv.git

会得到一个名字叫 opencv 的文件夹。进入文件夹 通过 :

git tag

查看 github 的版本,然后根据需求,使用下面的语句设置成自己的版本(以 opencv3.3.0 版本为例):

git reset --hard 3.3.0  #将 3.3.0 换成自己的版本就行

完成上面的步骤 opencv 下载就完成了。

opencv_contrib 使用 git clone 下载,包括配置版本方式同上,确保 opencv 和 opencv_contrib 最后的版本是相同的,相同的,相同的。

(使用版本控制,就可以新建不同名字的build文件夹,然后根据需求在同一个目录下编译不同版本的opencv,不用重新下载了)

1.2 直接点击 download

这里在 github 中最好选择状态栏下中的 releases,在其中我们可以确定版本。
Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第2张图片
进入后根据需要下载对应的 Source code 压缩包就可以了。

opencv_contrib 也是同上,在 releases 里面选择相同的版本,下载源码压缩包即可。

2. Cmake 配置

这里我们默认已经下载好了 cmake, 在命令行中打开 cmake, 选中opencv和build文件夹的路径,然后点击 Configure, 以下是 Configure 成功后的一些建议:

2.1 取消关于TEST的都取消

Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第3张图片
Search 中输入 TEST 然后将搜索出来的都取消。

2.2 取消 CUDA 相关选项

主要是以下两个,不然的话在后面用 VS 编译的时候会很长时间,没安装CUDA 还会报错。
Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第4张图片

2.3 勾选 BUILD_opencv_world

这样最后 opencv 的依赖库就会合成为 opencv_xxxworld.lib,调用起来会很方便。
Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第5张图片

2.4 添加 opencv_contrib 的路径

直接往下翻找到 OPENCV_EXTRA_MODULES_PATH搜索关键词EXTRA,然后再其中加入 opencv_contrib/modules 路径。(以我的为例)

Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第6张图片

然后再次点击 Configure( 注意是 Configure , 不是Generate)

这时会又多出一些选项给你,红色的部分代表新添加的选项,例如:
Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第7张图片

2.5 取消 BUILD_opencv_cnn_3dobj

Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第8张图片

不然可能会报下面的错误:
Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第9张图片

虽然可以在 GLOG_LIB 和 PROTOBUF_LIB 中通过加入计算机中:

glog.lib
libprotobuf.lib

的路径解决。(windows下 Caffe 配置会自动下载相关库)

不过这里将上面的 opencv_cnn_3dobj 的库可以解决。

2.6上面步骤完成后再点击Generate

Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_第10张图片

基本就可以 Generate Done 了。

剩下的就和正常配置 opencv以下了,详见:

Windows下 Cmake + VS 编译 OpenCV 源码

Tips: 如果以上步骤顺利完成,但是再VS 编译过程中报错了,找不到头文件或者找不到依赖库的错误,说明前面的步骤还是有问题,还是要再仔细检查,重新 Cmake 一下。

相关博客:

Windows下 Cmake + VS 编译 OpenCV 源码

OpenCV 不同版本之间的切换

”编译OpenCV, /include/opencv2下只有一个opencv.hpp文件 “的解决方法

你可能感兴趣的:(配置文件)