TLDR; версия:Как предоставить Tesseract список слов (.NET wrapper)
У кого-нибудь есть рабочая конфигурация «базара» для Tasseract с помощью .NET-оболочки, которую я мог видеть?
Я довольно уверен, что это то, что я хочу (распознают только некоторые слова из списка), но это, кажется, не делать ничего
У меня есть довольно короткий список возможных строк I» m пытается найти (1-4 слова). Документация Tesseract гласит:
Если вы хотите заменить весь словарь, вам нужно будет распаковать в .traineddata файл, создать новый файл слово DAWG, а затем упаковать файлы обратно в. подготовленный файл. См. TrainingTesseract для получения дополнительных .
Это похоже на то, что я хочу! Поэтому я смотрю на TrainingTesseract и посмотреть:
traineddata файл просто соединение исходных файлов, с оглавлением, который содержит смещение известного файла типов. См. Ccutil/tessdatamanager.h в исходном коде для списка принятых в настоящее время имен файлов.
Отлично. Итак, как я могу начать распаковывать эту простую конкатенацию входных файлов, модифицируя контент и заголовок и повторно упаковывая его? :)
This post по-видимому, тот же вопрос - который включает в себя просто отключив словарь по умолчанию и помощью пользовательских слов вместо:
давайте предположим, что вы хотите OCR на английском языке, но подавляет нормальную словарь и загрузить альтернативный список слов и альтернативный список шаблонов - эти два файла являются наиболее часто используемыми дополнительными данными .
Если ваш языковой пакет в /path/to/eng.traineddata и hocr конфигурации находится в каталоге/путь/к/конфиги/hocr затем создать три новых файла:
/путь/к/анг. пользовательские слова: -snip
/path/to/eng.user-patterns: -snip
/путь/к/конфиги/базар: -snip
Теперь, если вы пройдете слово базар как параметр командной строки для трейдера, Tesseract, Tesseract не будет загружать системный словарь, а также словарь частых слов и будет загружать и использовать слова eng.user и файлы eng.user-patterns, которые вы предоставили. Первое - это простое слово список, по одному в каждой строке. Формат последнего документа зарегистрирован в dict/trie.h на read_pattern_list().
Но, сделав это, это не имеет никакого значения!
Я создаю двигатель:
using (engine = new TesseractEngine(@"C:\src\x\tessdata", "eng", EngineMode.Default, @"C:\src\x\tessdata\engine.config"))
Совершив файл (UTF-8, Unix строки окончаний) engine.config:
load_system_dawg F
load_freq_dawg F
user_words_suffix user-words
user_patterns_suffix user-patterns
и создал eng.user-шаблоны и слова eng.user (UTF-8, Unix line end) вместе с eng.traineddata.
Интересно, возможно ли это? Интересно, кто-нибудь использует Tesseract, кроме разработчиков? –