我目前正在實現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