5

I have n frames of 360x180 panoramic images. I'd like to determine the camera's rotation based on the comparison between two sequential images. For this project it's safe to assume that all features visible in the images are at infinity.

I am new (today) to OpenCV and definitely need to do more reading. I have an app that will find the KeyPoints using either SIFT or SURF, but am unsure of how to continue from here.

Thanks

RobotCaleb
  • 594
  • 3
  • 14
  • I did find a video that seems to demonstrate functionality that might be useful. http://www.youtube.com/watch?v=sXYLkN6kek4 – RobotCaleb Jul 25 '12 at 22:26

1 Answers1

4

To find the rotation between to images you need to know orientation of both, and therefore, the pose. To calculate the camera pose you need to find homography transformation from keypoints matches.

Imagine you know the orientation of the first frame and position, because you decide it arbitrarily. You have the keypoints extracted by SIFT. From here you have next steps:

1- Extract keypoints from next frame.

2- Find matches of the keypoints on both frames.

3- Use RANSAC to find the best set of inliers/outliers of that matches for next step

4- Use DLT (Direct Lienar Transform) with that set, this will use 4 matches to find homography between images.

5- Once you have homography, you can extract the pose, and the rotation.

You have openCV functions for all the steps except for pose from homography.

Community
  • 1
  • 1
Jav_Rock
  • 21,011
  • 18
  • 115
  • 164
  • That all sounds reasonable. It definitely helps to know the language needed. So thanks for that as well. :) I'll give this a whirl this evening. Last night I was able to figure out how to determine matching SURF points between two images and ran into the issue of some points being found as matches that aren't matches at all. RANSAC sounds like it'll help with that. – RobotCaleb Jul 26 '12 at 14:47
  • You pointed me in the right direction. I have something that I can tune more, now. Thanks for your assistance. – RobotCaleb Jul 27 '12 at 19:10
  • Hey, thanks for flagging those answers, in the future, it would help us more if you flag those as "Not an answer". Thanks again! – casperOne Aug 20 '12 at 16:23