問題タブ [stereo-3d]
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.
c# - 現実世界の距離: ステレオ カム、cvPerspectiveTransform、Emgu、C#
次の質問について、お役に立てれば幸いです。
キャリブレーションされたステレオ リグからグレースケール イメージをキャプチャし、修正しました。現在、左の画像の特定の点の、左のカメラを基準とした現実世界の x、y、z 座標を取得しようとしています。そのために cvPerspectiveTransform を使用しようとしています。
私の短縮コードは以下のとおりです。
コードはある程度機能しているように見え、次の 4 つのデータ ポイント (15.4510、-474.7451、-527.0327、-912.6536) を返します。これは、x、y、z、および w を表すと理解しています。
質問 1) この仮定は正しいですか? - w による除算が既に行われ、XYZ が既に返されている可能性があります。その場合、-912.6536 は無視すべきアーティファクトです。これに関する意見を歓迎します。
質問 2) しかし、現実世界の座標 X、Y、Z を実現するために、それぞれ「x」、「y」、「z」を「w」で割る場合、結果の XYZ 座標はどの単位になりますか? それらはキャリブレーションで使用される「ポイント」に関連していると理解しています。この場合、チェス盤の角は 2.5 cm 離れていましたが、この場合のオブジェクトのカメラからの距離は約 60 cm でした...ご覧のとおり、数学はそうではありませんうまくいかない。
私は Bradski 本の関連するページを熱心に読みました (そしてオンラインで検索しました) が、何かが欠けているに違いありません。
ありがとう!
c++ - スペース シューティング ゲームの 3D 効果音
スペース シューティング ゲームに 3D サウンド システムを実装しようとしています。私はすべての準備ができています(両側で異なる音量でサウンドを再生するなど)が、両側の正しい音量を計算するための正しい式を見つけることができません。
一般的な考え方は、プレイヤー(船)が敵を殺すたびに(カメラは常に船の上部にあります)、爆発が正しい左右の音量で聞こえるということです。したがって、敵が船の右側にいる場合、左側の場合と同じように、右側のチャネルがより多く聞こえます。
ので、私は持っています
と
ゲーム エンジンはどのように左右のチャンネルを計算しますか?
opengl - ステレオ3Dレンダリングで、特別に作成されたソフトウェアが必要なのはなぜですか?
3Dグラフィックスレンダリングの素朴な見方を考えると、ステレオ3Dレンダリングは開発者にとって本質的に透過的であり、グラフィックスハードウェアとドライバーの完全な機能である必要があるようです。OpenGLウィンドウがシーンを表示している場合は常に、ジオメトリ、照明、カメラ、テクスチャなどの情報を使用して、シーンの2D画像をレンダリングします。
シーンにステレオ3Dを追加することは、基本的に、元々1つあった場所に2つの横方向にオフセットされたカメラを使用することを意味し、他のすべてのシーン変数は同じままです。その場合の唯一の追加情報は、カメラを作成するためにどれだけ離れているか、およびそれらの中心光線を収束させるためにどれだけ離れているかです。これを考えると、GLコマンドシーケンスを取得し、ドライバーレベルで適切なコマンドをインターリーブして3Dレンダリングを駆動するのは簡単に思えます。
アプリケーションは、特別な3Dハードウェアアーキテクチャを利用するために特別に作成する必要があるようですが、実装が面倒で法外なものになっています。これがステレオ3D実装の未来になると期待するのでしょうか、それとも私はあまりにも多くの重要な詳細を理解しているのでしょうか。
私の特定のケースでは、.netOpenGLビューポートコントロールを使用しています。私は当初、ステレオ対応のハードウェアとドライバーを用意するだけで、ステレオ3Dを有効にできることを望んでいました。
c# - グラフィックカードでステレオスコピック 3D をプログラムで有効にする
NVIDIA Quadro 5000 を使用しており、C# プログラムの開始時にグラフィックス カードで次の設定を行い、画面が 3D アプリケーションを自動的に検出するようにします。
次の設定を行う必要があります。
- 立体視設定: 立体視 3D を有効にする
- ステレオ表示モード: Generic Active Stereo
- ステレオを有効にする: オン
- 垂直同期: オン
おそらくXNAでも可能ですか?
opencv - OpenCVステレオマッチング
私はOpenCVの初心者です。2つのWebカメラを使用してステレオプロジェクトに取り組んでいます。Webカメラのキャプチャを左右のビデオに表示できます。次のことを行いたい:左側のフレームの任意のポイントをクリックすると、右側の画像で一致するポイントを見つけたい(Kindaは、ブロックマッチングまたはその他のアルゴリズムを使用して2番目のビューにポイントを投影します)。だから私は視差を計算することができます。これどうやってするの?前もって感謝します。
c++ - opencv で最高のステレオ対応アルゴリズム
さて、OpenCV ライブラリを使用して、SGBM (セミグローバル ブロック マッチング)、BM (ブロック マッチング)、および変分マッチング アルゴリズムを使用して、ステレオ イメージ ペアの視差を計算するステレオ セットアップを取得しました。しかし、格差はグラウンド トゥルースの格差ほど良くありません。
私が知りたかったのは、opencv がグラウンド トゥルース ディスパリティを計算できる関数またはプログラムを提供しているかどうかだけです。Daniel Scharstein と Richard Szeliski による "A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms" のようないくつかの論文によると、信念伝播アルゴリズムは最良のステレオ対応アルゴリズムであると述べています。
opencvでグラフカットアルゴリズムまたは信念伝播アルゴリズムを使用して視差を計算する既存のコードはありますか?
opencv - OpenCV2.4python-ステレオマッチングと視差マップ
やあ!
python2.7とopencv2.4を使用して、視差マップとステレオ画像からステレオ画像を取得したいと思います。
私はグーグルしてきましたが、次のような理解できるPythonコードは見つかりませんでした。
何か良いアドバイスはありますか?
c++ - OpenCVStereoRectifyUncalibratedから3Dポイントクラウド
cv::stereoRectifyUncalibratedで値を計算するまでのすべての部分を実行するコードがいくつかあります。ただし、そこから3Dポイントクラウドを取得するためにそこからどこに行くべきかわかりません。
Qマトリックスを提供するキャリブレーション済みバージョンで動作するコードがあり、それをreprojectImageTo3DおよびStereoBMで使用して、ポイントクラウドを提供します。
カメラのキャリブレーションができない場合があるため、2つの異なる方法の結果を比較したいと思います。
opencv - 修正された画像に基づく点群のステレオ再構成
修正されたステレオ画像から抽出された、一致する 2D 特徴のペアがあります。OpenCV の cvPerspectiveTransform 関数を使用して、それらの機能を 3D で再構築しようとしました。結果は、現実世界の実際のオブジェクトの寸法と一致しません。Matlab キャリブレーション ツールボックスには、2D ステレオ機能を 3D ポイント クラウドに変換する機能があることに気付きました。それにもかかわらず、特徴は元の画像から持ち上げられています。
平行化された画像で作業したい場合、2D 特徴位置と視差情報に基づいて 3D 位置を再構築することは可能ですか?