запустить ошибку xmemory () с функцией findchessboardcorners ()? - PullRequest
0 голосов
/ 10 января 2019

Я использую OpenCV и MS Visual Studio 2013 для простого обнаружения шахматной доски. Он прекрасно компилируется и компилируется, но выдает ошибку времени выполнения в файле xmemory0(), расположенном в:

c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xmemory0

Я просто не могу понять проблему. Любая мысль будет оценена.

Отладчик ломается в xmemory0(), я думал, что проблема в findChessboardCorners() функции и библиотеке opencv-core2410. Я попробовал ту же функцию с vs2010, и она работает, но мне нужно сделать это с vs2013.

1 Ответ

0 голосов
/ 11 января 2019

После тяжелой работы я обнаружил, что должен определить размер переменных cv :: vector, прежде чем его использовать, например:

cv::vector<Point2f> corners;
corners.resize(54);
bool patternfound = findChessboardCorners(gray, patternsize, corners,CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_FAST_CHECK | CV_CALIB_CB_NORMALIZE_IMAGE);

Мне не нужно было изменять размер вектора в vs2010, но только в vs2013.

...