我正在使用OpenCV功能:cvExtractSURF
但我发现一个主要的内存泄漏。有没有人成功实施了这个呼叫?OpenCV - cvExtractSURF导致内存泄漏?
我的代码如下:
IplImage *cvImage = [self CreateIplImageFromUIImage:image grayscale:YES];
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq *objectKeypoints = 0;
//CvSeq *objectDescriptors = 0;
CvSURFParams params = cvSURFParams(self.hessianThreshold, 0);
double tt = (double)cvGetTickCount();
//Extract the features
cvExtractSURF(cvImage, 0, &objectKeypoints, NULL, storage, params, 0);
tt = (double)cvGetTickCount() - tt;
//NSLog(@"%d features found in %gms seconds\n", objectKeypoints->total, tt/(cvGetTickFrequency()*1000.));
cvReleaseImage(&cvImage);
cvReleaseMemStorage(&storage);
任何想法在那里,这可能被泄露?当我注释掉该行时:
cvExtractSURF(cvImage, 0, &objectKeypoints, NULL, storage, params, 0);
没有泄漏发生。
亲爱的@ aserbin3,如果你想要做的OpenCV的社区帮忙, - 停止编辑4年的关于(当时已经)死C-API的旧文章。那些来这里的菜鸟只会想,它仍然有效。 (它不是) – berak 2014-05-15 20:48:37