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 :

Transformation polaire cvLogPolar


Sujet :

OpenCV

  1. #1
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut Transformation polaire rectangulaire cvPolarToCart
    Bonjour
    Je souhaiterais appliquer la fonction
    cvLogPolar (src, dest, centre, Magnitude, flags)
    sachant que je dispose des images src, dest, du centre, mais aussi d'un StartRadius, EndRadius, StartAngle, EndAngle.
    Comment régler ma magnitude par rapport à ce que je possède?
    J'ai essayer avec Magnitude = EndAngle - StartAngle et avec Magnitude = EndRadius - StartRadius mais cela donne des résultats incorrects.

  2. #2
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    Bonjour,
    vu que personne n'a d'idées, je vous envoie une image qui va vous éclairer j'espère. J'obtiens bien facilement le radius pour l'image rectangle mais pas l'angle qui se retrouve être la width de la destination...Quelqu'un a une idée ? Ensuite avec ces deux champs on doit pouvoir trouver la " magnitude " mais je ne sais pas ce que c'est.
    void cvLogPolar( const CvArr* src, CvArr* dst,
    CvPoint2D32f center, double M,
    int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS );
    M
    Magnitude scale parameter. See below.
    ???
    Images attachées Images attachées  

  3. #3
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    Ce n'est pas LogPolar que je dois utiliser mais cvPolarToCart.
    Calculates cartesian coordinates of 2d vectors represented in polar form
    void cvPolarToCart( const CvArr* magnitude, const CvArr* angle,
    CvArr* x, CvArr* y, int angle_in_degrees=0 );
    magnitude
    The array of magnitudes. If it is NULL, the magnitudes are assumed all 1’s.
    angle
    The array of angles, whether in radians or degrees.
    x
    The destination array of x-coordinates, may be set to NULL if it is not needed.
    y
    The destination array of y-coordinates, may be set to NULL if it is not needed.
    angle_in_degrees
    The flag indicating whether the angles are measured in radians, which is default mode, or in degrees.
    The function cvPolarToCart calculates either x-coodinate, y-coordinate or both of every vector magnitude(I)*exp(angle(I)*j), j=sqrt(-1):
    x(I)=magnitude(I)*cos(angle(I)),
    y(I)=magnitude(I)*sin(angle(I))
    Comment obtenir le cvArr magnitude (=rayon) et celui de l'angle ?!

  4. #4
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    Toujours pour cette fonction que personne ne sait utilisé:
    comment créé un cvArr à une dimension svp? (un vecteur?)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    cvArr n'est pas un type, c'est juste générique ça désigne un array d'OpenCV, cela peut très bien être une matrice, iplImage, ...

  6. #6
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    Moui je sais bien, mais je me demandais s'il existait une structure spécifique?
    Je vais essayer avec cvMat...Merci déjà!!!

  7. #7
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    Sujet résolu !!! ouhouuuu
    (http://www.developpez.net/forums/sho...d.php?t=587885)
    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
     
    imgDeroulee = cvCreateImage(cvSize(2*CV_PI*RadiusMax,RadiusMax-RadiusMin),IPL_DEPTH_8U,1);
    cvSet(imgDeroulee,CV_WHITE,NULL);
    int x0,y0;
    double lRadius;
    double lAngle;
    for(int x=1; x<imgDeroulee->width; x++)
    {
    	for(int y=1; y<imgDeroulee->height; y++)
    	{
    		//rayon = rayon_min+(rayon_max-rayon_min)*(y/hauteur_du_rectangle)
    		//angle = 2*pi*x/longueur_du_rectangle
    		//x0 = centre_x + rayon*cos(angle)
    		//y0 = centre_y + rayon*sin(angle)
    		Radius = RadiusMin + y; // hauteurDuRect = RadiusMax-RadiusMin
    		Angle	= 2 * CV_PI * x / imgDeroulee->width;
    		x0 = cvRound(CenterX + Radius * cos(Angle));
    		y0 = cvRound(CenterY + Radius * sin(Angle));
     
    		cvSet2D(imgDeroulee, y, x, cvGet2D(imgBase,y0,x0));
    	}
    }
     
    cvSaveImage("imgDeroulee.bmp",imgDeroulee);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. la T.H circulaire + La Transformation pseudo polaire
    Par 13K-OMAR dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 20/09/2013, 15h33
  2. [debutant] transformations polaires-rectangulaires
    Par cecile22sky dans le forum Débuter
    Réponses: 9
    Dernier message: 28/09/2007, 21h30
  3. transformer un jour en JJ/MM/AA
    Par gemini_010 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 08/11/2002, 22h55
  4. Transformer un caractère en type énuméré
    Par HT dans le forum Langage
    Réponses: 3
    Dernier message: 22/10/2002, 20h46
  5. FFT(Fast Fourier Transform)
    Par IngBen dans le forum Traitement du signal
    Réponses: 6
    Dernier message: 23/05/2002, 16h35

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