問題タブ [disparity-mapping]
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 - 視差マップの色はopencvでは逆方向です
私の問題は、視差マップの色が逆になっていることです。遠くにあるものと同じように、カメラに近いものよりも物が軽いです。
私は多くのこと(つまり、convertTo、convertScaleAbs、およびそれらの値のさまざまな組み合わせなど)を試しましたが、視差マップの色を反転させることができないようです(つまり、通常-近いものは遠いものよりも明るい) 。
私はそれをするのにいくらかの助けが必要です。
また、好奇心から、視差マップの色空間を、オンラインで表示されるMATLABのカラフルな色空間のように変更するにはどうすればよいですか?
これが私のコードとpastebinです。http://pastebin.com/E3vVN6UU
image - ステレオ画像の修正と視差: どのアルゴリズム?
現在、従来のカメラを使用して作成された L/R ステレオ画像のペアから始めて (エピポーラ線のずれの影響を受ける)、調整された画像のペアを生成できる 2 つの最も効率的なアルゴリズムを見つけようとしています。加えて、それらの視差を見て深度情報を取得します。
実際、私はこれら 2 つの方法に関する次のような多くの論文を見つけました。
- 「Computing Rectifying Homographies for Stereo Vision」(Zhang - 整流のみに最適の 1 つと思われます)
- 「三段画像補正」(モナッセ)
- 「整流と格差」(Navabによるスライドショー)
- 「高速なエリアベースのステレオ マッチング アルゴリズム」 (Di Stefano - 少し不正確なようです)
- 「Graph Cuts によるオクルージョンによるビジュアル コレスポンデンスの計算」(Kolmogorov - これは非常に優れた視差マップとオクルージョン情報を生成しますが、効率的ですか?)
- "Dense Disparity Map Estimation Respecting Image Discontinuities" (Alvarez - 最初のレビューには長すぎる)
この幅広いトピックを理解するためのアドバイスがあれば教えてください。
非常に単純な入力で作業することを考えると、最初にどのような種類のアルゴリズム/メソッドを処理する必要がありますか?情報)?
実際の実装について言えば、これまでに見た唯一の興味深い結果は、このソフトウェアに属していますが、自動修正のみであり、不一致ではありません: http://stereo.jpn.org/eng/stphmkr/index.html
「自動調整」機能を試してみましたが、とても効果的です。ソースコードがないのが残念…
matlab - 中央値演算子を使用して 4 つの初期視差マップを 1 つに結合する
こんにちは、視差マップを生成するためにmatlabを使用しています。2 つの整流ステレオ ペアに対してマルチ ウェーブレット変換を実行し、ステレオ マッチング アルゴリズムを使用して各画像から対応するバブスバンドを結合し、4 つの初期視差マップを作成しました。ただし、中央値演算子を使用してこれらの 4 つの視差マップの値を 1 つに結合する方法については、行き詰まり、完全に無知です。誰か助けてくれませんか?
私の 4 つの画像のサイズは同じです。前のコードは別のファイルにあるため、無関係です (前のファイルからの出力を保存したばかりで、別のファイルでこれをコーディングしようとしています)。
1. 4 つのベースバンドのそれぞれからピクセル p の値を読み取る 2. 値を昇順に並べ替える 3. ピクセルの中央値を計算する 4. ピクセル値を新しい画像に書き込む 5. p を設定する+1 し、最後のピクセルに到達するまで手順 1 ~ 4 を繰り返します。
ありがとうございました
image - 視差マップを使用して対応するピクセルを見つける
画像のステレオ ペアとそれらのグラウンド トゥルースの視差があります。視差マップのグレー レベルは、オブジェクトの距離を示します。このグレーレベルを使用して、ピクセルの対応するピクセルを見つけるにはどうすればよいですか?
(50, 4) にある左画像のグラウンド トゥルース視差マップのピクセルの視差値は 70 であるため、グレー レベルは x 軸に沿った変位ではないと確信しています (これは、x 軸に沿った変位ではありません。右の画像の対応するピクセルは、座標が (-20, 4) になるため、有効ではありません!!)
middleburyデータセットから画像とグラウンド トゥルースを取得しました
これらの値を変換して、他の画像の対応するピクセルの位置を見つけるにはどうすればよいですか?
PS : 画像の動きは純粋に水平です
opencv - 距離(視差)を計算する OpenCV
-- 更新 2 --
次の記事は、単一のカメラを使用して距離を計算する場合に非常に役立ちます (ただし、C++ ではなく Python を使用しています): Python と OpenCV を使用してカメラからオブジェクト/マーカーまでの距離を見つける
最適なリンクはStereo Webcam Depth Detectionです。このオープンソース プロジェクトの実装は非常に明確です。
以下、元の質問です。
私のプロジェクトでは、2 台のカメラ (ステレオ ビジョン) を使用してオブジェクトを追跡し、距離を計算しています。それらを OpenCV のサンプルコードでキャリブレーションし、視差マップを生成しました。
色に基づいてオブジェクトを追跡する方法を既に実装しました (これにより、しきい値の画像が生成されます)。
私の質問:視差マップ/マトリックスを使用して、追跡された色付きのオブジェクトまでの距離を計算するにはどうすればよいですか?
以下に、各ピクセルの x、y、z 座標を取得するコード スニペットを示します。質問: Point.z は cm、ピクセル、mm ですか?
このコードで追跡対象までの距離を取得できますか?
前もって感謝します!
--更新 1 --
たとえば、このしきい値処理された画像 (左側のカメラ) を生成しました。私は右のカメラとほぼ同じものを持っています。
上記のしきい値の画像に加えて、アプリケーションは視差マップを生成します。視差マップで手のピクセルの Z 座標を取得するにはどうすればよいですか?
実際には、手のピクセルのすべての Z 座標を取得して、平均 Z 値 (距離) を計算したいと考えています (視差マップを使用)。
opencv - 組み込みおよび外部パラメーターが既に見つかっているopencvでの画像の修正
Bouguet のキャリブレーション ツールボックス ( http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example.html ) を Matlab で実行し、キャリブレーションからのパラメーター (内因性 [焦点距離と主点オフセット] と外因性 [カメラに対するチェッカーボードの回転と平行移動])。
画像上のチェッカーボードの特徴座標点もわかっています。
調整された画像の各ペアから視差マップ (コードを持っている) を作成できるように、調整された画像を取得したいと考えています。
どうすればこれを行うことができますか?