OpenCV non-rotational image stitching

I am stitching images in OpenCV, where I photograph a flat scene from different places and try to make a panorama. I changed the stitching example to fit my needs. The problem with the openCV pipeline is that it involves a clean camera rotation, which is not the case for me. When the pictures are made perfectly orthogonal to the scene (without camera rotation, just translation), the result is not bad, but when there is both camera rotation and translation, the results do not satisfy.

I can calculate the homology between camera positions, which can be done because the scene is flat, but I don’t know what the next step is. My idea is to distort the image using homography so that the camera is facing the plane orthogonally, and then apply the line. The problem is that I do not know the true locations of the objects. How can i do this? Is there anything else that I could try to get better line results for a planar scene with arbitrary camera movement?

+4
source share
1 answer

Open source coding works by treating the translation as zero. Therefore, if the translation is within the range, it will work fine. Otherwise, he will reject distant images. If you want to use the translated set of images, you need to use decposehomgraphymat, which will give a non-zero translation and rotation. But to deform and mix opencv, only the rotation of the camera parameter is used. Therefore, you need to develop a completely new method for non-rotational crosslinking, perhaps you are looking at working with microsoft photo synchronization. I'm not sure, but it only works for translated images.

0
source

Source: https://habr.com/ru/post/1492731/


All Articles