問題タブ [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.

0 投票する
0 に答える
1390 参照

gstreamer - http または rtsp プロトコルを使用して、2 つの IP カメラからの 2 つのビデオ ストリームを IP 経由の 1 つのストリームとして結合する方法を教えてください。gstreamerを使いたい

mjpeg ストリームを提供する 2 つの IP カメラがあります。ステレオを取得するために、これらのカメラを左右のカメラとして扱いたいと思います。

私はすでに GStreamer を使用して左右のカメラを別々に作業していました。それは完全にうまくいきました。

ここで、単一のストリームのみを使用して再生を同期したいと考えています。そのために、これら 2 つの IP カメラ ストリームを 1 つのストリームとして結合し、プレーヤー側でデコードしたいと考えています。したがって、この問題は 2 つのステップに分けられます。まず、2 つの IP カメラ ストリームから単一のストリームを取得します。ここでは、左右のソースに「左」タグと「右」タグなどのタグを付けることができます。次に、タグを使用して各ストリームを取得し、デコードして表示します。アクティブなステレオを得るために左右の画像として。

video3d に似ていますが、パッシブ ステレオではなく、アクティブ ステレオを使用したいと考えています。クロスプラットフォームなのでGStreamerを使いたいのですが、GStreamerは初めてです。FIRST ステップの GStreamer パイプラインと SECOND 状態のロジックを提供できれば、私にとって役に立ちます。

0 投票する
2 に答える
9464 参照

opencv - OpenCV ステレオ カメラ、物体距離の検出

OpenCV の初心者である私は、openCV をビルドし、Qt をインストールして、サンプルhttp://code.google.com/p/opencvstereovision/source/checkoutを正常に実行しました。その結果、左右のウェブカメラがキャプチャされ、キャリブレーション後に両方の調整された画像と深度マップが得られます。私は次のことをしたいです。オブジェクトをクリックして、これらの左または右の画像のいずれかに焦点を合わせます。次に、他の画像で対応するピクセルを検出し、このオブジェクトまでの距離を計算します。今何をすべきかわからないので、ガイドが必要です。たぶん、最初に対応する点を計算すれば、残りを解決できるかもしれません。これどうやってするの?

0 投票する
1 に答える
2944 参照

opencv - OpenCVステレオレクティファイ

ラボで固有値(カメラ行列と歪み係数)をすでに計算している場合。

その後、カメラを実世界のフィールドに移動しました。SolvePnP()を使用してカメラのポーズを推定するために、実世界で約6〜10の既知の場所を使用しました。だから私は2台のカメラの回転と平行移動も持っています。

次に、2台のカメラを使用してステレオ通信を作成します。質問は:stereoCalibrate()を使用する必要がありますか?

または、既知の組み込み関数を使用して、StereoRectifyをすぐに呼び出すことはできますか?StereoRectify()は回転と平行移動のベクトル/行列を期待していると書かれていますが、ドキュメントは次のことを期待していると言っています。

両方のカメラのカメラポーズがあるので、SolvePnPから取得した2つの平行移動ベクトルと回転ベクトルを単純に減算し、その結果をStereoRectify()に渡すことはできますか?(両方のカメラは同じ共通のオブジェクトポイント参照システムを使用します)

0 投票する
1 に答える
4140 参照

image-processing - OpenCV: Stereo Rectification の問題 (書籍のサンプル コードを使用)

だから私はOpenCVに問題があります。本「Learning OpenCV」のサンプルコードを使用しました。2 台のカメラのすべての組み込み関数と外部関数を計算するコードを取得しましたが、画像を再マップすると、空の画像しか取得できません。両方のカメラから 6 枚の画像を使用し、9x6 のチェス盤を使用します。入力ファイルは、左右の画像が交互に表示されます (lr=i%2 は私にそう思わせました...)。

以下は私のコードです。最後の方に cvRemap() 関数を追加しただけです。

以下は、プログラムから得られた外部行列です。

そして、見つかった固有パラメータは次のとおりです。

どんな助けでも大歓迎です。私は OpenCV の経験があまりなく、ほとんどの関数が何をしているのかについて理解するのに苦労しています。だから私は

0 投票する
1 に答える
2482 参照

opencv - opencv のステレオ リグで撮影した画像から生成された点群

Point Cloud Library で提供されている点群を表示できます。しかし、問題は、ステレオ リグ イメージから生成したポイント クラウドを表示できないことです。画像の解像度は 640x480 ピクセルです。

ただし、ポイント クラウド内のポイントの数は、画像のペアごとに異なります (つまり、307200 ポイントではなく、194261、190472 などのようにポイント数が少なくなります)。

ポイント クラウドで 307200 ポイントを取得できないのはなぜですか?

また、Point Cloud Library を使用してそのような点群を表示するにはどうすればよいですか?

0 投票する
2 に答える
2947 参照

opencv - 視差マップの色はopencvでは逆方向です

私の問題は、視差マップの色が逆になっていることです。遠くにあるものと同じように、カメラに近いものよりも物が軽いです。

私は多くのこと(つまり、convertTo、convertScaleAbs、およびそれらの値のさまざまな組み合わせなど)を試しましたが、視差マップの色を反転させることができないようです(つまり、通常-近いものは遠いものよりも明るい) 。

私はそれをするのにいくらかの助けが必要です。

また、好奇心から、視差マップの色空間を、オンラインで表示されるMATLABのカラフルな色空間のように変更するにはどうすればよいですか?

これが私のコードとpastebinです。http://pastebin.com/E3vVN6UU

0 投票する
0 に答える
512 参照

image-processing - opencvのステレオ対応でオブジェクトの境界がはっきりしないのはなぜですか

ほぼ平行で、互いに離れていない 2 枚の写真が得られました。
OpenCVを使って視差マップ(ステレオ対応)を作成しようとしています。
現実世界のシナリオで使用しようとしているため、チェス盤のキャリブレーションの使用は少し非現実的です。
そのため、私はstereoRectifyUn calibrationd()を使用しています。

整流に対応する 2 つの異なるセットを使用して、結果を比較しようとしました。

  • ポイントを手動で選択 (ポイント & クリック)
  • SURF から生成され、RANSAC でフィルタリングされたポイント

入力画像 1: http://i.stack.imgur.com/2TCi3.jpg
入力画像 2: http://i.stack.imgur.com/j1fFA.jpg

(修正などに使用する前に、画像の歪みを修正することに注意してください)

SURF と RANSAC で調整された画像:
(1 と 2 の順序で):
http://i.stack.imgur.com/pwbUw.jpg
http://i.stack.imgur.com/mb7TM.jpg

手動で選択したポイントを使用して画像を修正しました (これはより不正確です!):
http://i.stack.imgur.com/Bodeg.jpg

さて、問題は、結果を見ると、サーフ バージョンがほぼ完全に修正されていることがわかります (エピポーラ線は非常によく整列しています)。
手動で選択された点のバージョンはかなりひどく修正されていますが、エピポーラ線はどこにも整列していません。

しかし、両方の整流を使用して openCV の sgBM() の結果を見ると、
手動ポイントの結果:
http://i.stack.imgur.com/N8Cyp.png
SURF ポイントの結果:
http://i.stack.imgur. com/tGsCN.jpg

表示されている視差/深さは、SURF ポイント (適切に修正されたバージョン) を使用すると、より正確/正確になります。そこに驚きはありません。
ただし、実際に検出されたオブジェクト ピクセルとオブジェクト境界は、正しく修正されていないバージョンの方がはるかに優れています。
たとえば、ペンが実際にはペンであり、ペンの形をしていることがわかります。これは、修正された視差マップが正しくなく、修正されたマップでは見られません。
質問は、なぜですか? どうすれば修正できますか?(私は sgBM() パラメーターをいじってみました。それらが両方で同じであることを確認しましたが、効果はありません。何らかの理由で、ひどく修正された画像が見栄えがするのは、さまざまな修正だけです(オブジェクト境界まで))。

0 投票する
1 に答える
5302 参照

opencv - 半グローバルブロックマッチング

私はopencvのセミグローバルブロックマッチングに取り組んでいます。実際、コスト集計を計算するためにすべての方向を参照する必要がある理由がわかりません。このパス(スキャンライン)の長さを制限しようとした人はいますか?

0 投票する
1 に答える
1176 参照

opencv - 優れたビルトインステレオカメラとロボット車両の提案

自律航法に関する趣味のプロジェクトに取り組んでいます。障害物の検知にステレオカメラを使用し、障害物を回避するためにロボット車両の動きを制御したいと思います。

(1)コンピュータと接続するためのパラレル/シリアル/イーサネットポートを備えた既製のロボット車両を見つけようとしています。PCを介して車両にコマンドを送信して、左/右に曲がる、速度を上げる/下げる、開始/停止することができるはずです。

市場で入手可能な、優れた、正確で、信頼性の高い、安価なロボット車両はありますか?

(2)ステレオカメラの製作を考えています。しかし、優れた、正確で、信頼性の高い、安価なステレオカメラが市場に出回っている場合。私も購入する準備ができています。

注:これは小型のペットプロジェクトであるため、PCと接続できる「安価で信頼性の高い」ステレオカメラとロボット車両を探しています。

前もって感謝します。

PS:アイテムがインドで入手可能であれば良いでしょう。

0 投票する
1 に答える
2912 参照

c++ - initUndistortRectifyMap は空のマップ行列を返します (c++)

まず、opencv パッケージ (stereo_calib.cpp) のサンプル コードを使用してカメラを調整しました。これを使用して、ステレオ マッチング用に画像を調整します。1 つの画像の修正を開始しましたが、単に initUndistortRectifyMap が何も含まないマップを返すため、それを機能させることができません。何が間違っているのかわかりません。

回答: 画像が読み込まれず、画像サイズがゼロで、マップが空の行列だったため、非常に単純でした。できるだけ早く回答を投稿します。