問題タブ [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 に答える
506 参照

3d - Creating 3D Model then determine dimensions

Are there any libraries that can take a few digital pictures of an object and create a 3d model of it.

For instance, I'd ideally like to let a user upload n pictures of an object and feed the pictures into something like photosynth to construct a model, then determine dimensions of said object.

Thoughts?

0 投票する
3 に答える
7273 参照

c++ - ステレオ画像から密な視差マップを計算するにはどうすればよいですか?

からステレオ画像への密な視差マップを計算するにはどうすればよいですか?

これまでの私の考えは、最初の画像のすべてのピクセルを調べて、2 番目の画像をスキャンして一致するものを探すことでした。2 つのピクセルの類似性を比較するために、ピクセルの周囲の小さなウィンドウでピクセルの差の 2 乗を計算しました。このアルゴリズムは、合成画像では比較的うまく機能しますが、反射を含む画像や光強度の差が大きい画像ではうまく機能しません。より良い結果を得るには、どのアプローチを使用する必要がありますか?

画像処理のマスター、知識を共有してください。

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

vision - ステレオ ビジョンを使用して室内環境を正確に 3D 再構成する方法は?

openCV で cvStereoFindCorrespondenceGC() を使用して、有名なつかばの画像から視差マップを生成しました。しかし、3D 機能が不足していることに気付きました (たとえば、ランプはわずかに湾曲しているのではなく、平らです)。この問題にアプローチするには?現在のアルゴリズムに欠けていたものは何ですか?

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

c# - Emgu (OpenCV for C#) - cvStereoRectify を使用して視差マップを構築する

私は OpenCV 用の優れた Emgu C# ラッパーを使用して、自作のステレオ リグから画像を収集しています。2 台のウェブカメラを 35 cm 離して木片にボルトで固定し、10 ~ 20 m の範囲で深度マップを作成できるようにしました。できる限り平行になるように設定しました (三角測量テストから約 89.3 度)。

これらから視差マップを作成しようとしていますが、プロセスはコードとして機能しますが、結果は非常にランダムです。これは、ステレオ修正を実行しようとするたびに、非常に異なる結果が得られ、画像がひどく歪んでいて、画面にほとんど何も表示されないことを意味します。

私が理解しているように、これを行う方法は次のとおりです。


1) チェス盤のパターン (例: 6 x 8 の内側の角) を印刷し、平らなものに貼り付けます。

2) カメラ 1 で、チェス盤を完全に見えるように、異なる位置で約 10 枚の写真を撮影します。

3) CameraCalibration.FindChessboardCorners を使用して、内側の角 (6 x 8) を見つけます。

4) img.FindCornerSubPix() を使用して、これらの角の位置をサブピクセル レベルに絞り込みます

5) CameraCalibration.CalibrateCamera() を使用して固有のカメラの詳細を計算し、これを XML ファイルとして保存します。

6) カメラ 2 について上記を繰り返します。

7) これで内部カメラの歪み情報が得られたので、ステレオ写真のペアを取得し、事前に計算された内部データで CameraCalibration.StereoCalibrate() を使用して外部情報 (カメラ 1 と 2 間のオフセットと回転) を計算できます。

8) CvInvoke.cvStereoRectify() と CvInvoke.cvInitUndistortRectifyMap() を使用して、次に CvInvoke.cvRemap() を使用して出力イメージを作成します。出力イメージは Y 方向に並べられるため、ステレオ対応テストの 1 つを実行できます。

アクセス違反エラーなしで cvStereoRectify を動作させるには、Emgu 2.1 ver 806 を使用する必要があることがわかりました。


私の質問は次のとおりです。

A) 私のプロセスは正しいですか? カメラが 35c​​m 離れているため、オフィスでチェス盤を両方のビューに合わせて移動するのは簡単ではないため、カメラの固有のキャリブレーションを別のプロセスとして行ってきました。カメラ ビューの 1 つ。値は固有であるため、これらはカメラに関連しているため、ステレオ手順に転送する必要があると考えました。これは正しいです?

cvStereoRectify プロセス中に固有の値が変更され、非常に異なるものになっているようです。

例えば。cvStereoRectify 後の最初の段階の歪み値 = 0.22、-1.2、0.01、-0.01、2.6 = 10、-489、-0.03、-0.09、13208 に変更されました。

私は専門家ではありませんが、最初のセットは他の人のコメントから見たものに似ているようで、2 番目のセットはかなり外れているようです!

