У меня есть эта функция на С++ с использованием OpenCV:
vector<KeyPoint> test(Mat img)
{
int minHessian = 400;
SurfFeatureDetector detector( minHessian );
vector<KeyPoint> vKeypoints;
detector.detect( img, vKeypoints );
return vKeypoints;
}
Когда я вызываю эту функцию в своем основном методе, все работает нормально.
int main( int, char** argv )
{
// path to a image-file
char* input = "image.jpg";
// read image into Mat img
Mat img = imread( input, CV_LOAD_IMAGE_GRAYSCALE );
// call function test
test(img);
waitKey(0);
return 0;
}
Но как только я вызываю этот метод дважды...
int main( int, char** argv )
{
// path to a image-file
char* input = "image.jpg";
// read image into Mat img
Mat img = imread( input, CV_LOAD_IMAGE_GRAYSCALE );
// call function test
test(img);
test(img); // <-- !!! second call
waitKey(0);
return 0;
}
... Я получаю следующую ошибку:
Может ли кто-нибудь сказать мне, где моя ошибка и как я могу это исправить? Мне нужно дважды вызвать эту функцию с двумя разными изображениями, но каждый раз, когда я это делаю, я получаю эту ошибку.
Я использую Visual Studio 2012.