Я получаю сообщение об ошибке коррумпированного кучи после выхода из области видимости. Отладка утверждение терпит неудачу в debug_heap.cpp на _CrtlsValidHeapPointer (блок)Куча повреждена opencv
#include "opencv2\opencv.hpp"
#include "opencv2\nonfree\features2d.hpp"
using namespace cv;
int main(int argc, char* argv[]) {
Mat img = imread(argv[1]);
SurfFeatureDetector detector(400);
vector<KeyPoint> keypoints;
detector.detect(img, keypoints);
return 0;
}
РЕДАКТИРОВАТЬ Fixed. Проблема заключалась в увязывании. Я использовал visual studio 2015 и opencv 2.49 x86 vc10. vc10 предназначен для визуальной студии 2010. Раньше какая-то программа в visual studio 2010 и работает отлично.
Почему бы не написать новую версию здесь https://github.com/Itseez/opencv/issues? BTW, вы должны проверить img.data для не null, потому что imread может выйти из строя. –
Внедрить проверку ошибок и использовать отладчик – Drop
@SergeiNikulov Почему этот новичек беспокоит команду высокопрофессиональных программистов OpenCV? Вероятность ошибки 99,99% в коде. – Drop