查找倾斜的棋盘格角

时间:2018-08-27 12:08:01

标签: opencv image-processing computer-vision

enter image description here我尝试使用 findcheckerboardcorners Opencv函数查找棋盘格角。我的图案尺寸是(7x7)。当图像与相机平行时,它可以正常工作,但是当图像稍微向地面倾斜时,它会失败。函数中的(7x7)棋盘图案是否可以将图案大小设为(5x5)?

示例:对于倾斜度更大的图像,此操作将失败。 Image fails

它适用于图像 Image with corners detected

即使图像倾斜,也有可能获得所有可见的角吗?

1 个答案:

答案 0 :(得分:-1)

选择校准图案时,请选择水平(8、7)或垂直(7、8)角更多的图案。

您可以尝试检测棋盘格的不同方法。

vector<Point2f> corners;
Size checkerBoardSize(7,7);
bool found = findCheckerBoard(img, checkerBoardSize, corners, CALIB_CB_SYMMETRIC_GRID);
if(!found)
    found = findCheckerBoard(img, checkerBoardSize, corners, CALIB_CB_SYMMETRIC_GRID | CALIB_CB_CLUSTERING);

//You can draw and see the detected points as follows
Mat res = img.clone();
if(res.channels() == 1)
    cvtColor(res, res, CV_GRAY2BGR);
drawChessboardCorners(res1, checkerBoardSize, corners, found);
imshow("res", res);
waitKey(0);