問題タブ [openni]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opencv - Kinect + OpenCV+OpenNIファンタイム
そのため、開発環境でkinectからビデオストリームを取得できるようにシステムをセットアップしようとしています。これまでの私の設定はこれです:
- Windows 7 32ビット、
- OpenCV 2.3.1スーパーパック(大きな.exeがOpenNIで動作するようにすでに設定されていると仮定しています)
- OpenNI(最新の不安定)
- NITE
- PrimaSense
- 私のKinectは、ここから取得した「SensorKinect-Win-OpenSource32-5.0.3.3」以外のドライバーの操作を拒否しました: http: //nicolas.burrus.name/index.php/Research/KinectRgbDemoV6
これまでのところ、次の作品があります。
- NicholasのRGBDemoは問題なく動作し、kinectが検出され、機能します
- OpenNIのUserTracker.net.exeは、2つのエラーをスローします。一部のプロシージャエントリポイントがDLLXnDDK.dllに見つかりません。しかし、その後はほとんど問題なく動作します
私の目標は、OpenCVからkinect_maps.cppファイルを機能させることです。現在、kinectを検出できません。
だから私の質問は、OpenCVとOpenNI /Niteの間のこのギャップを埋めるために何を試みることができるかということです。
opencv - OpenNI + OpenCV は CV_CAP_OPENNI C++ では動作しません
Windows 7 x64 の Kinect で OpenCV を使用しようとしているので、OpenNI、NITE、および PrimeSense (by avin2) をインストールしました。
CMake を使用して OpenCV 2.3.1 をコンパイルしました。チェックした CMake フラグですべてが正しいのですが、単純なコードを使用しようとしましたが、Kinect が見つかりませんでした。
OpenNI と PrimeSense のすべてのサンプルは正常に動作します。既に x86 および x64 ドライバーをインストールしましたが、それでも動作しません!
私は VideoCapture を使用しており、isOpened は常に 0 を返します。
誰でも解決策を知っていますか?
processing - 複数の Kinect を使用した PointCloud
Processing で複数の kinect を持つ PointCloud マッピング ユーザーを作成しようとしています。反対側に 2 つのキネクトを使用してユーザーの前面と背面を取得し、両方の PointCloud を生成します。
問題は、PointCloud X/Y/Z が同期されていないことです。2 つが画面に表示されるだけで、見栄えが悪くなります。2 番目の PointCloud を最初の PointCloud に「結合」するように変換するために、それらを計算または比較する方法はありますか? 位置を手動で変換することもできますが、センサーを動かすと再びオフになります。
kinect - Kinectオブジェクト認識
私は、平らな表面と小さなオブジェクトを認識する必要があるKinectプロジェクトに取り組んでいます。Macマシンでopenniを使う予定です。では、オブジェクト認識にどのライブラリを使用する必要がありますか?このプロジェクトを完了するには、どのような知識が必要ですか。
java - LinuxでOpenNI用のJavaファイルをコンパイルして実行する方法
私はKinect用のOpenNIを試し、 このガイドに従ってサンプルコードをインストールして実行できるようにしました。しかし今、私はコードを変更し、コンパイルしてテストしたいと思います。ただし、Linuxでコンパイルして実行する方法がわかりません。ここで、Windows用のガイドを見つけましたが、Linux用のものを見つけることができませんでした。
Linux用にWindowsコードを適応させてみました
しかし、それは私に与えます
JavaコードをKinectにコンパイルして実行する方法についてのアイデアはありますか?OpenNIフォルダー内のサンプルに対してそれを行う方法を知っているなら、それは完璧でしょう。
kinect - .oni ファイルの編集
私はopenNIで記録を行い、.oniファイルを取得しました。これには、RGB と深度のデータとソルソ スケルトン ジョイント座標があります。これはかなりクールです。私はクラスを使用しました:
しかし今、私はこのファイルを編集する必要があります。特別なことは何もありませんが、次のような基本的な操作です:
- 最初と最後の一部をカット
- 2倍速くする
- すべてのメタデータを含む 1 つのフレームを取得する
いくつかのアイデア?
c - Kinect と OpenNI の C のサンプル コード (別名 C++ ではありません)
「Making Things See」のプロジェクトで使用されている Java/Processing コードに沿った C (C++ ではない) のサンプル コードを知っている人はいますか?
image-processing - オブジェクトと Kinect の光軸の間の角度
これが私のセットアップです: Kinect は水平移動用のアクチュエーターに取り付けられています。これが私がやっていることの短いデモです。http://www.youtube.com/watch?v=X1aSMvDQhDM
これが私のシナリオです:
上図を参照してください。アクチュエータの中心「M」と Kinect の光軸の中心「C」の間の距離を「dx」(ミリメートル) とすると、Kinect から得られる深度情報「D」(ミリメートル) は相対的です。光軸へ。Kinect の中心にアクチュエータが取り付けられているので、オブジェクトと Kinect の間の実際の深さは「Z」です。
X は、光軸とオブジェクトの間の距離 (ピクセル単位) です。Theta2 は、光軸と物体の間の角度です。「dy」は無視できます。
これが私の問題です。 Z を取得するには、図 2 の距離方程式を使用するだけです。ただし、X の実際の値 (mm) はわかりません。オブジェクトと光軸 'theta2' の間の角度がある場合、Dsin(theta2) を使用して X を mm 単位で取得できます。ただし、theta2 も不明です。X (mm 単位) がわかれば theta2 を取得でき、theta2 がわかっている場合は X を取得できます。では、X 値 (mm 単位) または光軸とオブジェクト P の間の角度を取得するにはどうすればよいでしょうか?
Kinect の最大視野が 57 度であり、Kinect の最大水平解像度が 640 ピクセルであることを知っているので、kinect の 1 度は 11.228 (640/57) ピクセルをカバーすると言えます。しかし、実験を通じて、これにより少なくとも 2 度の誤差が生じることがわかりました。Kinect のレンズの歪みが原因だと思われます。しかし、それを補正/正規化する方法がわかりません。
どんなアイデア/助けも大歓迎です。
kinect - Kinectに関する矛盾する情報
モーションコントロール(深度センサーを使用)を使用してアプリケーションの作成を開始したかったのですが、どこから始めればよいのかわかりません。利用可能なハードウェアとソフトウェアのオプションの現在の比較を探していました。Asus Xiton、Kinect SDK、OpenNIなどです
が、残念ながら私は失敗しました。情報が古いか、矛盾しています。与えられたハードウェア/ソフトウェアのセットアップ(これも「開始が簡単」)で何ができるかを知り、1つを選択したいと思います。
情報/リンクをいただければ幸いです。
opencv - Kinectを使用してOpenCVで深さの値を取得してからミリメートルに変換する方法は?
kniectを使用してOpenCV 3.2.1でVS2010を実行しています。
ここからチュートリアルを使用しています
コードを実行すると、次の結果が得られます。
約1メートル離れた壁の近く:
(Kinect を壁に向け、1 メートルほど離れたところに配置)
これらの値は実際には 2 ピクセルであると言われました。私は本当に理解していません。
したがって、これまでの私の理解は次のとおりです。
深度フレームを取得し、depthMap というマトリックス内に格納しました。マトリックスのサイズは 640*480 になりました。コード depthMap.at(0,0) を使用して、行 0、列 0 から最初の深度値を取得しています。これは、私が期待している最大値の 10000 から大きく外れています
これらの値を利用できるように、これらの値をミリメートルに変換するにはどうすればよいですか? ありがとうございました