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
Partager