Bonjour,
je souhaite stabiliser une vidéo suivant l'horizon. Pour cela l'utilise le flow optique (calcOpticalFlowPyrLK) puis je détermine la matrice de transformation affine. J'obtiens bien une vidéo stabilisée (par rapport à la toute première image). Malheureusement lorsque je tourne la caméra (droite/gauche, rotation sur l'axe Y si je me trompe pas) la stabilisation étire vachement l'image.
J'aimerais donc réaliser une stabilisation uniquement sur la position de l'horizon afin d'avoir l'horizon toujours "centré" sur mon image (en gros stabiliser sur une translation (haut/bas) et une rotation (tangage)). A terme une rotation droite/gauche ne doit pas étirer la vidéo.
Si j'ai bien compris, la matrice de transformation affine est de cette forme : [x';y'] = [cos(θ), sin(θ), tx; sin(θ), cos(θ), ty]*[x;y;1].
Mon idée est donc d'annuler une partie de ces paramètres : [x';y'] = [cos(θ), 0, 0; sin(θ), 0, ty]*[x;y;1].
Visiblement mon approche n'est pas correcte et je sèche un peu. J'ai aussi regardé avec l'utilisation de la matrice d'homographie mais je n'arrive pas à isoler les paramètres de rotation/translation pour chaque axe.
Quelqu'un aurait-il une solution à mon problème ? Merci d'avance![]()
Partager