OpenCV 畸变校正、分辨率缩放

4
我正在使用一个摄像机矩阵和去畸变系数,这些数据是从这里获取的,用于处理GoPro镜头的一些素材(因为我不幸地无法再获得GoPro来校准素材),对于1280 * 960(4:3)的素材效果还不错,但是对于更大分辨率的素材(3840 * 2880(4:3)),出现了一些问题。
根据openCV文档
“虽然失真系数在使用相机时与分辨率无关,但是这些系数应该随着当前分辨率从校准分辨率进行缩放。”
这里的“这些系数”是否指的是摄像机矩阵?如何精确地缩放摄像机矩阵呢?我尝试了线性插值(将X行乘以宽度比例,将Y行乘以高度比例的标量乘积),图像有所改善,但仍然不太对。这可能是因为校准素材的视频长宽比(16:9)与我的素材不完全相同吗?如果是这样,为什么误差不会按比例缩放呢?
例如:
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个回答

3
GoPro相机在不同分辨率下具有不同的视野。请查看规格。这可能是导致您问题的原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接