0

私はプログラムを作成しています。私は、紙の上に点のグリッドを持っています。私は片端を固定し、紙をスクリーンに向かって曲げ、私にカメラの視点から台形を与えました。私は各ドットの(x、y)カメラ座標を持っています。これらの(x、y)を実生活(x、y)に変えることができる簡単な方法はありますか。私はカメラが元のフラットシートの実際の(x、y)を持っているなら、プリベンドしてください。XY平面内の点のグリッドをカメラ座標から実世界座標に変換

私は3D Camera coordinates to world coordinates (change of basis?)Transforming screen coordinates from security camera to real world coordinatesを見ました。

+0

言語に関する詳細、作成した実装、直面していた問題が役立ちます。 – BogdanC

答えて

1

"ホモグラフィ"を参照してください。理想的なピンホールカメラによってキャプチャされた3D空間の平面からその画像への変換はホモグラフィである。

x = H * X 
Xは世界点座標の3×1ベクトルである

、及びX =:これは3Dはそれらの対応する均質な画像に世界内の点のX座標変換する3×3の行列Hとして表すことができるが、X座標[u、v、w]^Tは同次座標の画像点です。

ワールドポイントとイメージポイント(例えば矩形の隅)の一致が4つ以上あると、行列Hのパラメータを推定できます。詳しくは、「DLTアルゴリズム」を参照してください。 OpenCVでは、使用するルーチンはfindHomographyです。

関連する問題