問題タブ [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 cvFindStereoCorrespondenceGC()、disparityLeft / disparityRight
私はグラフカット cvFindStereoCorrespondenceGC() 関数を使用しています:
void cvFindStereoCorrespondenceGC(const CvArr *left, const CvArr *right, CvArr *disparityLeft, CvArr *disparityRight, CvStereoGCState *state, int useDisparityGuess = 0).
私の質問は次のとおりです。取得するはずの disparityLeft および disparityRight マップは何ですか?
cvFindStereoCorrespondenceBM() が提供するような視差マップは 1 つだけであるべきではありませんか?
cvFindStereoCorrespondenceBM(const CvArr *left, const CvArr *right, CvArr *disparity, CvStereoBMState *state)
python - opencv ReprojectImageto3D は無限大になる傾向のある値を与えます
Qマトリックスを取得するために、ステレオキャリブレーションとステレオレクティファイを使用しています。これを cv.ReprojectImageto3D への入力として与え、深度マップを取得します。しかし、結果を表示しようとすると、多くの値が無限大として計算されます。
再投影する前に、何かを変更またはスケーリングする必要がありますか? そして、得られる結果はピクセル単位ですか?
画像へのリンク: http://i43.tinypic.com/2gtau5s.png
事前にどうもありがとう
opencv - 視差の数が 16 で割り切れる必要があるのはなぜですか?
OpenCv では、視差マップの作成時に視差番号が 16 で割り切れる必要があるのはなぜですか?
matlab - ステレオ ジオメトリ パラメータから視差/深度マップの制限を推定する方法は?
ステレオペアのいくつかのポイント間の視差の上限を推定しようとしています。次のパラメーターを知っています。
収束角: 2.2°
ベースライン: 77 mm
焦点距離:6.3mm
X解像度: 72
解像度: 72
解像度の単位: 0x2 (インチ)
x 方向 (エピポーラ線に沿った) の対応点間の距離は、最大で約 120 ピクセル変化することを知っています...前景の点ではこの距離が小さく、背景の点ではより大きく、この距離の上限を自動的に確立する方法...私の質問は、これらのパラメーターを使用してこの上限を推定できるかどうかです(視差/深度マップを推定せずに)..視差の正確な値は必要ありませんが、近似値だけが必要です上限の安全性を変更します。
私はセンサーサイズを持っていないことに注意してください:(
すべての応答に感謝します!
matlab - Matlab の基本行列の異なる結果
私はステレオマッチングを実装しており、前処理としてカメラキャリブレーションなしで画像を修正しようとしています。サーフディテクターを使用して、画像の特徴を検出して一致させ、それらを整列させようとしています。すべての一致を見つけた後、次の関数を使用して、エピポーラ線上にないものをすべて削除します。
問題は、同じデータでこの関数を実行すると、同じデータで実行するたびに異なる結果が得られ、結果の視差マップに違いが生じることです。ここでは、一部の一致の結果が異なることがわかります。
更新: 違いは RANSAC メソッドが原因であると考えましたが、LMedS、MSAC を使用すると、同じデータに対して異なる結果が得られます