我目前正在实现SIFT从图像中提取特征点,并注意到当我得到描述符时,我有内存泄漏。无论如何,我可以释放班上可能会留下的记忆吗?SiftDescriptorExtractor导致内存泄漏
EDIT 添加更多细节到码块
cv::SiftFeatureDetector* features = new cv::SiftFeatureDetector();
cv::SiftDescriptorExtractor* extractor = new cv::SiftDescriptorExtractor();
std::vector<cv::KeyPoint> KeyPoints;
cv::Mat Descriptors;
// Turn the image into a Mat
cv::Mat mImage = cv::Mat(iplImage);
printf("Searching for keypoints in: %s.\n", szName.c_str());
// Detect keypoints
features->detect(mImage, KeyPoints);
printf("Found %d keypoints.\n", KeyPoints.size());
// Extract descriptors
extractor->compute(mImage, KeyPoints, Descriptors);
printf("Found %d descriptors.\n\n", Descriptors.rows);
// Let my memory go!
delete extractor;
delete features;
任何意见是极大的赞赏。谢谢。
这些变量都是什么?宣布它们,以便我们可以帮助你。 – karlphillip
对不起,我编辑了帖子以进一步解释代码。 – Seb
你是怎么想出这个代码中有内存泄漏的结论的?我想知道你是如何衡量的。 – karlphillip