我有 n 帧 360x180 全景图像。我想根据两个连续图像之间的比较来确定相机的旋转。对于这个项目,可以安全地假设图像中所有可见的特征都在无穷远处。
我(今天)是 OpenCV 的新手,肯定需要做更多的阅读。我有一个应用程序可以使用 SIFT 或 SURF 找到关键点,但我不确定如何从这里继续。
谢谢
最佳答案
要找到图像之间的旋转,您需要知道两者的方向,因此,姿势。要计算相机姿态,您需要从关键点匹配 中找到单应性 变换。
假设您知道第一帧的方向和位置,因为您是任意决定的。您拥有 SIFT 提取的关键点。从这里开始,您可以执行后续步骤:
1- 从下一帧中提取关键点。
2- 在两个帧上找到关键点的匹配项。
3- 使用 RANSAC 为下一步找到匹配的最佳内点/外点集
4- 对该集合使用 DLT(直接线性变换),这将使用 4 个匹配来查找图像之间的单应性。
5-一旦有了单应性,就可以提取姿态和旋转。
除了 pose from homography 之外的所有步骤,您都有 openCV 函数.
关于opencv - 确定两个 360x180 等距柱状全景图像之间的相机旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11642988/