【发布时间】:2010-10-07 23:07:27
【问题描述】:
我正在使用 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社区一个忙,-停止编辑关于(当时已经)死的c-api的4年前的帖子。那些来这里的菜鸟只会认为,它仍然有效。 (不是)