Я использую библиотеку OpenCV для iOS. В настоящее время я делаю только обнаружение ключевых точек, используя FAST. Я должен нажать на кнопку, чтобы запустить метод "processFrame".
Этот метод использует камеру iPhone для захвата изображения, а затем обрабатывает его следующим способом.
- (void) processFrame
{
cv::Mat grayFrame, grayImg, output;
cv::Point res1;
cv::Point res2;
UIImage *testImage = [UIImage imageNamed:@"ie.png"];
cv::Mat tempMat = [testImage CVMat];
cv::cvtColor(tempMat, grayImg, cv::COLOR_RGB2GRAY);
cv::cvtColor(_lastFrame, grayFrame, cv::COLOR_RGB2GRAY);
cv::FastFeatureDetector detector;
cv::vector<cv::KeyPoint> keypoints;
cv::FAST(grayFrame, keypoints, 10);
cv::drawKeypoints(grayFrame, keypoints, output);
camView.image = [UIImage imageWithCVMat:output];
[self captureAndProcess];
}
Пока он делает достойную работу. Вывод изображения немного запаздывает, но это работает. Но через несколько секунд (5 секунд или около того) приложение останавливается со следующим сообщением:
OpenCV2 [13995: 707] Предупреждение о получении памяти. Уровень = 2
OpenCV2 [13995: 707] Получено предупреждение о памяти. Уровень = 2
Значит ли это, что в библиотеке OpenCV есть утечка памяти или что-то в этом роде?