确定两个360x180 equirectangular全景图像之间的相机旋转

Rob*_*leb 5 opencv

我有n帧360x180全景图像.我想根据两个连续图像之间的比较来确定相机的旋转.对于这个项目,可以安全地假设图像中可见的所有特征都处于无穷远处.

我是(今天)对OpenCV的新人,肯定需要做更多的阅读.我有一个应用程序,可以使用SIFT或SURF找到KeyPoints,但我不确定如何从这里继续.

谢谢

Jav*_*ock 4

要找到图像之间的旋转,您需要知道两者的方向,因此需要知道姿势。要计算相机姿势,您需要从关键点匹配中找到单应性变换。

想象一下,您知道第一帧的方向和位置,因为您任意决定它。您已通过 SIFT 提取了关键点。从这里您可以执行后续步骤:

1-从下一帧中提取关键点。

2-查找两个帧上关键点的匹配。

3-使用RANSAC找到下一步匹配的最佳内点/离群值集

4-对该组使用 DLT(直接连线变换),这将使用 4 个匹配来查找图像之间的单应性。

5-一旦获得单应性,您就可以提取姿势和旋转。

除单应性姿势外,您对所有步骤都有 openCV 函数。