我在使用OpenCV在Nvidia Jetson TK1上从华硕Xtion捕获视频时遇到问题(也在笔记本电脑上 - 请参阅下面的更新)。当我运行以下代码时,我总是得到“错误。”
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
int main()
{
cv::VideoCapture input;
input.open(CV_CAP_OPENNI_ASUS);
if(!input.isOpened())
{
std::cout << "Error.\n";
return -1;
}
}
我正在使用随JetPack一起安装的OpenCV2。我按照here(从源代码构建)的说明安装了OpenNI2。我可以很好地运行SimpleViewer和其他程序,所以华硕正在进行通信。按照教程2 here,我可以从文件中加载OpenCV程序中的视频图像,但不能读取华硕。运行lsusb
表示设备处于活动状态:
Bus 002 Device 002: ID 1d27:0601 ASUS
我 已成功从ROS内部读取华硕。
我见过this thread,但它没有帮助(我确实将_ASUS
合并到了开放宏中。)
[更新]我已经在ubuntu笔记本电脑(14.04)上加载了openNI2和OpenCV3。再次,SimpleViewer工作正常。内置摄像头工作正常(使用input.open(0)
访问默认摄像头)。唯一不起作用的是从OpenCV程序中读取Asus。
:叽:
有没有人建议接下来要尝试什么?我确信我错过了一些明显的东西 - 任何调试帮助都会受到赞赏。