Как я могу сделать tesseract на iOS быстрее?

Я борюсь с Tesseract ocr на ios. Все работает нормально, но очень медленно. 2-3 секунды recogintion время для одной строки цифр.

Я читаю из видеопотока.

Я использую tesseract 3.01 с пользовательским файлом обучения для моего шрифта.

вот что я делаю:

настройка tesseract только для поиска чисел (0-9)

  1. Shrink, Deskew и Binarize Image
  2. использовать GetLines найти строка, которую я хочу, текст
  3. setRectangle чтобы распознать только строку, которую я хочу
  4. 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-это воспринимаемая производительность, а не фактическая производительность (хотя это, естественно, оказывает большое влияние на воспринимаемую производительность).