如何在OpenCV中使用getPerspectiveTransform的输出3x3矩阵?

时间:2012-08-16 06:44:45

标签: opencv perspective

我现在试图分析捕获相同对象(例如,矩形)但在不同视角/拍摄角度的两个图像之间的透视变换/单应矩阵。可以使用OpenCV 2.3.1中的函数getPerspectiveTransform导出透视变换。我想找到相应的旋转和平移矩阵。

getPerspectiveTransform的输出是一个3x3矩阵,我可以直接用它来将源图像扭曲成目标图像。但我的问题是如何根据获得的3x3矩阵找到旋转和平移矩阵?

我正在查看功能decomposeProjectionMatrix以查找相应的旋转和平移矩阵。但输入必须是3x4投影矩阵。如何将透视变换(即3x3矩阵)与3x4投影矩阵联系起来?我是在正确的轨道上吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

单应矩阵中包含的信息(从getPerspectiveTransform返回)不足以提取旋转/翻译。缺少的列是正确找到角度的关键。

好消息是,在某些情况下,您可以使用solvePnP()函数从两组点中提取所需的参数。

此外,这个问题与你要求的是同一个问题。它应该有帮助

Analyze camera movement with OpenCV