【OpenCV】OpenCV的安装、部署和调用(Windows10 + Visual Studio 2017)
目录
零、相关介绍
本文基于Windows10 + Visual Studio 2017环境,其余未测试。Opencv可以下载源码使用CMake直接编译,官网或GitHub直接下载Source即可,当然更方便的是使用编译好的exe。
一、OpenCV的下载
这里推荐在官网下载,官网下载速度在3MB/S以上,官方下载网站:https://opencv.org/releases/
选择好自己想要的版本,此处选的是3.4.10版,选择Windows,几秒后自动开始下载,速度还可以。



下载好的exe文件其实是个压缩文件,双击打开后,选择解压,解压的位置无所谓,但是一定要记住路径,方便后面环境变量的配置和使用。



二、OpenCV的配置
2.1 系统环境的配置
解压完成后,记住解压后的路径,首先配置系统环境,右击[我的电脑],找到[属性],之后点击[高级系统设置],进入系统属性界面后,点击[环境变量],进入配置环境变量界面。


之后找到[Path],点击[编辑],点击[新建],也就是新建一个路径,路径为我们刚才解压的OpenCV文件VS对应版本下Bin目录,我之前解压到了 D:\Source\OpenCV\ 目录下,VS版本为VS15,因此Bin目录的绝对路径为:D:\Source\OpenCV\opencv\build\x64\vc15\bin ,可仿照此找到自己的Bin目录后,填入,统统点击[确定],保存即可。



2.2 Visual Studio下的配置
在系统环境下配置后,还需要在Visual Studio下配置后才可以正常使用,在此用以C++/Visual Studio 2017为例。
首先,新建一个C++控制台项目,无需多说,找到[项目]下的[属性]后点击,进入项目属性页面,根据自己的需要,选择配置,在此以Debug/x64 为例,也可根据自己需要选择,要注意,如果这个切换后需要再次重新配置。

Step1:[包含目录]的设置
找到[VC++目录],子选择项有一个[包含目录],点击包含目录倒三角按钮下的[编辑],进入编辑页面

进入编辑页面后,我们点击[新行],新建几个目录,分别如下:
D:\Source\OpenCV\opencv\build\include
D:\Source\OpenCV\opencv\build\include\opencv
D:\Source\OpenCV\opencv\build\include\opencv2
可按照自己的解压路径找到这三个目录,填入包含目录中,点击确定,保存,如图2-9示。


Step2:[库目录]的设置
同Step1一样,我们找到[包含目录]同级下的[库目录],同样点击倒三角按钮下记得[编辑],进入库目录的编辑页面

在这里,需要注意一下,要根据自己之前选择的配置x86/x64来选择目录,如之前图2-6 所示,我选择了x64平台,因此这里的库目录也就为:
D:\Source\OpenCV\opencv\build\x64\vc15\lib
如果你下载的也有32位也就是x86版本,那么这里x64可能就变是x86,因此,要根据自己的实际情况来选择目录,找到自己需要的目录,编辑完后,点击确定,保存即可。

Step3:[附加依赖项]的配置
同之前一样,我们找到[链接器]—>[输入]—>[附加依赖项],点击附加依赖项的倒三角按钮,点击[编辑],进入编辑页面。

附加依赖项设置的其实就是添加两个opencv的lib(Library),lib的名字要根据自己的版本来添加,那么,如何确定添加的lib名称呢?首先,找到自己对应配置下版本下的lib目录,如:
D:\Source\OpenCV\opencv\build\x64\vc15\lib
此目录其实也就是刚才在Step2步骤下的库目录路径,找到该目录下的两个lib文件,名为:
opencv_world+版本号.lib;opencv_world+版本号+d.lib
如我的版本为3.4.10因此两个lib名字分别为: opencv_world3410.lib;opencv_world3410d.lib,如图2-13所示。
找到lib后,确定他们的名字,输入到附加依赖项内,点击确定,如图2-14所示。


注意:有的时候出现过找不到这两个lib,原因也在这里,只需要将相对路径名字改成绝对绝对路径即可,如:
D:\Source\OpenCV\opencv\build\x64\vc15\lib\opencv_world3410.lib
D:\Source\OpenCV\opencv\build\x64\vc15\lib\opencv_world3410d.lib
改成绝对路径名字,便可解决错误Link1XX:找不到opencv_world3410.lib等报错,如下图2-15所示!如无报错,则用相对路径即可。

所有设置完成后,我们点击应用或者确定保存即可。
三、OpenCV的简单调用
完成上述配置后,我们可以进行一个简单的测试,来确定是否配置成功,此处以简单的读图、显示图片为例。
首先要包含opencv的头文件
#include <cv.h>
#include <opencv2/highgui/highgui.hpp>
如果include其头文件都报错,需要检查下包含目录是否设置正确。
完整代码如下:
#include "pch.h"
#include <iostream>
#include <cv.h>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 读入一张图片
Mat img = imread("F:\\1.jpg");
// 创建一个名为 "图片"窗口
namedWindow("图片");
// 在窗口中显示图片
imshow("图片", img);
// 等待5000 ms后窗口自动关闭
waitKey(5000);
return 0;
}
允许结果如下图:

至此,我们配置就算成功了,已经可以使用OpenCV。