最近在做图像方面的开发,需要对软件开发平台进行配置,我查找了关于这些方面的内容,由于软件版本很多,每个人的开发平台又不一样所以在对平台进行搭建过程中遇到了很多问题,下面我将我搭建平台的流程做一个记录。在这个过程中我参考了两篇比较好的博客:
浅墨关于opencv开发环境的搭建:http://blog.csdn.net/poem_qianmo/article/details/19809337
邹宇华关于pcl中openni的使用:http://blog.csdn.net/chenyusiyuan/article/details/8773007
opencv:
1、 软件版本opencv 2.4.9,首先在官网下载opencv:http://opencv.org/downloads.html
由于我需要兼容师姐以前的代码所以下载了2.x版本,目前比较新的版本是3.x,浅墨写的那本书《opencv3 编程入门》所用的版本是3.x的版本,这两个版本在搭建环境中没有太大的区别。
下载好后点击.exe文件,我将其存放在:E:\program file\opencv-2.4.9,后面对vs2010进行配置时会多次使用使用这些路径。
2、配置环境变量
这步的配置方法如下:
【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:
对于32位系统,就添加:
”;…… opencv\build\x86\vc10\bin”(和之前的就有有的环境变量用英文的分号“;”进行分隔)
而对于64位系统,可以两个都添加上:
”;…… opencv\build\x86\vc10\bin”
和”…… opencv\build\x64\vc10\bin”,
这样,到时候才可以在编译器Win32和X64中来回切换都吃得开,游刃有余~
例如,我的就是 E:\Program Files\opencv\build\x64\vc10\bin;E:\Program Files\opencv\build\x86\vc10\bin
PS:有童鞋亲测说64位系统也只需添加”…… opencv\build\x86\vc10\bin”即可,大家不妨一试。
注:变量值实际为bin文件夹的路径;D表示OpenCV安装于D盘;X64表示运行系统环境位64位系统,若安装于32位系统,应为X86;vc10表示编译环境为Microsoft Visual Studio 2010;变量添加完成后最好注销系统,才会生效。
3、工程包含(include)目录的配置
为了不每次都重新配置我采用了浅墨讲的方法:
打开【视图】中的【属性管理器】
因为我是进行debug模式所以直接右键Microsoft.Cpp.Win32.user
点击属性
添加包含目录:
我添加的目录:
E:\program file\opencv-2.4.9\opencv\build\include\opencv2
E:\program file\opencv-2.4.9\opencv\build\include\opencv
E:\program file\opencv-2.4.9\opencv\build\include
4.工程库(lib)目录的配置
E:\program file\opencv-2.4.9\opencv\build\x86\vc10\lib
5.链接库的配置
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
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opengl32.lib
PCL环境配置方法:
PCL环境配置和opencv配置方法相似,我使用的硬件是kinect,我的软件开发是:
PCL 1.6+OpenNI 1.5.4 (patched)+Sensor 5.1.0 (patched)
我第一次安装pcl时选择了PCL 1.6.0 All-In-One Installer,我当时在网上查看了资料资料上讲这个安装一次性安装了openni和kinect的硬件驱动,我偷了个懒选择了一键安装,后来发现插入kinect时不能识别出kinect这个设备,后来我在安装PCL 1.6.0 All-In-One Installer时没有选择openni,当然也就没有安装kinect的驱动软件sensor,我安装了上面红色箭头指示的两个软件,将kinect插入后就能识别出设备了,然后使用openni提供的测试例程kinect可以显示点云数据,证明驱动是安装好了。
注意:由于我在安装sensor前安装了微软的kinect的驱动,所以讲kinect插入电脑时会显示windows for kinect,如果我们是使用的openni产生点云需要将kinect的驱动换为sensor的驱动,这个过程在我参考的第二篇博客中有很详细的讲述。
至此opencv+pcl+openni+kinect整个开发流程全部配置好了我们可以在vs2010中进行开发了。