0

「Matlab用カメラキャリブレーションツールボックス」の外部および固有のカメラパラメーターを使用して、カメラ画像の2Dピクセル座標から平面上の点の3D座標を再構築しようとしています。

内部パラメータ: 焦点距離: fc = [ 1017.21523 1012.54901 ] 主点 : cc = [ 319.50000 239.50000 ]

外部パラメータ: 平行移動ベクトル: Tc_ext = [ 4.409693 -74.116018 393.057934 ] 回転行列: Rc_ext = [ -0.083632 0.991715 -0.097501 0.832136 0.015674 -0.554350 -0.5482230 -90.5 -174] 25.5 -174

カメラ画像から2次元から平面上の点の3次元座標を取得する方法を誰か助けてもらえますか?

4

1 に答える 1

1

考慮すべき 4 つのケースがあり、複雑さが増す順に並べられています。基本的な目標は、対象の平面を空間内に配置することです。取得したら、ピクセルを逆投影する光線と交差させて、解を得ることができます。

  1. 関心のある面にはチェッカーボードのターゲットが含まれており、画像はカメラのキャリブレーションに使用したものの 1 つです。次に、外部パラメータ [R | キャリブレーション ルーチンによって返されたその画像の T] には答えが含まれています。これは、ターゲットがその画像で返されたワールドからカメラへの座標変換の XY 平面であり、ワールドの原点が角の 1 つであるためです (どの角かがわかります)。それは、点 (0,0,0) を画像座標に投影することによって行われます. XY 平面 (カメラ座標) は、回転行列 R の最初の 2 つの列がまたがる平面であり、その原点は点 T にあります.
  2. 関心のある面にはチェッカーボード ターゲットが含まれていますが、そのイメージはキャリブレーションに使用されたイメージの 1 つではありません。それをセットに追加し、再調整して 1. に進むこともできますが、より高速な代替手段は、(a) 調整の場合と同様にコーナーを抽出し、(b) 画像位置から「真の位置」までのホモグラフィ H を計算することです。 " Z=0 の物理ターゲット上の位置; (c) H を K * [R | R に分解します。T] キャリブレーションから既知の K を使用します (この目的のために「RQ 分解」と呼ばれるアルゴリズムを使用します。調べてください)。次に 1 に進みます。
  3. キャリブレーション ターゲットは画像にはありませんが、画像内でその平面上に少なくとも 4 つのポイントを特定できます。そのため、それらの 3 つが同一線上になく、互いに対して既知の位置にあります。たとえば、画像に既知の辺の長方形が表示されます。次に、ポイント 2 と同様に、それらの物理的な点とその画像の間のホモグラフィを計算し、カメラ行列を知っている [R|T] 変換を抽出できます。次に 1 に進みます。
  4. 上記のいずれでもない: 申し訳ありませんが、行き詰まっています。
于 2014-10-06T17:51:21.407 に答える