//两幅图像的棋盘格角点检测
cv::Mat image_gray=img11;
std::vector<cv::Point2f> cornersL, cornersR;
bool retL = cv::findChessboardCorners(image_gray,
cv::Size(11, 8),
cornersL,
cv::CALIB_CB_ADAPTIVE_THRESH |
cv::CALIB_CB_NORMALIZE_IMAGE);
cv::Mat image_gray1 = img21;
bool retR = cv::findChessboardCorners(image_gray1,
cv::Size(11, 8),
cornersR,
cv::CALIB_CB_ADAPTIVE_THRESH |
cv::CALIB_CB_NORMALIZE_IMAGE);
vector<uchar> m;
vector<float> vx;
vector<float> vy;
float vxa=0, vya=0;
for (int i = 0; i < cornersL.size(); i++)
{
vx.push_back(cornersL[i].x - cornersR[i].x);
vy.push_back(cornersL[i].y - cornersR[i].y);
vxa = vxa + cornersL[i].x - cornersR[i].x;
vya = vya + cornersL[i].y - cornersR[i].y;
cout << "x is "<<cornersL[i].x - cornersR[i].x << " ";
cout << "y is "<<cornersL[i].y - cornersR[i].y << endl;
}
//输出棋盘格角点X轴、Y轴平均位移
vxa = vxa / cornersL.size();
vya = vya / cornersL.size();