安装官方发布版本
官方发布版本一般为最新稳定版,预编译了Win、iOS、Android等主流操作系统下的安装包,但限于开发环境的不同和安装包文件大小等问题,在官方发布的安装包中,不包含内置的部分工具性程序,仅满足常规的开发需求。从3.x版本起,官方将不稳定的贡献模块单独拆分了出去,如人脸识别、目标跟踪等,若需要用到这类功能,只能自己单独编译,请参照后面的章节。因此,本节仅以Win操作系统为例来讲解开发环境的安装部署。
1下载安装
官方下载页面地址为:http://opencv.org/releases.html
其中,Documentation为在线文档地址,后面会详细介绍如何使用该文档查找自己需要的资料。Sources为对应版本的源码包,链接到GitHub进行下载。Win pack、iOS pack、Android pack为对应系统下的安装包和SDK。此处我们选择Win pack进行下载,执行opencv-3.2.0-vc14.exe安装程序解压资源后,对应的目录结构如下。
./opencv-3.2.0
├── build
│ ├── bin
│ ├── etc
│ ├── include
│ ├── java
│ ├── python
│ ├── x64
│ ├── LICENSE
│ ├── OpenCVConfig.cmake
│ └── OpenCVConfig-version.cmake
├── sources
│ ├── 3rdparty
│ ├── apps
│ ├── cmake
│ ├── data
│ ├── doc
│ ├── include
│ ├── modules
│ ├── platforms
│ ├── samples
│ ├── CMakeLists.txt
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ └── README.md
├── LICENSE_FFMPEG.txt
├── LICENSE.txt
└── README.md.txt
2编写第一个示例程序
细心的读者在下载安装程序时可能会发现,开发包对应的编译器版本为vc14,与IDE的对应关系如下。
编译器 | IDE |
---|---|
vc8 | Visual Studio 2005 |
vc9 | Visual Studio 2008 |
vc10 | Visual Studio 2010 |
vc11 | Visual Studio 2012 |
vc12 | Visual Studio 2013 |
vc13 | Visual Studio 2014 |
vc14 | Visual Studio 2015 |
vc15 | Visual Studio 2017 |
另外,除编译器不同之外,根据系统平台架构,还分为x86、x64和ARM版本,读者应根据自己的系统环境进行选择,在编译安装环境会详细介绍。
首先打开Visual Studio 2015(需要自行安装,此处不累述),新建VC++win32控制台项目,在主文件中输入测试代码。
#include "stdafx.h"
#include <opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = "C:\\Users\\Ouyang\\Pictures\\test.jpg";
Mat image = imread(imagename);
imshow("image", image);
waitKey();
return 0;
}
然后到项目->属性->VC++目录里依次修改如下编译配置。
可执行文件目录:
Driver:\path\to\opencv-3.2.0\build\x64\vc14\bin
包含文件目录:
Driver:\path\to\opencv-3.2.0\build\include
Driver:\path\to\opencv-3.2.0\build\include\opencv
Driver:\path\to\opencv-3.2.0\build\include\opencv2
库目录:
Driver:\path\to\opencv-3.2.0\build\x64\vc14\lib
在连接器->输入里添加附加依赖项,其中320d表示该文件为Debug版。
opencv_world320.lib
opencv_world320d.lib
在C/C++->预处理器->预处理器定义中忽略安全提示。
_CRT_SECURE_NO_WARNINGS
将依赖的DLL文件拷贝至项目的x64\Debug目录下,或者将DLL文件所在目录加入到环境变量中。
opencv_world320.dll
opencv_world320d.dll
编译并执行。