2012-01-20 5 views
9

Как увеличить/уменьшить силу словаря в tesseract 3?Сила словаря в Tesseract 3

В FAQ она говорит, что я должен изменить значение «NON_WERD» и « GARBAGE_STRING», но они не существуют в Tesseract 3.

+0

У вас был какой-то успех? Я изменил значения для non_dict_word и non_freq_dict_word и не видел никаких изменений в результатах .... –

+2

@KaolinFire У меня была такая же проблема, но, наконец, нашел причину - [вам нужно установить enable_new_segsearch] (http://stackoverflow.com/ а/29843379/492336). – sashoalm

+0

Мне нужно попробовать это - прошло очень много времени с тех пор, как я играл с ним, не совсем * помню, почему мы были ... :) Спасибо! –

ответ

4

Согласно http://code.google.com/p/tesseract-ocr/wiki/FAQ, изменить эти переменные:

enable_new_segsearch 1 
language_model_penalty_non_freq_dict_word 0.2 
language_model_penalty_non_dict_word 0.3 

Увеличьте их значения, чтобы сделать Tesseract более предвзятым в словарных словах.

Примечание: Вы должны установить enable_new_segsearch, в противном случае they'll have no effect.

+1

Проект и Wiki переместились в [GitHub] (https://github.com/tesseract-ocr/tesseract/wiki/ControlParams). –

1

Чтобы включить язык, зная способности Тессеракта в полностью, запустите каждый из них:

tess.setTessVariable("load_system_dawg", "false"); 
tess.setTessVariable("load_freq_dawg", "false"); 
tess.setTessVariable("load_punc_dawg", "false"); 
tess.setTessVariable("load_number_dawg", "false"); 
tess.setTessVariable("load_unambig_dawg", "false"); 
tess.setTessVariable("load_bigram_dawg", "false"); 
tess.setTessVariable("load_fixed_length_dawgs", "false"); 

Или, для более точного управления, только некоторые из них. (Я не знаю места, объясняющего, что они все делают, но имена довольно объяснительны). Это код из моего текущего проекта с использованием Tess4J, но вы можете легко перевести их на C++ или в файл конфигурации или что-то еще, что вы необходимость.