运行带有功能findchessboardcorners()的错误xmemory()?

时间:2019-01-10 12:53:50

标签: c++ opencv image-processing visual-studio-2013

我正在使用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 :(得分:0)

经过艰苦的努力,我发现我必须先确定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中调整大小。