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 :

Fuite de mémoire dans OpenCV


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Par défaut Fuite de mémoire dans OpenCV
    bonjour à tous,

    Je m'explique, je viens de me rendre compte que j'ai un problème de mémoire dans mon programme. Voila mon problème, lorsque j'entre dans ma fonction func1, j'utilise un certain nombre de mémoire. A sa sortie, il en utilise plus alors que j'ai bien effacer correctement les image instanciées.

    J'ai remarqué que faire un cvCloneImage bouffer de la mémoire à chaque fois, cad, que si une image me prend 8Mo en mémoire, si je fais un 4xcvCloneImage(imgIN), mon image va peser 32Mo en mémoire !!!

    Chelou !!! surtout qu'à la destruction, je pense tout ne disparait pas complément : Voila le code

    programme principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    func1(img1, img1);

    code de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void func1(const IplImage* imgIN, IplImage*& imgOUT)
    {
    	IplImage* imgNot = cvCloneImage(imgIN);
    	cvNot(imgNot, imgNot);
     
    	// Initialisation de l'image de sortie
    	imgOUT = cvCloneImage(imgIN);
     
    	[...]
     
    	// Libération de la mémoire
    	cvReleaseImage(&imgNot);
    }

    Des idées, merci à tous et bon ap

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Par défaut
    Désolé, j'ai fait le trou de balle, en fait, il ne faut pas utiliser cvCloneImage dans la fonction func1, mais bien cvCopyImage car l'image est sensée être déclarée en haut.

    Cependant, cela reste tout de même bizarre que lorsqu'on fait plusieurs cvCloneImage à la suite, la taille de l'image augmente en fonction.

    Je pensais que faire un cvClone ou 10 serait la même chose en mémoire, que né ni !!!

    Allez merci quand même

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

Discussions similaires

  1. Fuite de mémoire dans la SDL ?
    Par Dliw0 dans le forum SDL
    Réponses: 3
    Dernier message: 02/06/2013, 19h21
  2. Fuite de mémoire dans les appels imbriqués ?
    Par Linschn dans le forum Langage
    Réponses: 14
    Dernier message: 07/10/2009, 14h19
  3. Fuite de mémoire dans "gtk_widget_show" ?
    Par Ekinoks dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 18/06/2008, 12h00
  4. Fuite de mémoire dans ce code ?
    Par ipingu dans le forum C++
    Réponses: 2
    Dernier message: 07/09/2007, 11h54
  5. Réponses: 8
    Dernier message: 09/02/2007, 15h31

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