我的相机有不同的分辨率: 1280*480 640*240 320*120
我使用了OpenCV3的算法对分辨率为1280*480的相机进行校准,并得到了该分辨率下的相机矩阵(fx fy cx cy)和畸变矩阵(k1 k2 p1 p2 k3)。
但现在我想使用这些相机矩阵和畸变矩阵来校准分辨率为320*120的相机。我不知道如何将1280*480分辨率下的这两个矩阵应用到320*120分辨率上。 PS:我没有直接对分辨率为320*120的相机进行校准,因为图像太小,OpenCV算法无法找到棋盘格。
我想知道如果我将分辨率从1280*480改变为320*120,相机矩阵(fx fy cx cy)和畸变矩阵(k1 k2 p1 p2 k3)会发生什么变化。
OpenCV算法如下: http://docs.opencv.org/3.0-beta/doc/tutorials/calib3d/camera_calibration/camera_calibration.html
fx
、fy
、cx
和cy
除以4(因为每个维度现在都是原始尺寸的1/4)。 - Dan Mašekcx
和cy
是中心点的坐标--线性缩放适用。|fx
和fy
是以像素为单位的焦距--让我们坚持使用fx
,因为相同的原理适用于两者。与实际焦距的关系是Fx = fx * (W / w)
,其中W
是传感器宽度(实际单位),w
是传感器宽度(像素)。...(续) - Dan MašekFx
保持不变(光学没有变化),真实的传感器宽度W
也保持不变。因此,fx
与w
成正比例关系(例如,像素宽度减少1/4,fx
也减少1/4)。 - Dan Mašek