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 mémoire avec CvCreateImage


Sujet :

OpenCV

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème de mémoire avec CvCreateImage
    J'ai développé une interface graphique sous Qt me permettant de visualiser un flux vidéo et je souhaiterais maintenant effectuer des traitements sur ce flux.
    J'ai un problème lors de l'association des données entre Qt et le format IplImage de OpenCv pour ensuite effectuer mes traitements.
    J'utilise les fonctions CvCreateImage et CvSetData et cela fonctionne très bien mais je suis obligé d'appeler CvCreateImage pour chaque nouvelle image et je ne comprends pas pourquoi ?
    La conséquence est que mon occupation mémoire augmente à chaque itération et au bout d'un moment cela sature.

    J'ai essayé de faire un CvReleaseImage à chaque itération mais dans ce cas là la fonction CvSetData pose problème et le programme plante.

    Voici la partie de mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      QImage img ;
      IplImage *image;
     
      if( ! img.isNull()) {
           image = cvCreateImage( cvSize(img.width(), img.height()), IPL_DEPTH_8U, 4);
           cvSetData( image, (char*) img.bits(), img.bytesPerLine() );
     
           cvThreshold(image,image,50,120,0);
      }

    sachant que la Qimage est issue d'un thread qui semble très bien fonctionner.

    Qu'est ce que je peux faire ?

    Est-ce que j'utilise la bonne méthode ?

  2. #2
    Membre habitué Avatar de kanzarih
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2002
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2002
    Messages : 327
    Points : 197
    Points
    197
    Par défaut
    bonjour kvarme63
    Je cherche de puis une semaine à faire fonctionner OpenCV avec QTDesigner mais j'arrive pas!!
    alors vue que vous avez tester cette possibiliter avez vous des conseil a me donner ?
    j'ais plusieurs erreurs comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...référence indéfinie vers « cvCreateImage »....
    que j'arriv pas à résoudre; pourtant j'ai copier les fichier .h et .cpp avec les librairies de la biblio OpenCV à leur places respéctive sous QTDesigner. J'ai meme fais appel au fichier header dans mon code
    Alors Help svp car il s'ajit d'un PFE et le temps me présse
    merci

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Effectivement, j'utilise pour l'occasion Qt avec OpenCV

    Je pense que le problème vient du fichier .pro associé au fichier .ui dans lequel j'ai rajouté ou complété les lignes suivantes afin de préciser que j'utilisais OpenCV.

    INCLUDEPATH += . "C:\Program Files\OpenCV\cv\include" "C:\Program Files\OpenCV\cvaux\include" "C:\Program Files\OpenCV\cxcore\include" "C:\Program Files\OpenCV\otherlibs\highgui"
    LIBPATH += "C:\Program Files\OpenCV\bin"
    LIBS += -lcv -lhighgui

    Voilà, j'espère que cela va résoudre le problème par contre pour le mien a priori personne a de solution

  4. #4
    Membre habitué Avatar de kanzarih
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2002
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2002
    Messages : 327
    Points : 197
    Points
    197
    Par défaut
    Pour ton problème je pense que tu peut liberer un peut de memoire en stoquant après un nbr J d'itération les images capturé. en mémorisant leurs état dans un tableau pour avoir une référence sur chaque image et ainsi charger une image "im" si besoin. c'est évidant que la mémoire sature vue le nombre d'image dans un flux vidéo.

    pour mon cas j'utilise LINUX et pas "WINDOW$" alors j'ais pas de "c:\Program Files\..."; pas de page bleu d'ailleur .

    merci pour l'aide.

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/12/2010, 11h02
  2. Problème en mémoire avec des tableaux
    Par dword2add dans le forum C++
    Réponses: 3
    Dernier message: 11/11/2007, 13h36
  3. [GD] Problème de mémoire avec les grandes images en PHP
    Par bodysplash007 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 12/04/2007, 17h02
  4. [Crystal Report]Problème de mémoire avec le moteur RDC
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/05/2005, 09h09
  5. Problème de mémoire avec BDE
    Par Machuet dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 10h11

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