记录一下,方便自己以后再配置OpenCV。写得比较简陋,也许以后会逐渐扩充。
项目需要,自行编译了OpenCV+OpenCV_Contrib。所以会觉得后文的文件目录和官网编译好的包有点不一样……类推一下就好……如果下次还需要重新编译OpenCV_Contrib,再写个编译OpenCV_Contrib的教程。
因为我是自己用源码重新编译的,和官网下载的编译好的包有点区别
一. 项目环境
- windows 10
- Visual Studio 2015
- OpenCV 3.2.0(自行编译的,包含 OpenCV_Contrib 3.2.0)
二. 环境搭建(以配置64位Release版为例)
1. 下载(编译)OpenCV 3.2.0
略
2. 设置环境变量
-
我的电脑 右键->属性->高级系统设置->环境变量->系统变量->Path
,增加...\build\install\x64\vc14\bin
- 这里64位就选
x64
目录,vs2015就选vc14
目录,如果是其他vs版本,自行百度一下对应的目录。64位指的是编译出的程序的位数,而不是操作系统的位数
3. 打开属性管理器
(在属性管理器中进行的是通用配置,以后再新建工程会默认使用这个配置)
默认窗口布局下,在Visual Studio的主视图右侧,点击属性管理器->Release|X64->双击Microsoft.Cpp.x64.user
4. 设置VC++目录
- 设置包含目录,增加
...\build\install\include\opencv2
...\build\install\include\opencv
...\build\install\include
- 设置库目录,增加
...\build\install\x64\vc14\lib
这里64位就选x64
目录,vs2015就选vc14
目录,如果是其他vs版本,自行百度一下对应的目录
5. 设置链接器
- 设置附加依赖项如图
注意,这里的*.lib文件因人而异。因为我是自己编译的,所以lib都是一个个独立出来的,官方编译的opencv3,将lib文件打了包。查看目录...\build\install\x64\vc14\lib
,这个目录下有哪些lib文件,就把文件名写到依赖项里。
文件名末尾带d的是用于Debug版的库。比如A.lib给Release版程序用,Ad.lib就是给Debug版程序用的。Debug和Release可以分开配置,也可以配置成一样的——带d和不带d的都写进依赖项里就好。
6. 测试
- 头文件
#include <opencv2\opencv.hpp>
- 命名空间
using namespace cv;
- 读取并显示一张图片
#include <iostream>
#include <opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main() {
string path = ".\\test.jpg";
Mat img = imread(path, IMREAD_COLOR);
if (img.empty())
{
cout << "Cannot read image file: " << path;
return 0;
}
imshow("image",img);
waitKey(0);
return 0;
}