Нахождение шахматной доски в изображении - PullRequest
4 голосов
/ 07 января 2011

Итак, я изначально предполагал, что найти шахматную доску на изображении должно быть тривиально, потому что это такой легко определяемый объект.Однако это не так просто, и мне было интересно, если кто-нибудь знает, как в OpenCV работает поиск шахматной доски cvFindChessboardCorners.Я попытался найти его, но Хавнту удалось найти алгоритм.Я предполагаю, что может быть следующее:

1) Бинаризация
2) Открыть и закрыть, чтобы устранить небольшие кластеры

A)
2) Найти углы Харриса
3) Создать расстояниематрица между всеми точками на изображении
4) ...?

B)
2) Найти грубое преобразование
3) все значимые линии проверяются на предмет их пересечения.Если в точке пересекаются 4 или более линий, то эти линии являются частью шахматной доски.Это включает в себя точку на бесконечности.
4)?

Кто-нибудь точно знает?

1 Ответ

4 голосов
/ 07 января 2011

Это довольно ... сложно :) Если вы хотите точно знать, источник opencv был бы местом для поиска - в opencv 2.2 он находится в modules/calib3d/src/calibinit.cpp строке 219. Он также имеет переключатель компиляции DEBUG_CHESSBOARD длябыть в состоянии увидеть, как это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...