2

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 やその他のプログラムを問題なく実行できるので、Asus は通信しています。ここのチュートリアル 2 に従って、ファイルから OpenCV プログラムにビデオ イメージをロードすることはできますが、Asus を読み取ることはできません。実行lsusbすると、デバイスがアクティブであることが示されます。

Bus 002 Device 002: ID 1d27:0601 ASUS 

ROS内からAsusからの読み取りに成功しました。

このスレッドを見たことがありますが、役に立ちません ( _ASUSopen マクロに を組み込みました)。

[更新] それ以来、ubuntu ラップトップ (14.04) に openNI2 と OpenCV3 をロードしました。繰り返しますが、SimpleViewer は問題なく動作します。内蔵カメラは正常に動作します (input.open(0)デフォルト カメラにアクセスするため)。唯一うまくいかないのは、OpenCV プログラム内から Asus を読み取ることです。

:ぶつぶつ:

次に何を試すべきかについての提案はありますか?明らかな何かが欠けていると確信しています-デバッグの助けをいただければ幸いです。

4

0 に答える 0