【发布时间】:2012-08-16 06:44:45
【问题描述】:
我现在正在尝试分析两个图像之间的透视变换/单应矩阵,它们以不同的视角/拍摄角度捕获相同的对象(例如,矩形)。可以使用 OpenCV 2.3.1 中的函数getPerspectiveTransform 导出透视变换。我想找到对应的旋转和平移矩阵。
getPerspectiveTransform 的输出是一个 3x3 矩阵,我可以直接使用它来将源图像变形为目标图像。但我的问题是,如何根据获得的 3x3 矩阵找到旋转和平移矩阵?
我正在研究函数decomposeProjectionMatrix 以获取相应的旋转和平移矩阵。但输入必须是 3x4 投影矩阵。如何将透视变换(即 3x3 矩阵)与 3x4 投影矩阵联系起来?我在正确的轨道上吗?
非常感谢。
【问题讨论】:
-
@Jav_Rock:非常感谢您的回复。我阅读了上面的链接,问题是从姿势中找到单应性。但我怎样才能反过来做(即,pose from homogrpahy)?我仍然不清楚如何在大小为 3x4 的姿势矩阵中找出另外三个参数。如果您可以提供更多见解,那将是非常受欢迎的。非常感谢
-
嗯,我有这篇文章,我分享了一些关于单应性姿势的代码:stackoverflow.com/a/10781165/744859 也许你不明白,但想法是姿势矩阵有一个冗余列,它是叉积的前两列。我会寻找一个调查,所有这些都可以更好地解释我可以做的。
-
这是调查。 “3D 平面估计”的单应性和姿态之间的关系在第 2.3.4 节中解释:cvlab.epfl.ch/~lepetit/papers/lepetit_ftcgv05.pdf
-
非常感谢@Jav_Rock!我会研究的。
标签: opencv perspective