Посмотрите на эту статью . Мое понимание их подхода:
- Определить края
- Обнаружение углов путем поиска перпендикулярных краев
- Обнаружение полигонов путем поиска групп углов
- Обнаружение кругов с помощью преобразования Хафа
Это довольно сложная исследовательская проблема. Даже с такой мощной библиотекой компьютерного зрения, как OpenCV, внедрение эффективного решения в течение 1 недели было бы сложной задачей.