当前位置: 代码迷 >> 综合 >> VS2015+opencv4.1.0+contrib+Cmake详细配置方法
  详细解决方案

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

热度:118   发布时间:2023-10-20 20:13:01.0

今天为大家介绍如何用cmake使用vs2015的编译器,编译opencv4.1.0的源码加contrib模块。

第一步:下载材料

1.[opencv source code](https://github.com/opencv/opencv/releases)

2.cmake3.11.1

3.[和版本对应的opencv contrib](https://github.com/opencv/opencv_contrib/releases)

第二步:

如果下载了cmake的安装包,则勾选把cmake加入环境变量的选项,如果下载的cmake是压缩包的形式,则把下面的路径加入环境变量。

F:\cmake-3.11.1-win64-x64\bin  # 按照自己的电脑情况修改

第三步:

打开cmake gui,在cmake的bin目录下,选择opencv_source和输出目录,输出目录最好自己新建一个空文件夹。

按generate选择编译器版本和win64或者是32,建议选择win64。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

source code 选择源码目录,下面一行则是输出目录。点击configure,确保网速正常。

等待。。。。。此步骤可能会出现下载缓慢导致没下载成功。无碍,再次configure会再次下载,并且也可以自行下载将四个文件保存到对应的位置。下载链接在CSDN上也有。

接着会自动下载四个文件,如果网速不好会很慢

  • 第一个是这个 ippicv_2019_win_xxxxxxxx.zip。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

我就没下载成功,没下载成功之后还会自动下载一次。如果还没成功,下面有解决办法。

  • 另外两个文件是opencv_ffmpeg.dll和opencv_ffmpeg_64.dll

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

  • 还有一个文件是

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

face_landmark_model.dat这个文件默认下载到:

F:\opencv-4.1.0\.cache\data  # 即源码的.cache/data文件夹

但是我们会发现这个文件名之前有一长串数字字母组合

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

我们从网上下载好face_landmark_model.dat,把名称改为上面的形式,替换这个文件就好了。

  • 这两个文件保存到输出目录如下的位置。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

  • ippicv压缩包存放在源码的.cache文件夹的ippicv文件夹下,不用解压!!
  • 然后到第四步

第四步:

  • 取消勾选WITH_CUDA;
  • 输入contrib模块地址,地址到moudle文件夹
  • 同时勾选build opencv_world,这个一定勾选,配置环境很便利。
  • 再次configure

第五步:

出现红色部分再次configure,这就不该有还用红色的了,这个时候点击generate

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

出现generating done之后,点击open project,Cmake的使命就结束了。!!!!

第六步:

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

如上图所示,我们有102个项目需要编译,(居然比我编译3.x还少)

先调整你自己想要编译的版本,现在的电脑基本都是64位了,笔者强烈建议就选release加x64模式。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

之后找到解决方案中的ALL_BUILD下面的INSTALL,右键点击INSTALL,点击生成。等待就OK了。

无出意外,会很顺利。最终我们需要的代码会在下面的目录中:

F:\opencv_410_vs_2015\install

当然了,意外总是有的,你可能会遇到这个错误:

LINK : fatal error LNK1181: 无法打开输入文件“opencv_world410

这是因为这个文件是后面的项目生成的,但前面的项目就有对它的依赖。所以我们只要再次右击INSTALL,点击生成就行了。千万别点重新生成。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

因为笔者第一次生成了24个,失败了70个。第二次就全部成功了。好像没有102个,难道是我记错了数值?但这不重要。

 

第七步 VS的配置

 

把我们需要的install目录下的这个目录,加入到环境变量中。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

打开Visual studio 2015,新建一个空项目。按照下图找到属性管理器。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

在属性管理器中展开项目。再展开Release | x64,这时候展开你们之前选择的编译方式,如果debug编译的就选上面两行中的一个。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

在最下面的目录,在目录上右击  添加新项目属性表

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

之后再添加一下依赖项。因为我们之前再cmake之中勾选了bulid opencv world。这个时候我们仅仅需要添加这一项就行了。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

最后我的属性管理器是这样的。OpencvSheet是我新建属性表用的名称,如果你其他项目也需要opencv,这时候你不需要重新配置,把这个表添加进去就行了

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

 

测试

接下来我们新建一个源文件,写一段测试代码。注意 文件"1.jpg"需要放在和源.cpp一样的目录下。

#include<opencv2\opencv.hpp>
using namespace cv;
int main()
{Mat picture = imread("1.jpg");imshow("测试程序", picture);waitKey(0);
}

按Ctrl + F7,编译, 按Ctrl+F5运行。可以发现,OK啦。

VS2015+opencv4.1.0+contrib+Cmake详细配置方法

  相关解决方案