壁の観点から「ポイント」の位置を取得するにはどうすればよいですか?私は、カメラの視点からx、y、(z)座標を知っています。私は壁の端点を知っています。
ポイントが壁の前に立っていれば、それの魔法使い側(左、右)に立っているかどうかを計算したいと思います。 私の考えは、壁の平面方程式を計算し、その点から平面までの垂線が壁の境界線に当たるかどうかを調べることです。
z座標(非常に不正確です)を使わずに何とかして、壁とカメラの間の角度を変えることはできますか?OpenCVで透視変換を計算する
0
A
答えて
0
壁の中心のxc、ycの位置がわかっている場合は、新しい参照系の点のX、Y座標を変換できます。
まず、原点を変換します。カメラは、座標(0,0)、poinxの新しい座標である場合(X「Y」、Z ')は、3Dの世界では
X' = X - xc
Y' = Y - yc
Z' = Z
(あなたのイメージから仮定になります壁ortogonalへの
ここでは、あなたが知っている角度のZ軸を中心に回転させ、壁の中心に対して最終座標X "、Y"、Z "を取得する必要があります。
あなたはrotational matrix around Z
cos(alpha) -sin (alpha) 0
R = [sin(alpha) cos(alpha) 0]
0 0 1
を導出し、(ベクトルmoltiplicationの行列)を得る角度のsi aplha場合
(X'', Y'', Z'') = R*(X',Y',Z')
あなたは今、そのZ '' = Zもう一度
を取得する必要がありますX ''> 0またはX "'< 0(あなたはY'でも行うことができます、それはどの値に依存するかあなたが使用しているFアルファ)
この答えは、あなたがすでに(アルファ、XC、YC、3次元点の座標)を教え、私は方法や戦略が追加されますを持っていないものを想定した場合。
0
z座標が重要でない場合は、それを忘れてx、yだけを使用できます。
飛行機の代わりに、壁の2次元の点に線を合わせます。次に、あなたが提案したように、緑の点を通り壁の線に垂直な線を計算し、壁の線と垂線との交点を計算します。点より
交点のxまたはy座標が壁限界、
x_wall_min < X < x_wall_max又はy_wall_min < Y < y_wall_max、
内にある場合は、壁の前に立ちます。
壁とカメラの間の角度が異なる場合は、「壁の左右」を明確に定義する必要があります。角度によっては明瞭でない場合があります。
関連する問題
- 1. OpenCVでの透視変換(曲率付き)
- 2. Python - 回転角度からのOpenCVの透視変換
- 3. 透視投影OpenGLと計算シェーダ
- 4. OpenCVを使用して透視角を検出して透視変換を行う
- 5. Html5ビデオの透視変換
- 6. OpenCV - 視差マップから実距離を計算する
- 7. XNAでの透視投影変換?
- 8. OpenCVでDCTを計算する
- 9. OpenCVでマトリックスランクを計算するには?
- 10. OpenCV関数によるV視差の高速計算calcHist
- 11. Railsでの計算/変換
- 12. divの絶対寸法をcss3で透視して計算する
- 13. OpenCV PCA Pythonで計算する
- 14. Sympy逆ラプラス変換を計算する
- 15. CATransform3D透視変換の消失点を設定する
- 16. MKMapViewに透視変換を適用する
- 17. 計算中の変換
- 18. Android透明ビューカラー計算ロジック
- 19. opencvを使ってPNGを透明にビットマップに変換
- 20. コーナーポイントなしで透視変換を実行
- 21. OpenCVで非透視画像のワーピングを行う方法は?
- 22. 円弧に透視変換で作成された曲線
- 23. Pythonでの透視変換:長方形から台形へ
- 24. OpenCVでの矩形行列計算
- 25. ピカソの変換を再計算
- 26. 計算目的でNSNumberオブジェクトを変換するには?
- 27. FFTWでオーディオデータの離散フーリエ変換を計算する
- 28. OpenCVでMatの最大ピクセル値を計算する方法
- 29. opencvでnamedWindowの計算結果を表示する方法(C++)
- 30. OpenCVで画像全体の色の分布を計算する