Bonjour,
j'ai souvent l'erreur "buffer too small" qui arrive juste apres quelques traitements (recherche de corners, mise en correspondance ..)
Que faire pour l'eliminer ou l'eviter?
Bonjour,
j'ai souvent l'erreur "buffer too small" qui arrive juste apres quelques traitements (recherche de corners, mise en correspondance ..)
Que faire pour l'eliminer ou l'eviter?
Salut,
Je n'ai jamais eu ce problème donc je ne sais pas trop. As-tu regardé ta consommation mémoire pour suivre tes allocations ? Peut-être as-tu une allocation mémoire trop grande au moment du plantage ?
Je ne peux pour l'instant que te conseiller de libérer le maximum de mémoire...
As-tu plus d'informations que le seul message "buffer too small" ?
A+
Hunta
voila une capture
l'un des codes qui peut parfois generer ce message: code de detection des corners
(pour une même image et même traitement, parfois j'ai le message parfois non)
IplImage* image=cvCreateImage(cvGetSize(img),IPL_DEPTH_32F,1);
image = cvCloneImage(img);
imgGray=cvCreateImage(cvGetSize(image),IPL_DEPTH_8U ,1);
IplImage* eigImage = cvCreateImage(cvGetSize(image),IPL_DEPTH_32F,1);
IplImage* tempImage = cvCreateImage(cvGetSize(image),IPL_DEPTH_32F,1);
//ofstream outFile("cornerLeft.dat",ios::out);//create file for output of corner values
//find corners in image
if (img->nChannels==1) {imgGray=cvCloneImage(img);
img= cvCreateImage( cvGetSize(imgGray), 8, 3 );
cvCvtColor(imgGray,img,CV_GRAY2BGR);
} else {
cvCvtColor(image,imgGray,CV_BGR2GRAY);
}
cc=MAXIMUMNUMBEROFCORNERS;
cvGoodFeaturesToTrack(imgGray,eigImage,tempImage,CornerTable,&cc,GF_QL,10.0,NULL,3,1,0);
cvFindCornerSubPix(imgGray, &CornerTable[0], cc, cvSize(10,10),cvSize(-1,-1), cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,20,0.03));
Nbrecorners=cc;
CornersAreAlreadyLocated=true;
cvReleaseImage(&image);
cvReleaseImage(&eigImage);
cvReleaseImage(&tempImage);
Salut,
A priori, vu ton message d'erreur, cela ne viendrait pas d'opencv mais plutôt d'une manipulation de chaînes de caractères. Pour moi, tu devrais plutôt regarder de ce côté-là.
A+,
Hunta
Salut,
Je rejoint l'avis de hunta_kirua, j'ai eu le meme probleme, parceque ma chaine de caractère qui devait contenir le chemin de sauvegarde de mon image était trop longue,
J'ai remplacé c:\\users\\ blabla .... \\destination par c:\\destination tout court et sa marche
merci pour vos reponses et pardon pour le retard
apparament cette erreur n'apparait que pour les images dont le chemin est long ou complexe pour openCV
pas grave
Partager