Windows 10, Visual Studio 2015环境下OpenCV 3.1配置和入门

目录

OpenCV是计算机视觉的事实标准库,学习OpenCV非常重要,在目前的国情下,在Windows上完成OpenCV的开发和教学工作是非常重要的,还不能指望所有人都有Mac计算机,即使Linux也是不现实的。

我们来详细探讨如何在Windows 10,Visual Studio 2015的环境下来配置OpenCV的学习环境。

下载OpenCV

没啥说的,OpenCV官网上下载,我们要下载最新的3.1版本,所以要点击DOWNLOADS链接,不要下载主页上面的2.4.13版本。在下载页面中下载OpenCV for Windows 3.1即可。

/2016/10/opencv-windows-md/01.PNG 下载下来的是一个opencv-3.1.0.exe文件,其实就是一个自解压的压缩包,可以直接执行也可以7-zip解压,随你便。

最重要的两个目录是build\include和build\x64\vc14\lib目录,这是Visual Studio 2015 C++中要配置的两个重要目录。

如何配置

在Visual Studio 2015中新建一个Visual C++的Empty Project,项目名字和位置自己定义好。

/2016/10/opencv-windows-md/02.PNG 在project上右击选择Properties,在VC++ Directories中配置Include Directories和Library Directories。

/2016/10/opencv-windows-md/03.PNG 要注意属性的配置文件,非常重要。我们配置Debug和x64。是的,OpenCV 3.1已经不支持x86的开发了。

配置完路径后,要在Linker段中的Input中的Additional Dependencies中将OpenCV的opencv_world310d.lib引入。

关闭配置框后一个重要的事情是在顶部工具条中要修改当前的配置。

/2016/10/opencv-windows-md/04.PNG 新建一个C++文件。我们来完成第一个tutorial,Load and Dispaly an Image。

为了学习方便,我们在一个项目中通过菜单和函数来完成不同教程。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <string>

//引入OpenCV头文件
#include <opencv2\core.hpp>
#include <opencv2\imgcodecs.hpp>
#include <opencv2\highgui.hpp>

using namespace std;
using namespace cv;

const string imageName("D:/zjl.jpg");

void displayMenu(); //选择不同的Tutorial

void loadAndDisplayAnImage(string windowTitle); //第一个教程

int main()
{
	displayMenu();

	return 0;
}

void displayMenu()
{
	char key = ' ';//读取菜单选项

	while (key != 'x')
	{
		cout << "Please select what tutorial do you want to run:" << endl;
		cout << "[1]Load and Dispaly an Image" << endl;
		cout << "[x]Quit" << endl;

    cin >> key;

		switch (key) {
		case '1':
			loadAndDisplayAnImage("Load and Display an Image");
			break;
		case 'x':
			break;
		}
	}
}

void loadAndDisplayAnImage(string windowTitle)
{
	Mat inputImage;
	inputImage = imread(imageName, CV_LOAD_IMAGE_COLOR);
	if (inputImage.empty())
	{
		cout << "The image has problem or file not fount" << endl;
		return;
	}

	namedWindow(windowTitle, CV_WINDOW_AUTOSIZE);
	imshow(windowTitle, inputImage);

	waitKey();

	destroyWindow(windowTitle);
}

编译运行,会收到错误。

/2016/10/opencv-windows-md/05.PNG 这是因为找不到动态链接库。你有两种方法,第一种是将opencv\build\x64\bin\opencv_world310d.dll复制到c:\windows\system目录下,第二种方法是将opencv\build\x64\bin\目录添加到path环境变量中。

或者我们可以把opencv_world310d.dll直接复制到我们生成的.exe目录中。

OK,大功告成!