我正在为iOS使用OpenCV库。目前我只使用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库有一些内存泄漏或什么?