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

Traitement d'images Discussion :

Pic d'une Transformée de Fourier Inverse en C++


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Par défaut Pic d'une Transformée de Fourier Inverse en C++
    Bonjour
    Je suis entrain de faire un programme pour la registration des images astronomiques à l'aide de la Transformée de Fourier.
    J'ai réussis à trouver la matrice de corrélation ainsi que sa transformée de Fourier inverse.
    Maintenant, j'aimerais déterminer la position du pic dans cette transformée inverse en C++.
    Avez-vous des pistes à me suggérer?
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Juste pour voir si j'ai bien compris...

    1. 2 signaux 2D (des images ?) dans le domaine spatial
    2. Passage dans le domaine fréquentiel (FFT)
    3. Calcul de la corrélation dans le domaine fréquentiel
    4. Passage de la corrélation dans le domaine spatial (FFT-1)

    Et maintenant tu cherches un pic (le maximum de corrélation) dans une surface 2D discrétisée.

    J'ai bon ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Par défaut
    Exactement..
    Est ce qu'il suffit de chercher le point max dans mon tableau qui represente l'image dans le domaine spatial?

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Programmeur_Aladdin Voir le message
    Exactement..
    Est ce qu'il suffit de chercher le point max dans mon tableau qui represente l'image dans le domaine spatial?
    A priori: oui. Il faudra juste gérer le cas ou le "pic" est en fait un "plateau" => plusieurs occurrences de la valeur max.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Par défaut
    Très bien.. Merci beaucoup pseudocode..
    Maintenant, pour trouver bêtement mon pic (avant la gestion des cas d'exceptions), je fais tout simplement:

    for(i=0; i<largeur*hauteur; i++)
    {
    if(InverseMatriceCorrelation[i+1]>InverseMatriceCorrelation[i])
    {
    *xPic = i+1;
    *yPic = i/largeur;
    }
    }

    Puisque l'image est compsée d'un tableau unidimensionnel, je divise par la largeur (x) pour que j'obtienne le (y) correspondant..

    Qu'en pensez-vous? c'est correcte ou bien il existe une méthode plus facile?

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Programmeur_Aladdin Voir le message
    Maintenant, pour trouver bêtement mon pic (avant la gestion des cas d'exceptions), je fais tout simplement:

    for(i=0; i<largeur*hauteur; i++)
    {
    if(InverseMatriceCorrelation[i+1]>InverseMatriceCorrelation[i])
    {
    *xPic = i+1;
    *yPic = i/largeur;
    }
    }
    En quoi comparer systematiquement un element avec son suivant permet de trouver le maximum du tableau ?

    Moi je verrai plutot quelquechose comme cela:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int xPic, yPic, vPic=0;
     
    for(i=0; i<largeur*hauteur; i++)
    {
    	if(InverseMatriceCorrelation[i]>vPic)
    	{
    		xPic = i%largeur;
    		yPic = i/largeur;						
    		vPic = InverseMatriceCorrelation[i];
    	}
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Transformée de fourier inverse
    Par Moisenberg dans le forum Signal
    Réponses: 0
    Dernier message: 11/05/2014, 14h30
  2. Transformée de Fourier et son inverse
    Par altaruk dans le forum MATLAB
    Réponses: 1
    Dernier message: 08/04/2014, 10h45
  3. Réponses: 1
    Dernier message: 20/04/2011, 21h10
  4. [Débutant] Transformée de Fourier Inverse - symétrie
    Par Tibtib dans le forum Signal
    Réponses: 6
    Dernier message: 28/02/2011, 10h36
  5. Réponses: 10
    Dernier message: 26/06/2007, 14h14

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