0

我正在使用 OpenCV 2.4.10,我想从我的 Asus Xtion Pro Live 中获取图像。当我尝试执行下面的代码时,我收到此错误:“无法打开捕获。” 我尝试了所有方法,例如传感器更新、opencv 与 openni 编译和 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;
}

使用以下命令完成编译: g++ capture.cpp -o capture pkg-config --cflags opencv --libs opencv

我该如何解决这个错误?我使用的opencv版本有问题吗?

我做了关于无法使用 Asus Xtion Pro Live 从 VideoCapture OpenCV 抓取图像的内容, 但问题仍然存在。

4

1 回答 1

0

当您打印列表时列出了哪些串行端口?您是否检查过您的相机连接到哪个串行端口?在 Linux 上,您可以列出已安装的设备:

lsusb
于 2015-03-14T13:42:26.373 回答