由于研究生选择的方向与计算机视觉有关,需要用到OpenCV和Matlab来处理图像,所以在这里先把环境搭建起来,然后通过一些小例子来逐渐熟悉OpenCV的使用。这算是一个学习系列的教程吧,也可以说是自己的学习总结,便于以后回顾。

环境说明:

  • Windows 7 x64
  • OpenCV 3.4.0
  • Visual Studio 2017

1. OpenCV 的下载与配置

1.1 下载 OpenCV

其实这篇文章适用于 3.x 以上版本,安装过程大同小异。

在官网 https://opencv.org/releases.html 下载安装包,选择自己想要的版本,这里我使用的是 3.4.0 版本。如下图:

OpenCV

1.2 安装

下载完后,双击opencv-3.4.0-vc14_vc15.exe安装即可,这里我安装在了D:\opencv\opencv下,如下图:

OpenCV

安装在哪里都可以,不过在配置环境变量环节要注意一下!

1.3 配置环境变量

安装完以后,右击计算机,点击属性,选择左侧高级系统设置,在高级选项卡下面点击环境变量,在系统变量中查找变量PATH,对其进行编辑,在变量值一栏的最后添加D:\opencv\opencv\build\x64\vc15\bin;语句。

注意:这里的路径需要填写你自己安装 OpenCV 的路径,同时注意这条语句最后面有一个英文状态下的分号

OpenCV

配置完环境变量后,建议重启一下机器,避免后面不必要的麻烦。

2. VS2017 配置 OpenCV

2.1 新建项目

打开 Visual Studio 2017后,选择文件->新建->项目,如下图:

OpenCV

新建项目页面依次选择Visual C++->Windows 桌面->Windows 桌面向导,我这里在E盘下新建了一个opencv_test文件夹,下面的名称可随意填写,如下图:

OpenCV

点击确定后,在Windows 桌面项目界面,选中空项目后点击确定,(选择空项目是为了避免 VS2017 创建头文件,这里的头文件我们现在不需要创建。)如下图:

OpenCV

这时候你可以看到文件夹OpenCVProj下还有一个OpenCVProj,如下图:

OpenCV

当然继续使用它也是可以的,不过这里看起来为了避免名称的重复,我将该项目在解决方案管理器里删除,重新新建一个Hello-OpenCV文件。右击OpenCVProj,选择移除,如下图:

OpenCV

然后再右击解决方案管理器,依次选择添加->新建项目,如下图:

OpenCV

添加新项目中,名称位置都填写好内容,如下图:

OpenCV

最后在Windows 桌面项目界面,选中空项目后点击确定即可。

2.2 添加目录

添加两个目录:包含目录库目录

点击属性管理器,右击Release|x64,选择属性,如下图:

没有属性管理器的话,可以在 vs2017 的窗口右上角的搜索栏进行搜索。

OpenCV

Release 属性页,点击VC++ 目录,在包含目录中添加D:\opencv\opencv\build\include路径(请添加自己的路径),如下图:

OpenCV

库目录中添加D:\opencv\opencv\build\x64\vc15\lib路径(请添加自己的路径),如下图:

OpenCV

为什么要这么添加?

因为在这之前你可以看到opencv安装目录下有两个文件夹,vc14vc15。如下图:

OpenCV

其中vc14表示Visual Studio 2015用的库,vc15表示Visual Studio 2017用的库,之前版本的如下所示:

  • vc10表示Visual Studio 2010用的库
  • vc11表示Visual Studio 2012用的库
  • vc12表示Visual Studio 2013用的库

添加库文件可以帮助我们使用 OpenCV 函数。

2.3 添加依赖项

还是在Release 属性页,依次点击链接器->输入,在附加依赖项中添加opencv_world340.lib文件,如下图:

OpenCV

3. 新建.cpp文件

右击解决方案管理器下的源文件,依次点击添加->新建项,创建Hello.cpp文件即可,如下图:

OpenCV

注意1:在写代码之前,需要将解决方案配置解决方案平台分别选择为Releasex64,如下图:

OpenCV

注意2:还需要在E:\opencv_test\OpenCVProj\Hello-OpenCV下添加一张picture.jpg的图片,用于测试。(请添加自己的路径)

好了之后键入如下代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>

#include <iostream>

using namespace cv;

int main() {
	Mat img = imread("picture.jpg");
	namedWindow("Display window");
	imshow("Display window", img);
	waitKey(0);
	return 0;
}

输出结果如下:

OpenCV

你可以看到上图的右下角的输出信息部分有无法查找或打开PDB文件的提示,浏览下面的网址可以找到答案:

https://msdn.microsoft.com/zh-cn/library/ms241613.aspx

https://www.cnblogs.com/wxl845235800/p/7206767.html

4.总结

写这篇文章是因为网上的一些博客在介绍环境搭建的时候,说得不够详细,步骤不够清晰,学过OpenCV的还好一点,但对于一些小白来说,基础环境搭建不好容易丧失学习的信心。所以在这里尽量将配置步骤讲的详细,满足绝大多数人的需求。

好了,基础的环境搭建已经完成了,后续会学习与介绍一些关于 OpenCV 的函数功能,演示一些例子,加深对 OpenCV 的了解。