捣鼓了一天,终于把OpenCV的环境配置好了,记录一下配置的过程,以备后需。
操作系统:Windows 7 x64 中文旗舰版;
编译环境:Visual Studio 2012 中文旗舰版;
OpenCV版本:OpenCV-2.4.9.exe;
一、下载OpenCV2.4.9
- 从 http://www.opencv.org/ 下载 OpenCV for Windows。
- 将OpenCV-2.4.9.exe 解压并放到某个路径目录下,例如 D:\OpeCV2.3.1。其目录结构如下图所示。
二、配置环境变量
右击“我的电脑”选“属性”,点“高级系统属性”,点“环境变量”,在用户变量中新建两个用户变量,如下。
PATH D:\opencv\build\x64\vc11\bin;D:\opencv\build\x86\vc11\bin
OPENCV D:\opencv\build
如下图所示。
三、在vs2012中新建一个控制台项目。
四. 在项目->属性对话框中,左侧“配置”选择“Debug”,然后“配置属性”->VC++目录,在右侧设置“包含目录”,新添加:
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
五. 在“库目录”,添加
64位:D:\opencv\build\x64\vc11\lib(编译64位软件时)
64位:D:\opencv\build\x86\vc11\lib(编译32位软件时),二者只能填一个,两个都填上会出错。
6. 在配置中选择Debug,在“链接器”->“输入”,配置“附加依赖项”,添加以下项:
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
7.在配置中选择Release,按照上面操作,添加如下依赖项。
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
8. 注销电脑或重启电脑。请注意:这是非常重要的一步,这样设置的环境变量才能生效。
至此,配置完毕。
9. 测试是否配置成功。在之前新建的控制台程序中添加如下测试代码,注意首先要把需要的图片放到项目所在目录下。
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = "lily.jpg";
Mat img = imread(imagename);
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
imshow("image", img);
waitKey();
return 0;
}
编译程序,可能会出现提示错误:“无法启动此程序,因为计算机中丢失tbb_debug.dll.尝试重新安装该程序以解决问题。”
解决方法:到D\opencv\build\common\tbb\ia32\vc11找到tbb.dll,复制一份,然后重命名为tbb_debug.dl,将tbb_debug.dll拷贝到D:\opencv\build\x86\vc11\bin目录下。
重新编译,出现如下图片,说明配置成功。