今天安装kinect,按照网上的教程,安装好以后运行实例会出现类似下图的错误,
“The procedure entry point” 有时候是could not be located in the dynamic link library OpenNI,dll 要不就是XnDDK.dll,
搜索一通也没有找到合适的方法,于是卸载所有的Kinect已安装程序,重头开始,果然问题都没有复现,可能是版本的问题,什么stable和unstable,让人很难选择。
开始我选择stable不行,没想到下载安装unstable后却可以,真无语…………注意,这里说的所有版本都是开发版本,即dev包,如果不是为了开发用,请参考其他教程,下载redist包一类的。
现在把我安装过程记录如下:
我的环境,win7 32位,切记,在第一步之前,不要连接kinect,原因最后说。
第一步,
从http://www.openni.org/Downloads/OpenNIModules.aspx, 下载OpenNI binaries,选择Unstable,和windows32版本,下载安装,不用修改任何东西
第二步
https://github.com/avin2/SensorKinect,下载 zip文件并解压,在bin文件下找到 SensorKinect093-Bin-Win32-v5.1.2.1.msi ,并安装,
第三步
http://www.openni.org/Downloads/OpenNIModules.aspx ,下载openNI compliant middleware binaries,即NITE(注意,旧的安装指南,会要求输入授权码什么的,最新的已经不需要这一步)。选择Unstable,windows32位版本,下载安装
第四步
打开第二步下载的avin2-SensorKinect-15f1975\OpenNI\Data 文件夹,将其中的SamplesConfig.xml文件,复制替换 C:\Program Files\OpenNI\Data下的同名xml文件
第五步
从 https://www.dropbox.com/s/tpl9wtx96xbe6rr/KinectXMLs.zip 或者http://download.csdn.net/detail/debutent/4637584下载KinectXML's.zip文件,解压后打开文件,找到NITE文件夹,将其中的三个XML文件,
Sample-Scene,Sample-Tracking和Sample-user,复制替换到 C:\Program Files\PrimeSense\NITE\Data 下的同名xml文件。重启或不重启无所谓,依个人情况决定。
第六步
将Kinect连入电脑,电脑会自动安装驱动,稍等几分钟或,查看电脑设备管理器,出现三个设备,如下图
说明Kinect安装成功。
第七步
运行测试。打开C:\Program Files\OpenNI\Samples\Bin\Release,点击NiViewer.exe,启动运行,出现以下的画面,说明Kinect安装成功
打开C:\Program Files\PrimeSense\NITE\Samples\Bin\Release,点击Sample-SceneAnalysis.exe,启动运行,
最后,可能出现的错误
当打开第六步的实例时,弹出错误窗口提示:
The Procedure entry point......could not be located....
据分析网上资料和结合自身情况,这可能是由于微软自动为kinect安装的驱动,和以上我们安装驱动之间有冲突造成。如果你电脑上安装有驱动精灵一类的软件,在第一次插入Kinect时,会自动搜索驱动位kinect安装,这就会导致安装运行出错。所以,在配置kinect环境之前,不要急于连接kinect,等所有软件下载完成并安装后,在插入设备,这样安装的驱动就不会出现冲突的情况。
微软去年发布了kinect SDK for windows已经kinect studio,作用和以上的环境类似,只不过各有侧重,关于kinect sdk,可以参考以下的博客
http://www.cnblogs.com/aawolf/archive/2011/06/17/2083249.html,或者http://www.cnblogs.com/yangecnu/archive/2012/05/22/New-features-in-Kinect-for-Windows-SDK1_5.html安装简单很多。
关于OpenNI和kinect SDK的比较,可以参考下面的博客
http://www.cnblogs.com/TravelingLight/archive/2011/06/20/2085149.html