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

标签 opencv perspective

我现在正在尝试分析两个图像之间的透视变换/单应矩阵,这些图像以不同的视角/拍摄角度捕获相同的对象(例如,矩形)。可以使用函数 getPerspectiveTransform 导出透视变换。在 OpenCV 2.3.1 中。我想找到相应的旋转和平移矩阵。
getPerspectiveTransform 的输出是一个 3x3 矩阵,我可以直接使用它来将源图像变形为目标图像。但我的问题是,如何根据获得的 3x3 矩阵找到旋转和平移矩阵?

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

非常感谢你。

最佳答案

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

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

此外,这个问题与您所要求的相同。它应该有帮助

Analyze camera movement with OpenCV

关于opencv - 如何在 OpenCV 中使用 getPerspectiveTransform 的输出 3x3 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11981971/

相关文章:

python - 基于显着性的部分信息寻找完整轮廓

c++ - 运行一次后,Visual Studio中的OpenCV崩溃

javascript - 3d 到 2d 投影算法(透视投影)- Javascript

c - 开放计算机视觉中 C 中 undefined reference

c++ - 如何在 Visual C++ 2010 或 2008 中使用 OpenCV 2.1 访问网络摄像头(compro IP50W)

c++ - 打印 cvMat channel

ios - 将OpenCV的findHomography透视矩阵转换为iOS的CATransform3D

CSS3 转换后的元素在 Firefox 中不可见

eclipse - eclipse中切换不同视角的快捷键是什么

css - 3D 变换在过渡结束时失去视角