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

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

c++ - StereoSGBM が負以上の numberOfDisparities の数値を与えるのはなぜですか

v 視差と u 視差を計算する関数を OpenCV で作成しているので、最初に視差画像が必要です。sgbm.minDisparity = 0 と numberOfDisparities = 160 を設定しました。

視差画像は CV_16SC1 で、関数のプログラミングを続けるには符号なしの値が必要です。

Mat全体を印刷したところ、負の値と160を超える値があります。ドキュメントをよく理解していれば、視差画像は視差値を表しています*16。私の場合、最大値は 16*160 ということですか? そうでない場合、何が間違っている可能性がありますか?. とにかく、minDisparity が 0 に設定されているのに 0 未満の値があるのはなぜですか? コードは次のとおりです。

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

c++ - 対応検索と視差 C++ のための OpenCV 重み付けアプローチ

OpenCV アプリケーションがあり、2 つの画像ペア間でさまざまなサポート ウェイトを使用して対応検索を実装する必要があります。この作品は、 Kuk-Jin YoonIn So Kweonによる「対応検索のための適応サポート重みアプローチ」と非常によく似ています。サポート ウェイトは、特定のサポート ウィンドウ内にあります。2 つの画像のサポート ウェイトを使用して、ピクセル間の非類似度を計算します。ピクセル ' p ' と ' Pd ' の間の非類似度は、次の式で与えられ ます。ここで、PdQdは、参照イメージのピクセルpqが視差値dを持つ場合のターゲット イメージのピクセルです。図1 - 非類似度式
NpNpdはサポート ウェイトです。

この後、各ピクセルの視差はWTA ( Winner-Takes-All ) メソッドによって次のように選択されます。 図2 - WTA法

私が知りたいのは、図1の式(私が書いた非類似度と重みを計算する関数)から始める方法、つまり、どのピクセルを考慮するかです。どこから始めれば?どのピクセルで?なにか提案を?作業の最終結果は次の ようになります。図3 - つくば

UPDATE1
新しい画像の作成を開始し、ピクセル (0,0) と他のすべてのピクセルの間のコストを考慮し、最小値を見つけて、この値を新しい画像のピクセル (0,0) の値として設定する必要があります。 ? 他のピクセルについても同様ですか?

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

camera - 2 つの画像の同じ中心の視差

ラズパイでpython2を使っています。

左と右のカメラでキャプチャされた 2 つの画像の視差を計算しようとしています。

しかし、どのコードを使用すればよいかわかりません。

私がやりたいのは、2つのカメラとターゲットの間の距離を計算するために、2つの画像のターゲット中心(視差)を使用してPythonを作成することだけです。

左カメラ:

左カメラ

右カメラ:

右カメラ

2 つの中心 (twp green cicle) を計算し、それらの視差を距離にします。

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

python - OpenCV – キャリブレーションされていないステレオ システムからの深度マップ

キャリブレーションされていない方法で深度マップを取得しようとしています。SIFT で対応点を見つけてから を使用することで、基本行列を取得できcv2.findFundamentalMatます。次にcv2.stereoRectifyUncalibrated、各画像のホモグラフィ行列を取得するために使用します。最後にcv2.warpPerspective、視差を修正して計算するために使用しますが、これでは適切な深度マップが作成されません。warpPerspective値が非常に高いので、使用する必要があるのか​​ 、それとも で取得したホモグラフィ行列から回転行列を計算する必要があるのか​​ 疑問に思っていstereoRectifyUncalibratedます。

stereoRectifyUncalibrated修正するで得られたホモグラフィ行列の場合の射影行列についてはよくわかりません。

コードの一部:

以下は、キャリブレーションされていない方法 (およびwarpPerspective) を使用して調整された写真です。

ここに画像の説明を入力

キャリブレーションされた方法で修正された写真は次のとおりです。

ここに画像の説明を入力

2種類の写真の違いがどれほど重要なのかわかりません。また、較正された方法については、調整されていないようです。

キャリブレーションされていない方法を使用した視差マップ:

ここに画像の説明を入力

深さは で計算されます: C1[0,0]*T[0]/(disp) with T from stereoCalibrate. 値は非常に高いです。

------------ 後で編集 ------------

再構成行列 ( [Devernay97][Garcia01] ) を「stereoRectifyUncalibrated」で得られたホモグラフィ行列で「マウント」しようとしましたが、結果はまだ良くありません。私はこれを正しくやっていますか?