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 :

Problème de contour


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Par défaut Problème de contour
    Bonjour,
    y a t-il une solution pour pouvoir rassembler des contours différents de la même image ds une variable cvSeq (contours aussi) genre: i#j
    contour_i, contour_j : (donnees)
    cvSeq * Contours=contours_i;
    une fct genre Contours.push(contour_j)
    tout cela afin de dessiner contours (contours bien specifiques ds une image)

  2. #2
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut
    char* cvSeqPush(CvSeq* seq, void* element=NULL)¶
    Adds an element to the end of a sequence.

    Parameters: •seq – Sequence
    •element – Added element


    The function adds an element to the end of a sequence and returns a pointer to the allocated element. If the input element is NULL, the function simply allocates a space for one more element.
    Un truc dans ce genre la ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Par défaut pls
    Merci pour la réponse,
    cela devrai ajouter un autre élément a seq ie) un point pas un autre élément.
    ce que j aimerai faire c'est prendre une sous image de l image principale disons subimg1, extraire les contours(pas spécialement celui externe) prendre une autre sous image subimg2 de la même image principale et en extraire les contours aussi
    et rassembler tous les contours trouves et les afficher avec cvDrawContours, mais me faudrait adder les contours. (pas les éléments des contours qui sont des points)
    Merci.

  4. #4
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut
    une séquence n'équivaut pas à un point, tu peux y mettre ce que tu veux dedans si tu push un contour ca reste un contour, d'ailleur tes contours doivent être stocké dans une sequence si je dis pas de bêtise donc tu as juste à récupérer chaque élement de la deuxième séquence et les rentrer dans la première.
    Si tu récupère tes premiers contours tu les stocke dans une séquence. Tu récupère tes deuxième contours et tu les stocke dans une autre séquence, rien ne t'empêche de les extraires de celles-ci, une fois extrait ce sont de simple point et de les rentrer dans ton autre séquence.
    Si tu ne les cast pas en les sortants je pense pas qu'il y ait de souci non ?


    edit: en faite je vois ce qui est dérangeant tout compte fait, si tu ajoute un point dans ton seq, du point de vue externe c'est un élement, toi tu sais que c'est un point parce que c'est toi qui l'a ajouté mais sinon c'est un élement.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Par défaut
    Bonjour,
    je te remercie snowpy, mais rentrer les points un par un, ceci n est pas optimal, je voulais justement eviter cela. etant donne que les contours sont des listes de points et que leur types est cvSeq, il faudrais que je boucle sur tous les contours de la deuxieme sequence (a entrer) et boucler sur ts les points d'un meme contour. comme ceci:
    cvSeq * Contours; (donnee)
    cvSeq * c;(iterateur de type contour)
    cvPoint pt;(iterateur de type point)
    for (c=first_cont; c!=NULL;c=c->next)
    for(i=0;i<c->total;i++)
    mettre la fct qui add chaque point au contours initial Contours
    end for i
    end for c
    c pour cette raison que je voudrais une fct qui ajoute un contour a un ens de contours deja existant. genre Contours.push(c);

    merci.

  6. #6
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut
    passe par la mémoire alors. Tu récupère ton seq sous forme de mémoire tu copie le contenu et tu le colle dans l'autre, ca devrait être faisable.

Discussions similaires

  1. Problème fonction contour
    Par Rbarry dans le forum MATLAB
    Réponses: 1
    Dernier message: 16/11/2009, 11h49
  2. Problème de contour
    Par jameshamm dans le forum Images
    Réponses: 2
    Dernier message: 25/02/2008, 11h38
  3. Problème de contour noir d'ellipse
    Par ditchou dans le forum Débuter
    Réponses: 2
    Dernier message: 08/02/2008, 13h25
  4. [Flash Mx] Problème de contour texte
    Par tahiti bob dans le forum Flash
    Réponses: 13
    Dernier message: 12/03/2004, 13h52

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