Как реализовать распознавание цифр с точкой/запятой для Android приложения?
Здравствуйте.
Хотелось бы реализовать распознавание цифр с точкой/запятой с фотографии.
На снимке будет текст маленького размера, а необходимые цифры будут выделяться
своим размером (будут большими). Необходимо распознавать именно большие цифры.
Для данной реализации лучше использовать OpenCV или самому реализовать нейронную
сеть (ни с тем и другим еще не сталкивался на практике) ? Если есть другие варианты,
то тоже хотелось бы узнать он них.
Легко:
- Применяем фильтр "Порог" или устанавливаем высокую контрастность;
- Выделяем отдельные символы, разбивая снимок по чистым линиям одного цвета (белого);
- Делим каждый символ на 9 частей (как в крестиках-ноликах);
- Считаем количество точек (чёрных) для каждой части;
- Сравниваем отношение частей символа с эталонным.
Для распознавания чисел и знаков этого более чем достаточно.
Возможно, вокруг белого квадрата/прямоугольника будут еще другие цвета, которые попадут в кадр при съемке. И мне нужно будет выделить именно большие цифры, а не маленький текст, среди которого тоже могут быть цифры.
Надо будет все символы которые найду сохранить, а потом отобрать по размеру самые большие?
Меня всегда поражали подобные вопросы "Взять готовое или реализовать самому". Если вы мега профи в том что вам нужно (в данном случае: распознавание образов) и считаете что вы 1 лучше команды которая пишет OpenVC, то пишите свое. Иначе возьмите OpenVC и сэкономьте себе кучу времени и нервов. Как вариант в случае заинтересованости темой вы можете писать параллельно свою имплементацию и как только она будет работать как минимум не хуже для вашего случая то переходите на свой велосипед.