openCV失真校准分辨率缩放

时间:2013-12-27 21:21:45

标签: python opencv

我正在使用相机矩阵和非失真系数,我发现here用于某些GoPro素材(因为我不幸地无法访问GoPro来自行校准素材),而且它似乎运行良好1280 * 960(4:3)然而,我遇到了更大分辨率的问题(3840 * 2880(4:3))。

According to the openCV documentation

  

虽然无论使用何种相机分辨率,失真系数都是相同的,但这些系数应与校准分辨率的当前分辨率一起缩放。

these是否指相机矩阵?缩放相机矩阵的确切步骤是什么?我尝试了线性插值(行X与宽度比的标量乘法和行Y与高度比),图像更好但仍然看起来不太正确。这可能是因为校准片段(16:9)的视频宽高比与我的素材不完全相同吗?如果是这样,为什么误差也不会线性缩放?

E.g。

f_x_target = f_x_calibration * targetWidth / calibrationWidth
c_x_target = c_x_calibration * targetWidth / calibrationWidth
f_y_target = f_y_calibration * targetHeight / calibrationHeight
c_y_target = c_y_calibration * targetHeight / calibrationHeight

1 个答案:

答案 0 :(得分:3)

GoPro相机在不同分辨率下具有不同的视野。看看specs。这可能是造成问题的原因。