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 :

Pointeur de pointeur


Sujet :

OpenCV

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Par défaut Pointeur de pointeur
    Bonjour,
    je ne suis pas encore très à l'aise avec OpenCv et même le c.

    J'ai ce bout de code qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for(int i=0; i<_contour.blobs.size(); i++){
            //table for translation in openCv types (ofPoint -> cvPoint)
            cvPoint** tableau_points;
            tableau_points = (cvPoint**) malloc(sizeof(cvPoint*)*_contour.blobs[i].pts.size());
     
            //set all the blob contour in a table to draw a fill polygon
            for(int j=0; j<_contour.blobs[i].pts.size(); j++){
                cvPoint* ptr = &cvPoint(_contour.blobs[i].pts[j].x, _contour.blobs[i].pts[j].y);
                tableau_points[j] = ptr;
            }
            cvFillPoly(outputImage.getCvImage(), tableau_points, &(_contour.blobs.nPts), _contour.blobs.nPts, cvScalar(255,255,255), 8);
        }
    Le compilateur me dit que : "tableau_points is not devcalred in this scope".

    C'est bête parce que c'est justement là que j'en fais la déclaration ? Où est-ce que je bug ?

    Merci d'avance...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Par défaut
    Bon finalement, j'ai remarqué que mon code était complètement erroné.

    Je l'ai donc changé en ceci :
    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
     
    CvPoint**   tableau_points = (CvPoint**) malloc(sizeof(CvPoint*)*_contour.blobs.size());
        int*        nbrPoints = (int*) malloc(sizeof(int)*_contour.blobs.size());
     
        for(int i=0; i<_contour.blobs.size(); i++){
            //table for translation in openCv types (ofPoint -> cvPoint)
            nbrPoints[i] = _contour.blobs[i].pts.size();
            CvPoint* ptr_points = (CvPoint*) malloc(sizeof(CvPoint)*_contour.blobs[i].pts.size());
            CvPoint* ptr = ptr_points;
            //set all the blob contour in a table to draw a fill polygon
            for(int j=0; j<_contour.blobs[i].pts.size(); j++){
                ptr = new CvPoint(cvPoint(_contour.blobs[i].pts[j].x, _contour.blobs[i].pts[j].y));
                ptr++;
            }
            tableau_points[i] = ptr_points;
        }
        cvFillPoly(outputImage.getCvImage(), tableau_points, nbrPoints, _contour.blobs.size(), cvScalar(255,255,255), 8);
    Mais, maintenant j'ai ceci comme erreur à l'exécution :

    Bad argument()
    in function cvFillPoly, cxdrawing.cpp

    Et je ne vois pas ce que je fais de mal pour mériter ça

Discussions similaires

  1. Pointeurs et pointeurs de pointeurs
    Par wallace27 dans le forum C
    Réponses: 10
    Dernier message: 09/04/2015, 22h07
  2. Réponses: 21
    Dernier message: 06/08/2009, 09h31
  3. Réponses: 6
    Dernier message: 26/05/2007, 00h33
  4. pointeur de pointeur
    Par petdelascar dans le forum C
    Réponses: 2
    Dernier message: 05/12/2005, 10h26
  5. pointeur sur pointeur
    Par gaut dans le forum C
    Réponses: 3
    Dernier message: 01/11/2005, 21h30

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