今年暑假就要开始做Kinect项目开发了,因此暑假之前就开始准备开发环境的配置,走了好多弯路但最后终于配置好了,所以想把个人的经验和总结分享给大家看,以供大家借鉴。我用的开发环境都是最新的:Win8.1 64位系统+VS2013+OpenCV2.4.9+Kinect for Windows SDK v1.8。其实其他版本的系统,VS,opencv配置也没太大差别,都是可以相互借鉴的,有细微的差别我会在后文详细介绍。下面开始开发环境的配置了:
VS2013旗舰版下载地址:
http://www.visualstudio.com/downloads/download-visual-studio-vs
OpenCV 2.4.9下载地址:
http://opencv.org/
Kinect for Windows SDK v1.8(包含两部分Kinect Studio和Developer Toolkit)下载地址:
http://www.microsoft.com/en-us/kinectforwindows/develop/downloads-docs.aspx
安装我就不介绍了,大家按照软件的安装向导安装就行了。特别注意的是OpenCV的安装,OpenCV不是一个软件,它只是一个库,所以安装完成后它就是一个文件夹。
注意:先安装VS2013再安装Kinect for Windows SDK v1.8,并且安装Kinect for Windows SDK v1.8的时候不要打开VS2013.
Kinect SDK的安装地址无法修改,默认C盘
C:\Program Files\Microsoft SDKs\Kinect
这应该是微软的原因,感觉好蛋疼。。。
右键桌面上的“计算机”图标然后点击“属性”出现如下界面:
然后点击“高级系统设置”,又出现如下界面:
点击“环境变量”,出现如下界面:
点击“新建”出现如下画面:
在变量名里面输入:OPENCV
变量值里面输入你的OpenCV的安装地址。
注意红方框标记的是你的OpenCV安装地址,你安装在不同的盘地址就不一样。如果我把OpenCV安装在E盘Program Files (x86)文件夹里就是这样的:
点击“确定”,然后找到“Path”变量;
双击它,并在变量值的末尾添加 ;%OPENCV%\x86\vc12\bin
vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。
注意不要忘记前面的分号
至此OpenCV的环境变量已经配置好了。接下来进行下一步:
打开VS2013,然后点击 文件 -> 新建 -> 项目 -> Visual C++ -> Win32 控制台应用程序(输入名称:Kinect ,然后选择保存的位置)
点击“确定”然后出现如下界面:
点击“下一步”,出现如下画面,选择“空项目”,然后点击“完成”。
选择 视图->解决方案资源管理器
然后出现如下画面:
右键“源文件”->添加->新建项
出现如下画面:
选择C++文件,可以改名称也可以不改,都行。然后点击“添加”
选择 视图->其他窗口->属性管理器
出现如下界面:
右键 Debug | Win32 -> 添加新项目属性表
名称可以改为“opencv249x86.Debug.props”。然后点击“添加”
点击“添加”后界面如下:
双击新建好的属性表出现下图:
VC++目录->包含目录->下拉箭头->编辑
点击“新行”
点击下图红方框标记的图标
找到你的OpenCV安装地址,选择include文件夹
按上述步骤继续添加include文件夹里面的两个文件夹opencv和opencv2,添加好后如下图所示:
然后添加Kinect SDK的包含目录(如果不用Kinect就不用添加):
C:\Program Files\Microsoft SDKs\Kinect\v1.8\inc(这个地址是固定的,每个人应该都一样)
opencv和Kinect的包含目录配置好如下所示:
用上述编辑“包含目录”的方法去编辑“库目录”
找到你的opencv安装地址下的build->x86->vc12->lib
vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来选择正确的编译器版本号。
找到你的Kinect SDK安装地址(如果不需要Kinect就不用添加):
C:\Program Files\Microsoft SDKs\Kinect\v1.8\lib\x86 (这个地址是固定的,每个人应该都一样)编辑好后如下图所示:
然后选择 连接器->输入->附加依赖项->编辑
复制粘贴如下文字(如果不需要Kinect就不用添加Kinect10.lib ,如果你的OpenCv不是2.4.9版本比如2.4.8,就把下面的所有249改成248):
opencv_ml249d.lib
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_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
Kinect10.lib
弄好后如下图所示,然后点击“确定”
至此所有的配置都已经完成啦!
最后点击“应用”->“确定”
好啦,写段程序测试一下OpenCV吧:
#include "highgui.h" int main(int argc, char** argv){ IplImage* img = cvLoadImage( "CAUC.jpg" ); cvNamedWindow( "I Love CAUC 中航大", CV_WINDOW_AUTOSIZE ); cvShowImage( "I Love CAUC 中航大", img ); cvWaitKey(0); cvReleaseImage( &img ); cvDestroyWindow("I Love CAUC 中航大"); }
嘿嘿,OpenCV成功运行!如果大家有什么疑问可以给我留言,有什么错误也请各位指出来,谢谢!
参考博客:
http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html
http://blog.csdn.net/zouxy09/article/details/8146055
http://blog.csdn.net/poem_qianmo/article/details/19809337