I am working on an image stitching app. I have a camera fixed in the Z axis, so I only have movement in X or Y. The scale of the input image is always constant.
I am using Template Matching (ORB) to get the matches and so, the shifts of the camera in time.
I am getting very good results, but some misalignments appear after a while scanning.
I think it may be happening because I am dragging small error after every single match, that has an impact in the global shifts because of accumulated error.
I know that I need something to globally refine the match to correct this global error, but I can’t find the way.
Bundle adjustment looks promising, but I can’t find the way to use it in this context, where I don’t have a calibrated camera and I only have a single camera and 2D points only.
How can I do to correct my matches globally so everything fits as expected without dragging error?