Карты воспроизведения OCR

Я решил сделать проект для развлечения, где я хочу взять в качестве изображения образ игровой карты и вернуть свой ранг и костюм. Я полагаю, что мне нужно только взглянуть на верхний левый угол, так как у него есть вся информация. Он должен быть надежным - если у меня будет большое изображение Ace of Diamonds, я должен иметь возможность масштабировать его от 20 до 200% и все равно получить правильный ответ.

Первый вопрос - есть ли что-нибудь уже написанное, которое делает это? Если так, я найду что-то еще для OCR, чтобы не дублировать усилия.

Во-вторых - какой лучший способ сделать это? Нейронная сеть? Что-то ручное? Может ли кто-нибудь дать какие-либо указания? (0xCAAF9452 не является приемлемым ответом).

Ответы

Ответ 2

Используйте OpenCV

Ответ 3

Я не думаю, что что-то уже написано для того, что вы пытаетесь выполнить (по крайней мере, с открытым исходным кодом и на Python).

Что касается вашего второго вопроса, это зависит от того, что вы пытаетесь распознать. Если входы могут поступать из разных источников - например, разных марок игральных карт с особыми стилями, то вы, вероятно, должны использовать алгоритм машинного обучения (например, нейронную сеть или машину поддержки поддержки [SVM]), чтобы позволить ему узнать, как распознавать неизвестные входы. Однако, если вход всегда одинаков по форме или стилю, тогда достаточно простого алгоритма сравнения изображений (например, сравните пиксели нарезанного верхнего левого угла с пикселями каждого ранга).

Если вы решите использовать алгоритм, основанный на механизме обучения, я также считаю, что вам не нужны очень сложные функции, поскольку костюмы и ряды на самом деле не так сильно различаются по форме или стилю, и вы должны быть в порядке используя только пиксели верхнего левого угла в качестве функций.

Здесь есть пример OCR игрушек здесь, который может показаться вам интересным. В lib, который используется (LibSVM), также есть версия Python, которую я использовал, и нашел очень простым в работе.

Надеюсь, что это поможет.

Ответ 4

Лично я бы пошел по маршруту обучения машины с этим.

Ответ 5

Отъезд http://d-touch.org/, вам придется создавать свои собственные игровые карты.

Вас также может заинтересовать ocropus.

Ответ 6

Это не так надежно, но вы можете посмотреть на цвета 3 или 4 места на карте, чтобы, если они белые или если они являются цветом, вы можете определить, какая карта и подходит для нее. Очевидно, что это не сработает, если у вас не всегда есть одинаковые карты.

Ответ 7

Учитывая ограниченный размер выборки (4 костюма, 13 разных значений), я просто попытаюсь совместить опорный образ костюма и значение с новым входным изображением. Сначала найдите ограничивающий прямоугольник входящего костюма/значения (самый маленький ящик, охватывающий все не белые пиксели), масштабируйте ваши ссылочные изображения в соответствии с размером этого ограничивающего прямоугольника и найдите лучшее "совпадение" через абсолютную разницу по пикселям. Цвет изображения (то есть красный или черный) сделает это еще проще.