Вот нашел простой и, как мне кажется, оригинальный способ распознавания карт.
По команде управляющей программы, RoboRealm делает снимок с камеры и обрабатывает его:
- Обработка снимка, проделанная RoboRealm
Т.е. вырезает нужную область, преобразует в ч/б, очерчивает контуры символов и апроксимирует их отрезками. В результате получается массив координат точек излома линий. Далее, RoboRealm просто передает программе, управляющей игрой, длину этого массива. Незначительные смещения и повороты карты в рамках контейнера, практически не влияют на апроксимацию контуров. Получается для каждой карты уникальная длина массива с небольшой погрешностью. Для упрощения можно сразу определить цвет карты и разделить их на красные и черные, чтобы для каждого вида выбрать свой порог для преобразования в ч/б.