Size image_size;//图像的尺寸
Size board_size = Size(9, 6); //标定板上每行、列的角点数
vector image_points_buf; //缓存每幅图像上检测到的角点
vector> image_points_seq; //保存检测到的所有角点
/*提取角点*/
char filename[10];
for (size_t image_num = 1; image_num <= IMGCOUNT; image_num++)
{
sprintf_s(filename, "%d.jpg", image_num);
Mat imageInput = imread(filename);
if (!findChessboardCorners(imageInput, board_size, image_points_buf))
{
cout << "can not find chessboard corners!\n";//找不到角点
return ;
}
else
{
Mat view_gray;
cvtColor(imageInput, view_gray, CV_RGB2GRAY);
/*亚像素精确化*/
find4QuadCornerSubpix(view_gray, image_points_buf, Size(5, 5));//对粗提取的角点进行精确化
drawChessboardCorners(view_gray, board_size, image_points_buf, true);//用于在图片中标记角点
image_points_seq.push_back(image_points_buf);//保存亚像素角点
imshow("Camera Calibration", view_gray);//显示图片
waitKey(500);//停半秒
}
image_size.width = imageInput.cols;
image_size.height = imageInput.rows;
imageInput.release();
}
报错是0x00007FFDA3C5A799 处(位于 角点确定.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000009F9A0FD820 处。