aruco マーカーを使用してカメラのキャリブレーションを行いました。固有の行列は K = [fx 0 cx; 0 fy cy; 0 0 1]
であり、 where fx = image_width/2 and fy = image_height/2
です。キャリブレーションを 2 回実行した結果は次のとおりです。
ケース1
camera_matrix: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 1.7837087835808685e+004, 0., 9.4648597205501767e+002, 0.,
1.7846680517567835e+004, 6.2655678552312384e+002, 0., 0., 1. ]
distortion_coefficients: !!opencv-matrix
rows: 1
cols: 5
dt: d
data: [ 1.3214125616841757e-001, 1.3720591379476604e+001,
4.1379706976846960e-003, 3.2630160993931338e-002,
7.2446581087476508e-002 ]
ケース 2
camera_matrix: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 3.9925887362481939e+004, 0., 9.6015637557091463e+002, 0.,
3.5268399261164773e+003, 5.9886507612381956e+002, 0., 0., 1. ]
distortion_coefficients: !!opencv-matrix
rows: 1
cols: 5
dt: d
data: [ 4.4338539084399781e-001, 4.9217843346948866e+000,
5.8004377137432547e-002, 1.1762688789809046e-004,
-5.4097967557812456e+002 ]
画像の解像度は 1920*1200 なのでcx
、 andcy
は 960 と 600 である必要があります。2 番目のケースでは、cx
andcy
は予想どおりです。再投影誤差が大きい。それ以外の場合cx
、 とcy
は一致しませんが、再投影エラーは非常に低い (1 未満) です。
では、どの結果を検討して最良の結果にすることができ、一般的にどのようfx
にfy
定義することができるのでしょうか?