画像のサイズ変更は、固有のカメラマトリックスにどのように影響しますか?


18

サイズがHxWの画像で知られているカメラマトリックス(固有パラメーターと外部パラメーターの両方を知っています)があります。(必要な計算にこのマトリックスを使用します)。

もっと小さな画像を使いたい、例えば:(元の半分)。同じ関係を維持するために、マトリックスにどのような変更を加える必要がありますか?H2×W2

私は、持っている固有パラメータ、(AS、回転と並進)KRT

cam=K[RT]

K=(ax0u00ayv0001)

Kは3 * 3です、、、およびに0.5(画像のサイズが変更された係数)を掛けることを考えましたが、ません。axayu0v0

回答:


13

注:サイズ変更された画像で使用する座標によって異なります。私はあなたがゼロベースのシステムを使用していると仮定しています(C、とは異なりなどMatlab)、0は0に変換されます。また、座標間のスキューがないと仮定しています。スキューがある場合は、同様に乗算する必要があります

短い答え:あなたはどの座標系を使用していると仮定すると、はい、あなたべき乗算によって0.5。u=u2,v=v2ax,ay,u0,v0

詳細な回答世界座標の点をカメラ座標 変換する関数は次のとおりです。P(x,y,z,1)>(u,v,S)

(ax0u00ayv0001)(R11R12R13TxR21R22R23TyR31R32R33Tz0001)(xyz1)

ここで、、座標が均質であるからです。(u,v,S)>(u/S,v/S,1)

要するに、これはと書くことができます ここで、は上記の2つの行列の積で、はi 'です。マトリックスの行。(積はスカラー積です)。u=m1Pm3P,v=m2Pm3P
MmiM

画像のサイズ変更は次のように考えることができます:

u=u/2,v=v/2

かくして

u=(1/2)M1PM3Pv=(1/2)M2PM3P

マトリックス形式に戻すと、次のようになります。

(0.50000.50001)(ax0u00ayv0001)(R11R12R13TxR21R22R23TyR31R32R33Tz0001)(xyz1)

等しい

(0.5ax00.5u000.5ay0.5v0001)(R11R12R13TxR21R22R23TyR31R32R33Tz0001)(xyz1)

詳細については、Forsythの第3章-幾何学的なカメラのキャリブレーションを参照してください。


説明ありがとうございました!!! 私はあなたがゼロベースのシステムで何を意味するのかわかりません、私はmatlabを使用しています、他の調整が必要ですか?
マトラビット

@ matlabit、Matlabを使用している場合、1ベースのインデックス付けがあるため、の変換を使用する必要があります(最初要素は0ではなく1です)。この場合、関連する行列を計算してみてください。サブピクセルの精度が必要ない場合は、それを無視して、先ほど説明した式を使用できます。u=(u1)/2+1,v=(v1)/2+1
アンドレイRubshtein

8

Andreyは、彼の解法では0が0に変換されると仮定していると述べました。ピクセル座標を使用している場合、画像のサイズを変更するときにこれはおそらく当てはまりません。本当に必要な唯一の仮定は、画像変換を3x3マトリックスで表現できることです(Andreyが示したように)。カメラマトリックスを更新するには、画像変換を表すマトリックスを事前に乗算するだけです。

[new_camera_matrix] = [image_transform]*[old_camera_matrix]

例として、係数画像の解像度を変更する必要があり、インデックス付きピクセル座標0を使用しているとします。あなたの座標は関係によって変換されます2n

x=2n(x+.5).5

y=2n(y+.5).5

これは行列で表すことができます

(2n02n1.502n2n1.5001)

最終的なカメラマトリックスは

(2n02n1.502n2n1.5001)(ax0u00ayv0001)


.5を追加してから.5を減算した理由を詳しく説明してください。0.5は係数スケーリングにのみ適用されますか?そうでない場合、そのサブピクセル数をどのように計算しますか?2n
Gurumonster

1
ポイントは、ピクセル "0、0"の中心は実際には "0、0"(=ピクセルの左上隅)ではなく、 "0.5、0.5"にあるということです。そのため、変換の前後にそのオフセットを考慮する必要があり、スケーリング係数に関係なく、係数は常に0.5です。
ヤンリュッグ

そうだね
ハンマー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.