Как я могу сделать tesseract на iOS быстрее?
Я борюсь с Tesseract ocr на ios. Все работает нормально, но очень медленно. 2-3 секунды recogintion время для одной строки цифр.
Я читаю из видеопотока.
Я использую tesseract 3.01 с пользовательским файлом обучения для моего шрифта.
вот что я делаю:
настройка tesseract только для поиска чисел (0-9)
- Shrink, Deskew и Binarize Image
- использовать
GetLines
найти строка, которую я хочу, текст -
setRectangle
чтобы распознать только строку, которую я хочу -
getUTF8Text
чтобы получить мой текст
есть какие-либо предложения, чтобы ускорить процесс?
2 ответов
я переключился на SVN Тессеракта 3.02
после некоторых проблем с кросскомпилированием,
Я до 1.2-0.8 секунд для getUTF8Text и 0.3 - 0.2 секунд для предварительной обработки изображения.
Я сделал некоторые испытания
- бинаризация и сокращение на 0,7 прирост на 0,3 секунды, но стоит вам 0,1
- chop_enable=0 практически не влияет на скорость о скорости усиления 0,1 в среднем althoug он рассчитывает на 50% использование ЦП, если профилировано
основным преимуществом в юзабилити была оптимизация кода с помощью setRectangle, не вызывающего getUTF8Text если я подозреваю, что границы неверны. И некоторая постобработка строки путем проверки полученная строка и применить некоторый алгоритм для устранения наиболее распространенных неправильных интерпретаций из Тессеракта.
может быть, это полезно для кого-то другого.
одна вещь, которую вы можете попробовать, это сделать это в фоновом режиме. Это не улучшит скорость распознавания, но, если пользователь сделает что-то еще, это может показаться быстрее. Это, конечно, зависит от варианта использования (у меня есть один, где это хорошее улучшение, поскольку кажется очень быстрым, в то время как я просто начинаю раньше, чем ожидалось). Фокус в том, что приложения ios-это воспринимаемая производительность, а не фактическая производительность (хотя это, естественно, оказывает большое влияние на воспринимаемую производительность).