問題タブ [stereoscopy]
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.
math - ステレオ キャリブレーション 実世界の座標計算
本 Learning OpenCV で提供されているステレオ 3D の例を実装しました。ここで、左の画像をクリックしたピクセルの実際の座標を計算したいと思います。この投稿では、次の式に出くわしました。
Pc = [R|t] * Pw ここで、Pc と Pw はカム座標とワールド座標、R は回転行列、t は平行移動ベクトルです。
[R|T] 部分を計算しましたが、この式から Pw を計算するにはどうすればよいですか? また、Pc を作成するにはどうすればよいですか? [pixelx,pixely,0] を含む 1x3 マトリックスを検討する必要がありますか?
助けてくれてありがとう!!!
image - 視差マップを使用して対応するピクセルを見つける
画像のステレオ ペアとそれらのグラウンド トゥルースの視差があります。視差マップのグレー レベルは、オブジェクトの距離を示します。このグレーレベルを使用して、ピクセルの対応するピクセルを見つけるにはどうすればよいですか?
(50, 4) にある左画像のグラウンド トゥルース視差マップのピクセルの視差値は 70 であるため、グレー レベルは x 軸に沿った変位ではないと確信しています (これは、x 軸に沿った変位ではありません。右の画像の対応するピクセルは、座標が (-20, 4) になるため、有効ではありません!!)
middleburyデータセットから画像とグラウンド トゥルースを取得しました
これらの値を変換して、他の画像の対応するピクセルの位置を見つけるにはどうすればよいですか?
PS : 画像の動きは純粋に水平です
computer-vision - 2 つの異なる焦点距離で深度を推定する
左右のカメラの焦点距離が 2 つの異なる値である場合、三角測量を使用して深度を推定するにはどうすればよいでしょうか?
それを行う方法はありますか?
両方のカメラの位置が同じ高さになく、収束していない場合はどうすればよいですか?基本的なマトリックス、ベースライン、および2つの異なる焦点距離が存在する状態で深度を測定するにはどうすればよいですか?
computer-vision - エッセンシャルマトリックスからの並進ベクトル単位は何になるでしょうか
本質的な行列から、それから T および R 行列を計算できます。しかし、T 行列の単位は何ですか? はカメラ座標の行列ですか?
computer-vision - エピポールを画像の外側に移動する方法
こんにちは、2 つの画像から基礎行列を計算したところ、エピポールが画像内にあることがわかりました。画像にエピポールが含まれている場合、matlab を使用して修正を行うことはできません。
エピポールが画像にない基本行列を計算する方法を教えてください。
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 - ステレオ カメラの右画像で対応する 2 次元点を見つける
ステレオカメラの左画像に点(xl,yl)があります。この同じ点が右の画像のどこにマップされているかを判断したいと思います。たとえば、右の画像で point(xr,yr) と言います。
android - HTC Evo 3D 立体視プレビュー - 水平解像度の低下
HTC Evo 3D のカメラからの立体画像データを使用する Android アプリケーションを作成しています。HTC OpenSense API が提供する 3D 固有の機能を備えた標準の Android API を使用して、データにアクセスしようとしています。これまでのところ、立体視モードでカメラにアクセスでき、onPreviewFrame()
コールバック メソッドを使用して画像データを取得できます。
ただし、 で使用できる「生の」画像データ (data[]
バイト配列)onPreviewFrame()
は完全ではありません。私が得た画像は正しい横並びの立体画像ですが、その水平サイズは 2 分の 1 に縮小されています。たとえば、カメラのプレビュー サイズを 1280x720 px に設定すると、2560x720 px の画像 (目的の 1280x720 px の解像度の 2 つの画像) が期待されます。しかし、私が得たのは解像度 1280x720 の写真で、その半分は右のカメラから、残りの半分は左のカメラからのものです。水平解像度が低下する理由がわかりません。
このフォーラムにも同様のスレッドがありますが、その答えは実際には問題を解決しません。私のプログラムでは trueがDisplaySetting.setStereoscopic3DFormat()
返されますが、表示や画像データには何の影響もないようです。
この問題の経験はありますか?
opencv - 視野はステレオビジョンの深度推定をどのように変化させますか?
2 台のカメラを備えたステレオ システムから深度を推定しようとしています。私が使用する簡単な式は次のとおりです。
2 台のカメラの視野は、許可される最大深度を変更しませんか? 測定可能な最小深度のみを変更しますか?