B) cvStereoRectify 中に更新される固有 + 歪み値を停止する方法はありますか?

C) これは本質的な値 (937,0,290,0,932,249,0,0,1) に対して正しいと思われますか?

ヒントをありがとうございました...私はしばらくこれに固執しています...そして、プロセスのどの部分がエラーを引き起こしているのか本当にわかりません。ヒントや提案は大歓迎です...

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

image - 視差マップ作成opencv

私は2つの画像を持っています.1つは左で、もう1つは右の画像です。視差マッピングを実装したい。私の心にはいくつかの質問があります。

最初のディスパーティ画像は1チャンネルのグレー画像ですが、左右の画像は3チャンネルのbgr画像です。これらの 3 チャンネルの画像をグレー画像に変換すると、情報が失われますか? はいの場合、3 チャンネルの画像から 1 チャンネルの視差画像に視差画像を取得するにはどうすればよいですか。視差画像を取得するために、3チャンネルの画像を1チャンネルの画像に降格するにはどうすればよいですか?

答えてくれてありがとう..

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

opencv - cvReprojectImageTo3D -2D画像からの3Dモデリング問題-

この問題についてあなたの助けが必要です。2D 画像から 3D で単純なシーンをモデル化しようとしています。私は 2 つの画像を使用しています (左と右 - 有名なつくばのシーン) http://www.cc.gatech.edu/classes/AY2003/cs7495_fall/ProblemSets/Data/tsukuba-right.bmp 視差マップを取得します。このように。 http://www.robots.ox.ac.uk/~ojw/2op/tsukuba_score.png

この後、いくつか質問があります。手順は次のとおりです。

cvStereoRectify (Q を取得するため) cvReprojectImageTo3D (視差マップ、3dimage、Q )

しかし、stereoRectify の入力として何を渡すかわかりません。画像は 2 つしかありません。カメラに関する情報はありません。(おそらく、代わりに stereoRectifyUn calibrationd を使用できます。そうであれば、どうすればよいですか?)

助けてくださいありがとう

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

matlab - ピクセルの不均一なシフト

与えられた行列 A と BI から、新しい行列 C を計算する必要があります。行列 A は画像ピクセルを表し、C は A の水平方向にシフトされたバージョンです。注意が必要な部分: このシフトは、視差行列 B の値によってピクセルごとに定義されます。例: ピクセル (1,1) は右に 0.1 単位シフトする必要があり、ピクセル (1,2) は左に 0.5 単位シフトする必要があります。

これを後方マッピングとして実装しました。CI の各ピクセルに対して、A で必要なソース位置を計算します (これは、現在のピクセルの位置から B の対応するオフセットを差し引いたものです)。整数以外のシフトが許可されているため、新しいピクセル値を補間する必要があります。

もちろん、これを Matlab で行うと、画像が大きくなるにつれてかなりの時間がかかります。このタスクに利用できる組み込み関数はありますか?

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

image-processing - 「視差マップ」の定義は何ですか?

エッジベースの視差マップを実装するように依頼されましたが、視差マップが何であるかを根本的に理解していません。「視差マップ」の定義は何ですか?

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

java - 視差マップを作成するには?

さて、ステレオ画像ペアを取得し、左画像の点と右画像の点を一致させ、点間の視差を見つけるステレオ対応アルゴリズムを実装しました。これを視差マップに書き込む必要があります。

私が見つけた視差マップはグレースケール画像で、明るいグレーは深度が浅く、暗いグレーは深度が深いことを意味します。一連の視差をこのようなグレースケール画像に変換するにはどうすればよいですか? 視差が非常に小さく、ピクセル間の距離が 2 しかありません。これはどのようにグレースケール ピクセル値に変換されますか?

視差マップをコンパイルする標準的な方法があるはずですが、これまでの検索では何も得られませんでした。

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

opencv - ステレオカメラでの OpenCV 顔検出

これが私がやろうとしていることです。

  • キャリブレーション済みの 2 台の USB カメラで人物の顔を個別に検出します。
  • 各カメラの顔の中心の座標を取得します。
  • 視差マップで対応する点の座標を計算します。

OpenCVのサンプルコードで、なんとか

  • 顔を検出し、各カメラの中心座標を取得します。
  • 2 台の USB ステレオ カメラを調整し、内部および外部パラメータを取得します
  • ステレオ カメラから視差マップを取得する

ここから、視差マップで顔の座標を計算するにはどうすればよいですか?

前もって感謝します、

ミロ