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 下载 (这样可以版本控制,推荐,很方便)
如上图所示,复制下载链接,然后在 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
,在其中我们可以确定版本。
进入后根据需要下载对应的 Source code
压缩包就可以了。
opencv_contrib 也是同上,在 releases
里面选择相同的版本,下载源码压缩包即可。
2. Cmake 配置
这里我们默认已经下载好了 cmake, 在命令行中打开 cmake, 选中opencv和build文件夹的路径,然后点击 Configure
, 以下是 Configure
成功后的一些建议:
2.1 取消关于TEST的都取消
在 Search
中输入 TEST 然后将搜索出来的都取消。
2.2 取消 CUDA 相关选项
主要是以下两个,不然的话在后面用 VS 编译的时候会很长时间,没安装CUDA 还会报错。
2.3 勾选 BUILD_opencv_world
这样最后 opencv 的依赖库就会合成为 opencv_xxxworld.lib,调用起来会很方便。
2.4 添加 opencv_contrib 的路径
直接往下翻找到 OPENCV_EXTRA_MODULES_PATH
搜索关键词EXTRA
,然后再其中加入 opencv_contrib/modules 路径。(以我的为例)
然后再次点击 Configure( 注意是 Configure , 不是Generate)
这时会又多出一些选项给你,红色的部分代表新添加的选项,例如:
2.5 取消 BUILD_opencv_cnn_3dobj
不然可能会报下面的错误:
虽然可以在 GLOG_LIB 和 PROTOBUF_LIB 中通过加入计算机中:
glog.lib
libprotobuf.lib
的路径解决。(windows下 Caffe 配置会自动下载相关库)
不过这里将上面的 opencv_cnn_3dobj 的库可以解决。
2.6上面步骤完成后再点击Generate
基本就可以 Generate Done 了。
剩下的就和正常配置 opencv以下了
Tips: 如果以上步骤顺利完成,但是再VS 编译过程中报错了,找不到头文件或者找不到依赖库的错误,说明前面的步骤还是有问题,还是要再仔细检查,重新 Cmake 一下。