我正在使用OpenCV 2.4.10,我想从我的Asus Xtion Pro Live中获取图像。当我尝试执行下面的代码时,我收到此错误:“无法打开捕获。” 我尝试了所有的东西,比如传感器更新,opencv和openni编译以及opencv重新安装(甚至版本2.4.6)。
OpenNI和传感器工作正常,因为我能够运行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版本有问题吗?
我做了Can not grab image from VideoCapture OpenCV with Asus Xtion Pro Live上说的话 但问题仍然存在。
答案 0 :(得分:0)
当您打印列表时,列出了哪些串行端口?您是否检查过相机连接的串口?在Linux上,您可以列出已安装的设备:
lsusb