具有相机滚动和俯仰校正的OpenCV透视变换

时间:2017-12-13 13:37:35

标签: python opencv graphics computer-vision

我正在对相机图像执行一些透视变换,但在某些情况下,相机的滚动和俯仰不为零。换句话说,相机不是水平的,我希望能够纠正这个。

我有一些问题:

1)转换矩阵(来自M = cv2.getPerspectiveTransform(...))是否可以针对俯仰角和滚转角进行校正?

2)我应该只转换源点并获得新的转换矩阵吗? Roll似乎是一个简单的校正,因为它类似于旋转图像,但是如何才能对滚动和俯仰进行适当的变换?

1 个答案:

答案 0 :(得分:0)

如果相机的运动大约围绕其光学中心/镜头入射光瞳旋转(例如,三脚架上的平移 - 倾斜滚动,主体距离远大于光学中心的平移),则拍摄的图像旋转的观点与单应性有关。

如果您知道3D旋转(平移/倾斜/滚动),则可以显式计算单应性并将其应用于图像。如果没有,但是您有两张图像可以识别4个或更多对应点,那么您可以直接从这些对应关系中估算出单应性。