我在使用 OpenCV 的 Nvidia Jetson TK1 上从 ASUS 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。我按照此处的说明安装了 OpenNI2 (从源代码构建)。我可以很好地运行 SimpleViewer 和其他程序,因此华硕正在通信。按照这里的教程 2 ,我可以从文件中加载 OpenCV 程序中的视频图像,但不能读取华硕。运行lsusb
显示设备处于活动状态:
Bus 002 Device 002: ID 1d27:0601 ASUS
我已经从 ROS 中成功读取了华硕的数据。
我看过这个线程,但它没有帮助(我确实合并_ASUS
了开放宏)。
[更新] 我已经在 ubuntu 笔记本电脑(14.04)上加载了 openNI2 和 OpenCV3。同样,SimpleViewer 工作正常。内置摄像头工作正常(input.open(0)
访问默认摄像头)。唯一不起作用的是从 OpenCV 程序中读取华硕。
:叽:
有人对下一步尝试什么有建议吗?我确定我遗漏了一些明显的东西——感谢任何调试帮助。