我正在使用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