我有以下分辨率为1600x1300的相机矩阵

M1 [3x3] =
    [ 1.3964689860209282e+03, 0.,                     8.3190541322575655e+02,
      0.,                     1.3964689860209282e+03, 5.9990987893769318e+02,
      0.,                     0.,                     1.                    ]
D1 [1x14] =
    [ 8.0832142609575899e-02, -8.0503813500794497e-02, -1.3722038479715831e-03, -6.9032844088890799e-04, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. ]

我需要将分辨率更改为1280x720,但是此分辨率是裁剪的分辨率(未调整大小)。我了解我必须更新cx和cy。裁剪操作后失真系数会改变吗?

最佳答案

只要将主点的(cx,cy)坐标调整为裁剪图像中新点的位置,就不会发生变化。这是因为焦距不变,并且nonlinear distortion model implemented by Opencv被引用到主要点。

关于opencv - 裁剪图像如何影响相机校准的内在特性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59477398/

10-16 22:49