我使用的是OpenCV 2.4.10,我想从我的华硕Xtion Pro Live上拍摄图像。当我尝试执行下面的代码时,我得到这个错误:"Can‘t open capture“。我尝试了所有的方法,比如传感器更新,opencv的openni编译和重新安装opencv (甚至是2.4.6版本)。
由于我可以运行NiViewer等示例,因此OpenNI和传感器工作正常。但是示例样本(在opencv-2.4.10/ openni_capture.cpp /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 --libs opencv
如何修复此错误?我使用的opencv版本有问题吗?
我做了Can not grab image from VideoCapture OpenCV with Asus Xtion Pro Live上所说的,但问题仍然存在。
发布于 2015-03-14 21:42:26
在打印该列表时,会列出哪些串行端口?你有没有检查过你的相机连接到哪个串口?在Linux上,您可以使用以下命令列出已挂载的设备:
lsusbhttps://stackoverflow.com/questions/29049529
复制相似问题