发现单单靠记忆力是完全不靠谱的,配置过很多次OpenCV了每次要重新配置还是想不起各种细节,配置各种出错折腾好久。
说起来配置OpenCV这么多次还都只是会配置而不会使用,不过接下来的一段时间是要真的开始学习OpenCV了,目测以后的三年研究生生活也是再也离不开这个神器,所以~这次就整理出来咯,以后的OpenCV学习内容也会继续整理。
当然,懒惰是人类第一生产力,配置OpenCV这么麻烦的事情当然要找最最简单最为一劳永逸的方法!
1.现有材料
配置的版本是OpenCV2.4.1+VS2013,OpenCV已经编译好。
2.环境变量
(1)新建系统变量OPENCV:值为你的OpenCV安装路径的build文件夹,我这里为C:\opencv\build。
(2)添加系统变量Path:添加值为%OPENCV%\x86\vc12\bin。这样为相对路径,当修改OpenCV存放位置的时候就只需要修改变量OPENCV就可以了。
- 另外需要注意的是无论系统是32位还是64位,路径目录均选择x86,因为编译都是使用32位编译;如果选用x64,则程序运行时候会出错。
3.建立属性表
(1)打开VS,新建win32控制台应用程序。然后“视图->属性管理器(不是属性窗口!)”,右键“添加新项目属性表”。
(2)编辑VC++目录(Debug)。
包含目录:添加$(OPENCV)\include(←看这里看这里,也是使用环境变量进行的相对路径表示,再也不怕移动OpenCV的位置);
库目录:添加$(OPENCV)\x86\vc12\lib;
(3)编辑“链接器->输入->附加依赖项”(Debug)。
添加的内容为:
opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib
即$(OPENCV)\x86\vc12\lib下的文件名最后为d的所有文件:
(4)Release下的配置
Release下的配置其他都和Debug下的一样,除了附加依赖项的名称最后均没有d。
添加的内容为:
opencv_calib3d2411.lib
opencv_contrib2411.lib
opencv_core2411.lib
opencv_features2d2411.lib
opencv_flann2411.lib
opencv_gpu2411.lib
opencv_highgui2411.lib
opencv_imgproc2411.lib
opencv_legacy2411.lib
opencv_ml2411.lib
opencv_nonfree2411.lib
opencv_objdetect2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_videostab2411.lib
4.测试&Others
最后当然要来个程序来测试一下自己的配置能不能work了~
发现网上很多教程给的测试程序都还是opencv 1的C风格代码,上一个刚刚写好的摄像头读取程序好了。
嘛~参考《OpenCV 2 计算机视觉编程手册》中的例程写的。
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
VideoCapture cap(0);
if (!cap.isOpened())
{
return -1;
}
Mat frame;
bool stop = false;
while (!stop)
{
cap >> frame;
imshow("当前视频", frame);
if (waitKey(30) >= 0)
stop = true;
}
return 0;
}
如果能像我这样弹出视频窗口的话就是配置成功了~撒花(噢对了你当然要有一个摄像头 : - )
以后工程中要使用OpenCV的话,添加属性表就可以了;
以后换机器要重新配置的话,就只需要拷贝OpenCV文件夹和属性表,添加两个系统变量就好了。
耶~棒棒哒~