настоящее время я использую следующий код:OCR (распознавание текста) результат от OpenCV 3,1 + 3,04 тессеракт варьируется в зависимости от порядка признания
https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/textdetection.cpp
Странная вещь, казалось бы, OCR результат может варьироваться в зависимости от порядка изображений, которые я передал модулю ocr.
например), если есть 100 кадров изображений с текстом, и признанный результат может отличаться от - я прохожу каждые кадры последовательно в модуль Тессеракта (всего 100 кадров) и - Я проходит каждый кадров не в последовательном (до 100 шт.)
В идеале оба вышеуказанных случая должны иметь одинаковый результат.
Я уже подтвердил, что это не вызвано деталями erFilter. Результат, исходящий от erFilter, точно такой же. Эта разница, по-видимому, происходит внутри оболочки tesseract или tesseract в openCV.
Разница также может варьироваться от значения достоверности, имеет небольшую разницу, а распознанный текст отличается.
Я чувствую, что OpenCV или tesseract запоминают что-то и влияют на результат OCR нового кадра, но я не мог найти никаких спецификаций, рассказывающих об этом.
Пожалуйста, дайте мне знать, если это нормально, как поведение OpenCV/Tesseract.
Большое спасибо! Проблема решена! ;) Похоже, что оболочка tesseract от OpenCV не раскрывает метод или такую конфигурацию, поэтому мне нужно было его модифицировать, чтобы сделать это. – Aki24x
Обновление: казалось бы, очистка адаптивных данных уменьшит коэффициент OCR в моем случае. Я думаю, что это потому, что: 1. Я пытаюсь сделать OCR против видео с текстом. 2. Первый кадр и следующий кадр имеют корреляцию. 3. Очистка адаптивных данных отбрасывает преимущество, полученное из предыдущего кадра, против неоднозначных букв. Но это означает, что в моем случае нет решения для колебаний. Единственным способом может быть сериализация OCR, что означает, что я не могу использовать многопоточную оптимизацию. Хм ... – Aki24x