OpenNI + OpenCV不适用于CV_CAP_OPENNI C ++

时间:2012-03-23 03:05:59

标签: opencv kinect openni

我正在尝试在Windows 7 x64上使用OpenCV和Kinect,因此我安装了OpenNI,NITE和PrimeSense(由avin2提供)。

我使用CMake编译OpenCV 2.3.1,我检查过的CMake Flags一切正常,但我尝试使用一个简单的代码,它从未找到Kinect。

OpenNI和PrimeSense的所有样本都可以正常工作。 我已经安装了x86和x64驱动程序但它仍然无效!

我正在使用VideoCapture,并且isOpened,总是返回0。

任何人都知道解决方案吗?

3 个答案:

答案 0 :(得分:1)

我在上周结束时在linux ubuntu 12.04下做了那件事并且工作正常。

尝试通过componant重新安装componant,然后重新编译openCV。

我上周结束了。

但我同意有些事情并不清楚如何处理。 我用一个assus xtion替换了kinect,现在它不起作用......但这是另一个话题。

关于PrimeSense硬件,因为我的kenow kinect是由PrimeSense制作的...而且PrimeSense是OpenNI项目的成员,该项目用于P.C.L库的背景。 ,openCV,以及ros的openni_camera堆栈......

答案 1 :(得分:1)

我已在Windows 7-64its(专业版)上安装了opencv kinect并且工作正常。

1.Drivers to kinect:here

注意

  • 当您安装dirvers时,请确保“Windows更新”不会安装aditional
    驱动程序。

    提示:安装时断开互联网连接。 ;)

  • 检入“设备管理器”并搜索PrimeSense。

    这样的事情:

    • PrimeSense的 | - Kinect Audio | - Kinect相机 | - Kinect Motor

检查它是否正常工作。运行OpenNI示例。

2.OpenCV

下载:

...://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3.1/OpenCV-2.3.1-win-superpack.exe/download

在cmake上配置opencv。记住检查“OpenNI”选项。 也许你会得到像“警告:PrimeSense ......”这样的错误,因为OpenCVFindOpenNI.cmake已经过时了。

你必须做一些改变。 转到此处下载更改:

点击here并下载(在页面底部:“以其他格式下载:原始格式”)。

您必须在原始文件“OpenCVFindOpenNI.cmake”中进行更改。 它位于根文件夹“OpenCV-2.3.1 \”

您删除了“ - ”的行以及替换/添加的行“+”。

配置并编译openCV。 在此之后它会正常工作,至少它应该......:)

当然..你必须编译......;) 我的情况 - Visual Studio C ++ 9(2008) - (我只在发布模式下编译)

编译后你必须在系统补丁中设置“bin”。

运行示例:

  

“OpenCV-2.3.1 \ samples \ cpp \ kinect_maps.cpp”并享受。

答案 2 :(得分:0)

也许Primesenser硬件驱动程序甚至avin2

都不支持kinect for windows