无法使用Opencv代码从Xtion Pro Live获取图像

无法使用Opencv代码从Xtion Pro Live获取图像,opencv,openni,asus-xtion,primesense,Opencv,Openni,Asus Xtion,Primesense,我使用的是OpenCV 2.4.10,我想从我的华硕Xtion Pro Live拍摄图像。当我试图执行下面的代码时,我得到一个错误:“无法打开捕获。” 我尝试了一切,比如传感器更新、openni编译的opencv和重新安装的opencv(甚至是2.4.6版) OpenNI和Sensor工作正常,因为我能够运行NiViewer等示例。但是示例openni_capture.cpp(在opencv-2.4.10/samples/cpp上)无法正常运行 守则: #include "opencv2/ope

我使用的是OpenCV 2.4.10,我想从我的华硕Xtion Pro Live拍摄图像。当我试图执行下面的代码时,我得到一个错误:“无法打开捕获。” 我尝试了一切,比如传感器更新、openni编译的opencv和重新安装的opencv(甚至是2.4.6版)

OpenNI和Sensor工作正常,因为我能够运行NiViewer等示例。但是示例openni_capture.cpp(在opencv-2.4.10/samples/cpp上)无法正常运行

守则:

#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>

using namespace cv;
using namespace std;
int main(int argc, char* argv[])
{
VideoCapture capture;
    capture.open(CV_CAP_OPENNI_ASUS);
    if ( !capture.isOpened() )
    {
    cout << "Error opening capture" << endl;
    return -1;
    }
    if( !capture.grab() )
    {
    cout << "Can not grab image" << endl;
    }
    return 0;
}
#包括“opencv2/opencv.hpp”
#包括“opencv2/highgui/highgui.hpp”
#包括“opencv2/imgproc/imgproc.hpp”
#包括
使用名称空间cv;
使用名称空间std;
int main(int argc,char*argv[])
{
视频捕获;
capture.open(CV_CAP_OPENNI_ASUS);
如果(!capture.isOpened())
{

cout在打印列表时,列出了哪些串行端口?是否检查了摄像头连接的串行端口?在Linux上,您可以列出安装的设备,包括:

lsusb

嗯..我想重点是确保你的相机出现。然后你需要在opencv中明确找到它。我认为这是解决这个问题的一个好方法:当我运行lsusb命令时,我得到这个:“总线001设备004:ID 1d27:0601”。它使用的usbinterface是usbinterface=2。danieljay,我按照你给我看的线程上的说明进行了操作,但什么也没发生。Xtion是否有问题?它是否关闭(传感器或摄像头)?在将其与opencv连接之前,您能否首先将其视为已连接的设备?尝试了任何默认软件以确保您可以捕获流?同样,一旦建立了此功能…我不确定opencv打开视频的默认设置…但您想检查您相机的分辨率和最大帧速率@分辨率对不起,可以吗告诉我用于编译的命令是否正确?