web-dev-qa-db-ja.com

OpenNIとOpenKinectの違いは何ですか?

1つのプロジェクトでKinectを使用することを検討していますが、すべてのライブラリ間で完全に失われています。正確には何が何であるかわからない。最も重要なのは、OpenNIとOpenKinectに関する記事を読んでいることです。しかし、それらの関係/違いを知りません。 PS。 UbuntuまたはMacを使用しています。

26
Hossein

OpenKinect は人々のコミュニティであり、図書館ではありません。 OpenKinectコミュニティは libfreenect Kinectドライバーをリリースします。 libfreenectとOpenNI + SensorKinectは、2つの競合するオープンソースライブラリ/ドライバーです。 libfreenect(Apache 2.0またはGPLv2)は、初期のリバースエンジニアリング/ハッキングされたKinectドライバーから派生していますが、OpenNI + SensorKinectはオープンソース(LGPL)のPrimeSenseコードから派生しています。

どちらのプロジェクトも、Windows、Linux(Ubuntu)、およびMac OS Xで動作します。どちらのプロジェクトでも、カメラからカラー画像と深度画像にアクセスできます。プロジェクトには互換性がなく、同時に使用することはできません。

ライブラリ間の違いは、モーター制御(libfreenectにはありますが、OpenNI + SensorKinectにはありません)と、高レベルのNUIサポートのためのNITEミドルウェアとの統合(OpenNI + SensorKinectのみ)です。これらの違いは、プロジェクトをライブラリの1つに向けて推進する傾向があります。

37
David Scherba

OpenNI2はOpenNIをWindows以外では使用できなくすることを付け加えておきます。

Kinectを使用したOpenNI1.xは、avin2という名前の男がOpenNIの上に配置され、KinectのインターフェイスをOpenNIに公開するSensorKinectプロジェクトを作成するまで、他のプラットフォームでは公式にはサポートされていませんでした。 OpenNI 2.0は主要なリファクタリングであり、Kinect用のWindows以外のものを公式にはサポートしていません。 http://social.msdn.Microsoft.com/Forums/en-US/kinectsdk/thread/a11ff6d9-7fbe-4636-8ff0-92d6220ac3f8/ 。この記事の執筆時点で、OpenKinectには最新のkinect(モデル1473)に問題があり、デバイスが使用できなくなります。修正が進行中であるかどうかはわかりません。

したがって、要約すると:-デバイスモデル1473の問題が解決された場合は、OpenKinectが最適です。そして、率直に言って、私は特定のプラットフォームを対象とする他のものを信用しません。 -この問題が解決するまでは、OpenNI 1.5 + SensorKinectを使用するしかありません。これは廃止されており、開発は中止されていますが、実際には、すべてのkinectモデルで機能するのはこれだけです。

5
csotiriou

この質問は何年も前ですが、私が知っていることを追加したいと思います。

私はかなりアマチュアなので、KinectをMacで動作させることは常に困難でした。 githubからコードをダウンロードし、複数の指示に従いましたが、正しく動作させることができませんでした。約10か月前、MacでKinect、OpenNIを動作させたのを覚えていますが、非常に不安定でした。 glviewサンプルプログラムはKinectからの深度とカラー画像を表示しましたが、時々失敗しました。

最近、ある男がNiTEとlibfreenectと一緒に、openni(1と2)の自作式を作成したことを知りました。私が試したところ、Mavericks 10.9.2 + 10.9.3で問題なく動作したので、Kinectが正しく動作していない場合は、以下を参照してください: https://github.com/totakke/homebrew-openni

4
tnq177

執筆時点では、OpenNiはKinect for Windowsと互換性がありますが、libfreenectは互換性がありません。

3
David Quaid