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 :

Corrélation de phase


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Par défaut Corrélation de phase
    bonjour
    je souhaite faire une cooelation de phase entre des images successives pour déterminer le mouvement de la caméra,le problème c'est que le résultat est abérant(pour un petit mouvement il me retourne un vecteur de translation énorme).
    voici mon code, si quelqu'un peut m'aider je serai ravie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    void phase_correlation(IplImage*img1,IplImage*img2)
    { 
    IplImage*imf1=cvCreateImage(cvGetSize(img1),IPL_DEPTH_32F,1);
    IplImage*dest1=cvCreateImage(cvGetSize(img1),IPL_DEPTH_32F,1);
    IplImage*imf2=cvCreateImage(cvGetSize(img2),IPL_DEPTH_32F,1);
    IplImage*dest2=cvCreateImage(cvGetSize(img2),IPL_DEPTH_32F,1);
    IplImage*C=cvCreateImage(cvGetSize(img1),IPL_DEPTH_32F,1);//là ou on va stocker le rapport des transformées de fourier des deux images
    cvConvert(img1,imf1);
    cvConvert(img2,imf2);
    cvDFT(imf1,dest1,CV_DXT_FORWARD);//trasformée de fourier de l'image de référence
    cvDFT(imf2,dest2,CV_DXT_FORWARD);//trasformée de fourier de l'image translatée
    cvDiv(dest2,dest1,C);//rapport des transformées de fourier
    IplImage*c=cvCreateImage(cvGetSize(C),IPL_DEPTH_32F,1);
    cvDFT(C,c,CV_DXT_INVERSE);//transformée de fourier inverse du rapport
    CvPoint minloc,maxloc;//points min et max
    double minval,maxval;
    cvMinMaxLoc(c,&minval,&maxval,&minloc,&maxloc,0);
    cout<<"max en ( "<<maxloc.x<<","<<maxloc.y<<") et valeur "<<maxval<<endl;
    cout<<"min en ( "<<minloc.x<<","<<minloc.y<<") et valeur "<<minval<<endl;
    cvNamedWindow("im1", CV_WINDOW_AUTOSIZE);
    cvNamedWindow("im2", CV_WINDOW_AUTOSIZE);
    cvShowImage( "im1", img1 );
    cvShowImage( "im2", img2 );
    cvWaitKey(0);
    cvDestroyWindow("im1");
     cvDestroyWindow("im2");
    cvReleaseImage(&C);
    cvReleaseImage(&c);
    cvReleaseImage(&imf1);
    cvReleaseImage(&imf2);
    cvReleaseImage(&dest1);
    cvReleaseImage(&dest2);
    }
    ce que je constate c'est que les valeurs dans C sont réelles et non complexes, eet je ne pense pas que ce soit normal

  2. #2
    Membre confirmé Avatar de xtra.creativity
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2007
    Messages : 108
    Par défaut
    peux tu nous donner ton algorithme plutot que ton code a moins que ton probleme vienne plus de ton code et des fonctions utilise?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    Pourquoi n'utilises tu pas le flow optique ?

Discussions similaires

  1. Haartraining ou corrélation de phase (FFTW)
    Par Linkis dans le forum OpenCV
    Réponses: 33
    Dernier message: 30/08/2012, 16h26
  2. corrélation de phase
    Par dudux dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 22/03/2011, 08h49
  3. corrélation de phases( phase only correlation)
    Par annabiste dans le forum Images
    Réponses: 1
    Dernier message: 29/05/2010, 20h23
  4. Fitter une fonction (méthode Corrélation de phase)
    Par Programmeur_Aladdin dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 10/03/2008, 17h46
  5. Augmenter la précision avec la méthode de corrélation de phase
    Par Programmeur_Aladdin dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 28/02/2008, 15h59

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