Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 41027

Corner vector of findChessboardCorners output too large?

$
0
0
So I'm trying to calibrate a camera using the tutorial code in calib3d and [this](http://www.aishack.in/tutorials/calibrating-undistorting-with-opencv-in-c-oh-yeah/) tutorial. I keep getting the same error over and over (std::length_error at memory location) and I've traced it to where I try and add the corner vector given from findChessboardCorners to the image_Points vector in the last line of my code-- the corner vector is too large. Screenshot of corner vector size below: ![image description](/upfiles/14369902254408723.png) Stripped down tutorial code is below, though again I've isolated the problem to findChessboardCorners giving a seemingly nonsensical corner vector. The strange part is that there's no problem drawing the corners on the calibration image I'm using-- it appears as though the corners were calibrated perfectly. So what is the problem here? I really don't know why findChessboardCorners would be giving me such a large corner vector that I can't even add it to a list of vectors. using namespace cv; using namespace std; int main(int argc, char** argv){ int numBoards = 1; int numCornersHor=7; int numCornersVer=5; int numSquares = numCornersHor * numCornersVer; Size board_sz = Size(numCornersHor, numCornersVer); vector> object_points; vector> image_points; vector corners; int successes = 0; Mat large_image; Mat image; Mat gray_image; large_image = imread(argv[1], IMREAD_COLOR); resize(large_image, image, Size(), .5, .5); vector obj; for (int j = 0; j1) cvtColor(image, gray_image, CV_BGR2GRAY); else gray_image = image; bool found = findChessboardCorners(image, board_sz, corners, CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_FAST_CHECK | CV_CALIB_CB_NORMALIZE_IMAGE); if (found) { cornerSubPix(gray_image, corners, Size(11, 11), Size(-1, -1), TermCriteria(CV_TERMCRIT_EPS | CV_TERMCRIT_ITER, 30, 0.1)); drawChessboardCorners(gray_image, board_sz, corners, found); } imshow("win1", image); imshow("win2", gray_image); int key = waitKey(1); if (key == 27) return 0; image_points.push_back(corners); }

Viewing all articles
Browse latest Browse all 41027

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>