我正在使用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;
}
编译使用以下命令完成: G++ capture.cpp -o capture pkg-config --cflags opencv --libs opencv
如何修复此错误?我使用的opencv版本有任何问题吗?
我做了在无法从华硕Xtion Pro Live从VideoCapture OpenCV抓取图像时所说的 但问题仍然存在。
当您打印列表时,会列出哪些串行端口?您是否检查过您的相机连接到哪个串行端口?在 Linux 上,您可以使用下列方式列出已安装的设备:
lsusb