Kinect + AR (2)

来源:互联网 发布:阿里云上搭建lamp 编辑:程序博客网 时间:2024/06/05 23:57

要让Kinect跑起来,同时能把AR的基本功能加上去,先要把环境配置完。

我们的实验环境是Mac OSX 10.7.3 + Xcode 4.3.2。以下是进一步的实验准备。

(1)安装mac os x 10.7.3 combo update(点击进入官方下载)

安装完成之后在终端窗口进行检查:

xcode-select -version

我们希望看到这样的结果:xcode-select version 2307。

(2)安装Xcode的Command Line Tools

可以直接从Xcode菜单中的Preferences->Downloads里面进行安装,前提是你有一个Apple付费开发人员ID( paid Developer ID),否则可以直接从这个链接下载:https://developer.apple.com/downloads/index.action?=command%20line%20tools。安装完成之后,执行以下命令:

sudo /usr/bin/xcode-select -switch /Applications/Xcode.app sudo ln -s `which clang` /Applications/Xcode.app/Contents/Developer/usr/bin/

这样无论你系统里面本身有多少个xcode平台,我们都会默认使用最新的xcode进行编译(xcode4.3.2就像是一个app一样,直接安装在应用程序目录下,而不像以前的版本会被安装到/Developer/路径下)。如果你没有跑这两行代码,可能会遇到这样的问题:

Warning: xcodebuild exists but failed to executeWarning: Xcode does not appear to be installed; most ports will likely fail to build.

(3)安装Macports

通过Macports可以编译、安装、维护很多开源软件,非常有用,而且相对比较易用。

(4)安装OpenCV

因为我们只需用到OpenCV的基本库,所以没有通过它的源代码进行编译执行,而是直接通过Macports进行安装:

sudo port install opencv
如果系统没有安装python,可以参考opencv的官方安装指导(链接),进行捆绑式的安装。安装之后,不妨跑一遍:

sudo port selfupdate
sudo port upgrade outdated

这样就能确保你安装的软件包是最新的。

如果没有改动安装路径,opencv的lib是被默认安装到路径/opt/local/lib/中,在这里你会看到一堆libopen开头的lib文件。因为安装过多个版本的OpenCV,导致动态库存放路径比较乱,lib dependencies也很乱,后来用otool命令进行查看,删除了一些不必要的库,这才让程序跑起来。

(5)OpenNI、SensorKinect和Nite

这些软件包都是用于Kinect相关开发所使用的。这边简单提一笔OpenNI的安装:

安装OpenNI前,首先通过Macports安装LibUSB 1.0.8(按顺序):

sudo port install libtool
sudo port install libusb-devel +universal

在本机安装的OpenNI版本是1.5.2.23,直接从代码编译(按照官方说明),然后安装。但是如果直接按照官方说明进行安装,安装是不能成功的,因为文件存放位置的不同。编译成功后,在Platform/Linux/下面会多出一个Bin的文件夹,里面的文件夹x64-Release包含了很多文件。对这些文件进行分类:把后缀名是dylib的文件放入新建的Lib文件夹下,把后缀名是jar的文件放入新建的Jar文件夹下,把执行文件放入新建的Bin文件夹下。然后把这些文件夹拷贝到install.sh所在的目录下(Platform/Linux/CreateRedist/)。再把与Platform并级的文件夹Include也copy到install.sh所在的目录下(Platform/Linux/CreateRedist/),然后在该目录下根据官方说明执行:

sudo ./install.sh
这样才能正确安装。当然还可以直接修改install.sh文件中的路径设置,这样更快一些,不过不懂shell命令的话还是不要轻易尝试了。其实,安装OpenNI还有一种办法,可以直接下二进制包来安装,链接如下http://www.openni.org/Downloads/OpenNIModules.aspx。


SensorKinect的编译和安装就比较简单了,直接按照官方说明,就可按部就班地完成。不过值得注意的是,我们这里用的是SensorKinect的最新stable版本,而没有用PrimeSensor,因为在之前的实验里面直接用PrimeSensor驱动,总是找不到Kinect。


NITE是用来进行骨骼提取,它没有提供source code,所以我们先用它提供的方法进行实验,在这里可以下载。ms给Mac用户只有一个选择,下载完解压后,在终端里面运行install.sh命令,即可顺利安装完。

(6)ARToolkit

这个包是用来运行增强现实(AR)相关的功能的。直接下载source code,用Xcode编译之后运行,生成相应的库,备用。

(7)PCL(Point Cloud Library)/Eigen/Boost

这些包都是用于点云处理的,主要是进行手势识别用。Eigen和Boost都可以用Macports直接安装:

sudo port install boostsudo port install eigen

但是PCL就要独立安装了,可以直接下载最新版安装文件,http://pointclouds.org/downloads/macosx.html,也可以通过编译源代码来执行,默认安装后相应的lib文件放在/usr/local/lib目录下。


OK,终于把需要用到的环境都配好了。











原创粉丝点击