Ich habe diese Funktion in C aufrufen ++ OpenCV mit:Debug Assertionsfehler Expression: _pFirstBlock == pHead mit OpenCV und C++ versucht SurfFeatureDetector
vector<KeyPoint> test(Mat img)
{
int minHessian = 400;
SurfFeatureDetector detector(minHessian);
vector<KeyPoint> vKeypoints;
detector.detect(img, vKeypoints);
return vKeypoints;
}
Wenn ich nenne diese Funktion in meinem Haupt-Methode funktioniert alles einwandfrei.
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;
}
Aber sobald ich zweimal diese Methode bin Aufruf ...
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;
}
... Ich erhalte den folgenden Fehler:
Kann mir jemand sagen, wo ist mein Fehler und wie könnte ich das beheben? Ich muss diese Funktion zweimal mit zwei verschiedenen Bildern aufrufen, aber jedes Mal, wenn ich das mache, erhalte ich diesen Fehler.
Ich verwende Visual Studio 2012.