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

SL & STL C++ Discussion :

Liste de liste et format de point


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    mmx
    mmx est déconnecté
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Par défaut Liste de liste et format de point
    Bonjour,

    je voudrais accéder à une liste de liste de points (x, y) dont le format est CvPoint2D32f qu'on récupère en utilisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    CV_INLINE  CvPoint  cvPointFrom32f( CvPoint2D32f point )
    {
        CvPoint ipt;
        ipt.x = cvRound(point.x);
        ipt.y = cvRound(point.y);
     
        return ipt;
    }
    Définition des listes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    list<CvPoint2D32f> historique; // les points
    list<list<CvPoint2D32f>> allPoints;//  Liste de l'historique
    Pour afficher ces points je dois utiliser la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cvCircle( image, cvPointFrom32f(point), 3, CV_RGB(0,0,255), -1, 8,0);
    Que dois-je mettre en deuxième paramètre de cvCircle pour atteindre les points dans ma liste de liste ? un iterator ? j'ai tout essayé mais aparement pas la bonne solution... je galère trop sur ce truc de m...

    Merci d'avance !!!

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Pourrais-tu préciser quel est le type que tu attends comme deuxième paramètre de cvCircle ?

  3. #3
    mmx
    mmx est déconnecté
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Par défaut
    oups pardon, je savais que j'avais oublié quelque chose...

    la définition de la méthode cvCircle()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CVAPI(void)  cvCircle( CvArr* img, CvPoint center, int radius,
                           CvScalar color, int thickness CV_DEFAULT(1),
                           int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0));
    et donc le CvPoint est une structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct CvPoint
    {
        int x;
        int y;
    }
    CvPoint;

    Voilà, j'espère que ça t'aide. Merci pour te pencher un peu sur mon problème

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Ton problème doit être différent de ce que tu expliques
    cvPointFrom32f retourne bien un CvPoint dans le code que tu postes...
    Est-ce le bon prototype?
    Quel est le message d'erreur ?

  5. #5
    mmx
    mmx est déconnecté
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Par défaut
    J'ai dû t'induire en erreur à cause de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cvCircle( image, cvPointFrom32f(point), 3, CV_RGB(0,0,255), -1, 8,0);

    ce que j'ai appelé "point" ne correspond à rien (j'ai tapé ça pour dire qu'il faut metre un point ici pour que cvCircle fonctionne) mais je sais pas comment atteindre un CvPoint depuis la liste de liste.

    Mon erreur est du type :

    Erreur 1 error C2664: 'cvPointFrom32f'*: impossible de convertir le paramètre 1 de 'std::list<_Ty>' en 'CvPoint2D32f'

  6. #6
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut
    Pour moi, il faudrait récupérer un itérateur sur la 1ere liste. Ainsi quand tu déférence ce dernier, ça te donne une liste simple, et tu peux utiliser les algos de la stl ou bien itérer.

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

Discussions similaires

  1. [Études] Liste de toutes les formations info
    Par Le Marlou dans le forum Etudes
    Réponses: 75
    Dernier message: 16/12/2024, 15h10
  2. Liste fichiers suivant le format
    Par yamino dans le forum Débuter
    Réponses: 10
    Dernier message: 30/03/2011, 15h25
  3. Réponses: 11
    Dernier message: 06/12/2009, 16h58
  4. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07

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