1

Kinect for Windows で実際に画像を生成するために、あらゆることを試しました。Daniel Shiffman の Openkinect ライブラリをダウンロードし、指示に従ってインストールしましたが、kinect デバイスがインストールされていないというメッセージが表示されます。Lion のシステム プロファイラーを調べたところ、カメラと Kinect オーディオの情報が利用可能でした。それでも、私は成功していません。RGBDepth の例で Processing を実行していますが、深度画像、RGB 画像、または IR 画像を有効にしようとするたびに nullpointerexception が発生します。プログラムが Kinect を「見る」ことができないため、画像が null を返し、例外が発生すると考えています。ラップトップで Kinect を「認識」させるにはどうすればよいですか?

また、12V DC アダプターを接続するか、USB ポートを切り替えると言う前に、私は既に行っています。

Macbook Pro OSX Lion late 2011 で実行

4

1 に答える 1

0

編集 2: 作業コード: このブランチには、私が行っていた変更のサブセットが既に含まれており、実際に実行されます。不安定ですが、少なくとも奥行きと色のイメージは得られます。 https://github.com/zarvox/libfreenect/tree/k4w-wip

この不安定さは、Darwin の libusb でのアイソクロナス転送によるものです。libfreenect に付属するパッチは、libusb の不安定性を軽減するだけです。



Kinect for Windows は、メイン ツリーではサポートされていません。このパッチを試しましたか? https://github.com/renewagner/libfreenect/tree/k4w-wip

編集:このリポジトリは、私(私たち)が持っているファームウェアのバージョンには古すぎます。

カメラを検出するには、usb_libusb10.c をチェックする 3 つの場所で変更するだけですdesc.idProduct == PID_NUI_CAMERA。これは今でなければなりません

(desc.idProduct == PID_NUI_CAMERA || desc.idProduct == PID_NUI_CAMERA_K4W);

そして追加:

#define PID_NUI_CAMERA_K4W 0x02bf

また、Kinect for Windows にはモーターがないことにも注意してください。ソースが存在することを前提として、ソースを変更する必要がある場合があります。

しかし、これではまだ不十分です。USB コマンドも変更されました。

camera.c では、

static int freenect_fetch_zero_plane_info(freenect_device *dev)
{
    freenect_context *ctx = dev->parent;

    char reply[0x200];
    uint16_t cmd[5] = {0}; // Offset is the only field in this command, and it's 0
    // Different reply based on hardware
    const int expected_reply_length = dev->kinect_for_windows ? 334 : 322;
    int res;
    res = send_cmd(dev, 0x04, cmd, 10, reply, expected_reply_length); //OPCODE_GET_FIXED_PARAMS = 4,
    if (res != expected_reply_length) {
        FN_ERROR("freenect_fetch_zero_plane_info: send_cmd read %d bytes (expected %d)\n", res, expected_reply_length);
        return -1;
    }

Kinect for Windows の場合に格納するためのフィールドを freenect_device に追加したことに注意してください。

それはまだデータをストリーミングしていませんが、これは私が得た限りです。

于 2012-06-26T07:06:35.793 に答える