нахождение углов доски проверки для наклонного изображения - PullRequest
0 голосов
/ 27 августа 2018

введите описание изображения здесь Я попытался найти углы доски проверки, используя findcheckerboardcorners Функция Opencv. Мой размер шаблона (7x7). Это работает нормально, когда изображение параллельно камере, но когда оно слегка наклонено к земле, оно не работает. Можно ли задать размер шаблона как (5x5) для (7x7) шаблона шахматной доски в функции?

Пример: Не удается для изображения с большим наклоном. Ошибка изображения

Это работает для изображения Изображение с обнаруженными углами

Есть ли возможность получить все видимые углы, даже если изображение наклонено?

1 Ответ

0 голосов
/ 27 августа 2018

При выборе калибровочного шаблона выберите шаблон с большим количеством углов в горизонтальном (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);
...