上篇文章中,已经自己动手编译了OpenCV库,本篇文章来搭建OpenCV的开发环境。

先来看看下载的OpenCV 2.4.8库和自己编译的库:

基于VS2013搭建OpenCV开发环境-程序旅途 基于VS2013搭建OpenCV开发环境-程序旅途

基于x64的开发,如果使用官网下载的库,要选择x64的文件夹,在x64文件夹内还有vc10,vc11,vc12 3个文件夹,分别对应vs2010,vs2012,vs2013。下面开始搭建开发环境,首先设置环境变量。

一、设置环境变量

首先新建一个系统变量OpenCV,如果选择使用官网下载的库,路径为C:\OpenCV2.4.8\opencv\build\x64\vc12 ,自己编译的库,路径为:C:\OpenCVLatest\build\vs2013x64\install\x64\vc12。

执行下列命令添加OpenCV系统变量(需要管理员权限):

SETX OpenCV C:\OpenCV2.4.8\opencv\build\x64\vc12 /M

然后,编辑系统变量Path,在最后加上:

%OpenCV%\bin;

为什么不直接在Path的最后加上C:\OpenCV2.4.8\opencv\build\x64\vc12\bin; 还要新建一个OpenCV变量呢,不是多此一举吗?直接添加是可以的,但是添加变量的好处就是如果库的位置发生了变化,只需要修改OpenCV这一个变量的值,其他引用它的地方都不用改。

二、配置VS2013

  1. 新建vc++ win32的控制台应用程序,命名为HelloOpenCV;
  2. 在“配置管理器”(生成-->配置管理器)里新建解决方案平台,选择x64;基于VS2013搭建OpenCV开发环境-程序旅途
  3. 打开“属性管理器”(视图-->其他窗口-->属性管理器),会看到步骤2新建的x64的Debug和Release配置;基于VS2013搭建OpenCV开发环境-程序旅途
  4. 在Debug|x64上“右击”,选择“添加新项目属性表”,命名为“OpenCV248_X64_Debug”,同样Release|x64的命名为“OpenCV248_X64_Release”;
    基于VS2013搭建OpenCV开发环境-程序旅途
  5. 在“OpenCV248_X64_Debug”上右击选择“属性”,在弹出的属性页中,左侧选择“通用属性->VC++目录”,在右侧编辑“包含目录”和“库目录”分别为$(OpenCV)\..\..\include和$(OpenCV)\lib基于VS2013搭建OpenCV开发环境-程序旅途
  6. 接下来在左侧选择“链接器->输入”,在右侧编辑“附加依赖项”,添加以下值:
    opencv_calib3d248d.lib;
    opencv_contrib248d.lib;
    opencv_core248d.lib;
    opencv_features2d248d.lib;
    opencv_flann248d.lib;
    opencv_gpu248d.lib;
    opencv_highgui248d.lib;
    opencv_imgproc248d.lib;
    opencv_legacy248d.lib;
    opencv_ml248d.lib;
    opencv_nonfree248d.lib;
    opencv_objdetect248d.lib;
    opencv_ocl248d.lib;
    opencv_photo248d.lib;
    opencv_stitching248d.lib;
    opencv_superres248d.lib;
    opencv_ts248d.lib;
    opencv_video248d.lib;
    opencv_videostab248d.lib;

    基于VS2013搭建OpenCV开发环境-程序旅途

  7. 重复步骤5和6,配置OpenCV248_X64_Release。两者的不同在于Debug的附加依赖性都是结尾带有d.lib的库,d表示Debug,Release的则不带,库的名字可以在$(OpenCV)\lib文件夹中找到。另外,248表示OpenCV的版本号,如果使用的是其他版本的OpenCV,这里要记得修改248为相应的版本号;
    opencv_calib3d248.lib;
    opencv_contrib248.lib;
    opencv_core248.lib;
    opencv_features2d248.lib;
    opencv_flann248.lib;
    opencv_gpu248.lib;
    opencv_highgui248.lib;
    opencv_imgproc248.lib;
    opencv_legacy248.lib;
    opencv_ml248.lib;
    opencv_nonfree248.lib;
    opencv_objdetect248.lib;
    opencv_ocl248.lib;
    opencv_photo248.lib;
    opencv_stitching248.lib;
    opencv_superres248.lib;
    opencv_ts248.lib;
    opencv_video248.lib;
    opencv_videostab248.lib;
  8. 配置完成,在HelloOpenCV项目文件夹中,可以看到刚刚添加的“属性表”,以后在新项目中,只需要打开“属性管理器”,右击添加现有属性表就可以了。
    基于VS2013搭建OpenCV开发环境-程序旅途

三、简单的Demo

下面写个简单的Demo,看看配置是否可用。

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main(int argc, char **argv)
{
	Mat img = imread("twoboy.jpg");
	if (img.empty())
	{
		cout << "打开图像失败!" << endl;
		return -1;
	}
	namedWindow("image", CV_WINDOW_AUTOSIZE);
	imshow("image", img);
	waitKey();

	return 0;
}

运行结果:

基于VS2013搭建OpenCV开发环境-程序旅途

注意事项

本篇博文中的第一部分是设置系统环境变量,其中添加了一个OpenCV的变量,这个变量在后面的属性表配置中用到了,引用方式是$(OpenCV),如果按照上面添加了如:目录$(OpenCV)\..\..\include,在写程序的时候提示找不到opencv.hpp文件,那么不妨重启一下你的VS2013吧!