I'm writing a program that stitches aerial images from a video in real time taken by a drone. In fact, what I'm doing is:
- get two consecutive frames
- find features between these two frames
- calculate homography
- calculate images offset and stitch them together
The problem is the 3rd step, and that's why: Both my code and opencv stitching function calculate homography asserting that I've a rotation in some axis (because it's a panorama). Actually, the drone is acting like a "scanner", so instead having a rotation I've a translation of the camera. This influences my homography and then my stitching step creating artifacts. There's a way to consider the camera translation instead a rotation (like orthographic thing)? If it helps, I've intrinsic camera parameters calculated with the calibration tutorial
Ps: I'm programming in c++
EDIT I've found this library written by Nasa http://ti.arc.nasa.gov/tech/asr/intelligent-robotics/nasa-vision-workbench/
could it help? Can I use it togheter with opencv?