今天呢,我们来学习一下如何用Visual Studio 2015(简称VS2015)配置配置OpenCV4.01。

首先呢,让我来介绍一下什么是OpenCV。

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

一、准备工作:

1.下载OpenCV安装包:

到OpenCV的官网(http://opencv.org/)下载最新版本的OpenCV安装包,由于OpenCV针对不同平台都有安装程序,所以我们只需要根据当前开发环境选择合适的平台版本即可,这里我们是在win7 64bit操作系统下进行开发,所以应该下载OpenCV for Windows:



如何查找opencv位置_环境变量


我们点击RELEASES进去之后,选择4.01版本,下载完毕后,我们得到其安装文件:opencv-4.0.1-vc14_vc15.exe。

2、安装Visual Studio 2015,相信来学习OpenCV开发的同学已经安装了Visual Studui 2015,如果没有安装VS2015的同学,请百度一下,直接在微软的官网下载Community版本的就可以,免费的。

二、安装配置:

1.安装:

双击打开下载好的opencv-4.0.1-vc14_vc15.exe文件,进行安装(其实是解压),选择安装目录:


如何查找opencv位置_opencv 获取一个目录下子目录_02


安装完毕之后,在其安装目录下可以看到两个文件夹:build和sources,其中build是OpenCV使用时要用到的一些库文件,而sources中则是OpenCV开源的源码以及一些demo示例。


如何查找opencv位置_环境变量_03


2、配置环境变量

上面步骤只是完成了安装,但是要能够正常使用OpenCV来进行开发,我们还需要进行环境变量的配置,我的电脑—>属性—>高级系统设置—>环境变量,找到Path变量,选中并点击编辑:


如何查找opencv位置_opencv 获取一个目录下子目录_04


64位系统的需要在path添加“;opencv安装路径buildx64vc14bin”(注:英文输入法中的“;”是分割符,用于与前面其他软件的配置参数分开),例如我的配置参数应该为:“; D:opencvopencv4.01opencv4_01opencv”。在之前的opencv版本中的配置时,32位系统应配置路径“;opencv安装路径buildx86vc14bin”,但是在4.01d的版本中OpenCV已经将x86这个目录删除了,也就是说在VS 2015环境下不能进行32位的OpenCV编译。

还有一个要注意的就是x64文件夹下分为vc14和vc15两个文件夹,他们对应于VS的版本,例如VS2015应使用vc2017,而这里我们使用的是VS 2015,所以应该使用vc14文件目录:

注意:环境变量配置完毕之后,需要重启电脑才能生效!

3、VS 2015配置:

我们知道要在VS中使用外部的类库的话,需要进行引入的一下配置,这个配置就包括:外部库目录指定和外部包含文件指定。

打开VS 2015,新建一个空白的win32的控制台工程:


如何查找opencv位置_如何查找opencv位置_05


选择Visual C++下面的Win32


如何查找opencv位置_环境变量_06


选择空项目


如何查找opencv位置_库文件_07


单机完成之后,项目中单机源文件,添加一个cpp文件


如何查找opencv位置_OpenCV_08


选择C++文件,为文件命名为mian.cpp(这个大家可以根据自己的需要进行命名)


如何查找opencv位置_环境变量_09


在VS中有个叫做“属性管理器”的工具,用于进行VS整体参数的配置,配置一次之后,以后所有新建项目都能应用改配置,不用再一一进行配置操作,使用起来也非常方便。点击工具栏中的:视图—>属性管理器 打开属性管理器:


如何查找opencv位置_OpenCV_10


在新出现的属性管理器栏中,展开目录,选中Debug|Win64中的Microsoft.Cpp.x64.user,并右键点击属性(Properties)进入属性界面:


如何查找opencv位置_环境变量_11


1)配置包含目录:

在通用属性—>VC ++目录—>包含目录,然后点击右侧三角标志选中Edit进入编辑:


如何查找opencv位置_opencv 获取一个目录下子目录_12


如何查找opencv位置_如何查找opencv位置_13


向其中添加下面两个路径:

D:opencvopencv4.01opencv4_01OpenCVopencvbuildinclude

D:opencvopencv4.01opencv4_01OpenCVopencvbuildincludeopencv2

2)配置库文件目录:

完成上面的包含目录配置之后,我们还需要进行库文件的配置:回到属性界面,选择包含目录下面的库文件目录:


如何查找opencv位置_环境变量_14


向其中添加如下路径

D:opencvopencv4.01opencv4_01opencvbuildx64vc14lib

3)配置静态链接库:

我们可以查看步骤2)中添加的库文件目录下面.lib文件列表,发现在4.01版本的OpenCV中,仅剩下两个库文件,分别是:opencv_world401.lib和opencv_world401d.lib,这里两个库文件的区别就是:opencv_world401.lib是Release模式版本,而opencv_world401d.lib是Debug模式版本:


如何查找opencv位置_如何查找opencv位置_15


跟上述两个步骤相似,在属性界面中打开链接器—>输入—>附加依赖项:


如何查找opencv位置_如何查找opencv位置_16


将我们刚刚在OpenCV库文件目录下看到的两个库文件其中一个添加到这里(根据模式需求Release模式或Debug模式)

三、实践:

在完成了上述所有配置工作之后,我们需要进行一次实测,用于验证以上配置是否成功。这里我们的测试demo功能很简单,就是在一个窗口中显示我们指定的一张图片。在之前的main.cpp文件中添加以下代码:


如何查找opencv位置_库文件_17


如果出现如下运行结果,那么证明你的OpenCV配置成功了!!!


如何查找opencv位置_opencv 获取一个目录下子目录_18


四、配置易错点

LINK ERROR 1104: 无法打开文件 opencv_world401d.lib

一般出现这个问题的原因:

1、未在系统环境中添加环境变量,更新一下环境变量

2、在属性界面中打开链接器—>输入—>附加依赖项:

一般情况下有时会将这块配置错误,将opencv_world401d.lib配置为opencv_world401d.dll就会出现LINK ERROR 1104: 无法打开文件 opencv_world401d.lib的问题

解决方法:

将链接器—>输入—>附加依赖项:

配置为opencv_world401d.lib