一、设置环境变量
首先新建一个系统变量OpenCV,如果选择使用官网下载的库,路径为C:\OpenCV2.4.8\opencv\build\x64\vc12 ,自己编译的库,路径为:C:\OpenCVLatest\build\vs2013x64\install\x64\vc12。
执行下列命令添加OpenCV系统变量(需要管理员权限):
1
|
SETX OpenCV C:\OpenCV2.4.8\opencv\build\x64\vc12
/M
|
然后,编辑系统变量Path,在最后加上:
1
|
%OpenCV%\bin;
|
为什么不直接在Path的最后加上C:\OpenCV2.4.8\opencv\build\x64\vc12\bin; 还要新建一个OpenCV变量呢,不是多此一举吗?直接添加是可以的,但是添加变量的好处就是如果库的位置发生了变化,只需要修改OpenCV这一个变量的值,其他引用它的地方都不用改。
二、配置VS2013
- 新建vc++ win32的控制台应用程序,命名为HelloOpenCV;
- 在“配置管理器”(生成–>配置管理器)里新建解决方案平台,选择x64;
- 打开“属性管理器”(视图–>其他窗口–>属性管理器),会看到步骤2新建的x64的Debug和Release配置;
- 在Debug|x64上“右击”,选择“添加新项目属性表”,命名为“OpenCV248_X64_Debug”,同样Release|x64的命名为“OpenCV248_X64_Release”;
- 在“OpenCV248_X64_Debug”上右击选择“属性”,在弹出的属性页中,左侧选择“通用属性->VC++目录”,在右侧编辑“包含目录”和“库目录”分别为$(OpenCV)\..\..\include和$(OpenCV)\lib
- 接下来在左侧选择“链接器->输入”,在右侧编辑“附加依赖项”,添加以下值:
12345678910111213141516171819
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;
- 重复步骤5和6,配置OpenCV248_X64_Release。两者的不同在于Debug的附加依赖性都是结尾带有d.lib的库,d表示Debug,Release的则不带,库的名字可以在$(OpenCV)\lib文件夹中找到。另外,248表示OpenCV的版本号,如果使用的是其他版本的OpenCV,这里要记得修改248为相应的版本号;
12345678910111213141516171819
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;
- 配置完成,在HelloOpenCV项目文件夹中,可以看到刚刚添加的“属性表”,以后在新项目中,只需要打开“属性管理器”,右击添加现有属性表就可以了。
三、简单的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;
}
运行结果:
注意事项
本篇博文中的第一部分是设置系统环境变量,其中添加了一个OpenCV的变量,这个变量在后面的属性表配置中用到了,引用方式是$(OpenCV),如果按照上面添加了如:目录$(OpenCV)\..\..\include,在写程序的时候提示找不到opencv.hpp文件,那么不妨重启一下你的VS2013吧!