我正在考虑如何(手动)更改相机模型参数以使其在旋转图像上“有效”的问题。这个问题涉及调整大小,但不考虑镜头失真。
我的问题是这样的:
给定由 OpenCV 计算的3x3 相机参数矩阵 + 5 个径向畸变系数,如何调整这些参数以在顺时针旋转 90° 的图像上有效?
我有理由确定焦距fx
,fy
需要翻转,cx
替换为image.height - cy
,cy
,cx
但我不确定我是否可以只保留径向失真参数。
根据我对以下 OpenCV 相机模型的阅读,径向失真围绕主点对称。因此,如果我的所有图像坐标都通过图像旋转重新映射,则失真系数仍应适用,因为失真是与光轴和传感器平面的交点的距离的函数。假设没有传感器倾斜并且只有径向失真,则不需要重新校准系数。
这个评价正确吗?如果不是,为什么不呢?
如果根据此过程对旋转图像进行不失真处理会产生与使用原始方向和原始相机矩阵不同的结果,从而引发该问题。所以我一定是犯了一个错误。