IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenCV Discussion :

Suivi de la rotation de la caméra


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 68
    Par défaut Suivi de la rotation de la caméra
    Bonjour,

    Je cherche à stabiliser l'image d'une video à partir des fonctions de motion capture et/ou optical flow, mais je m'y perds un peu.

    Je cherche à déterminer (sans passer par les matrices interne et externe) quelle transformation appliquer à l'image n+1 pour la faire coincider au plus proche de l'image n (il y aura de toute façon des résidus liés à la distorsion et à la translation de la caméra, mais très faibles entre chaque image).

    Plus précisemment, je cherche à appliquer à mon image n+1 :
    - une translation GLOBALE (type vecteur x,y)
    - une rotation GLOBALE

    Quelle fonction est-ce que je dois utiliser ?

    CamShift() à l'echelle de l'image entière ?
    calcGlobalOrientation() ?
    calcMotionGradient() ?

    Merci d'avance !

  2. #2
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut
    tu cherche à appliquer la rotation/translation ou à trouver celle-ci dans un premier temps ?

    Si c'est le premier cas regarde du côté de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void cvWarpPerspective(const CvArr* src, CvArr* dst, const CvMat* mapMatrix, int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS, CvScalar fillval=cvScalarAll(0) )
    et dans le deuxième cas tu peux faire ceci avant ce que je viens d'indiquer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CvMat* cvGetPerspectiveTransform(const CvPoint2D32f* src, const CvPoint2D32f* dst, CvMat* mapMatrix)

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 68
    Par défaut
    Merci Snowpy,

    Je cherche à appliquer la rotation pure (pas de translation). Mais j'aimerai beaucoup le faire directement à partir des matrices (c'est une corde que j'aimerai bien avoir à mon arc).
    J'ai déjà essayé warpperspective() avec succès, mais je pense bien qu'il doit exister une façon de faire avec les matrices de rotation.

    En y réfléchissant, il y a déjà une erreur, c'est que j'utilise les coordonnées images en pixel, et non en valeur angulaire, ce qui explique que cela fonctionne avec la rotation, mais pas avec les 2 autres axes.

    Quelle conversion dois-je effectuer à mes coordonnées pixel ? Pixel -> Radians ?

    Merci encore

    [edit) : je me suis trompé de post : ma réponse s'adresse à celui-la : il ne s'agit pas du même dispositif !

Discussions similaires

  1. Détection et suivi d'un cheval par une caméra mobile
    Par psycko_puppet dans le forum OpenCV
    Réponses: 20
    Dernier message: 17/03/2017, 12h28
  2. Suivi d'une personne sur quatre caméras
    Par altair8080 dans le forum OpenCV
    Réponses: 2
    Dernier message: 30/12/2013, 18h02
  3. Rectification de rotation de la caméra
    Par neoirto dans le forum OpenCV
    Réponses: 0
    Dernier message: 08/01/2012, 15h51
  4. Rotation de la caméra
    Par 3aychoucha dans le forum OpenGL
    Réponses: 6
    Dernier message: 04/07/2011, 12h59
  5. Problème lors de rotation de la caméra
    Par cayou66 dans le forum OpenSceneGraph
    Réponses: 8
    Dernier message: 28/08/2009, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo