Amit D edited this page Sep 6, 2017 · 8 revisions

A list of useful control parameters and config files.


Tesseract is extremely flexible, if you know how to control it. There is a large number of control parameters to modify its behaviour. While these change from time to time, most of them are fairly stable. List of all parameters with default value and short description can be retrieved with:

tesseract --print-parameters

There are 3 different types:

Init only

Characterized by INIT in its initialization macro. These parameters can only be set at the TessBaseAPI::Init function that takes a list of config files.

NOTE: You can't change init only parameter with tesseract executable option -c.

The rest can be set through TessBaseAPI::SetVariable and make 2 further groups:

General parameters

Control many different aspects of Tesseract's functionality.

Debug parameters

Contain debug in their name, control huge amounts of optional debug text and graphical output as Tesseract works.

Useful parameters

Note that the default value may change; check the source code if you need to be sure of it.

Name Type Default value Init only Description
load_system_dawg boolean (0/1) 1 Yes Controls whether or not to load the main dictionary for the selected language.
user_words_suffix string "" Yes The extension of the users-words word list file. If non-empty, it will attempt to load the relevant list of words to add to the dictionary for the selected language. Eg if set to user-words Tesseract will attempt to load eng.user-words from the tessdata directory at initialization time.
language_model_penalty_non_dict_word double (0-1) 0.15 No The penalty to apply to words not in the word_dawg / user_words wordlists.
language_model_penalty_non_freq_dict_word double (0-1) 0.1 No The penalty to apply to words not in the freq_dawg wordlist.

Useful parameters for Japanese and Chinese

Some Japanese tesseract user found these parameters helpful for increasing tesseract-ocr (3.02) accuracy for Japanese :

Name Suggested value Description
chop_enable T Chop enable.
use_new_state_cost F Use new state cost heuristics for segmentation state evaluation
segment_segcost_rating F Incorporate segmentation cost in word rating?
enable_new_segsearch 0 Enable new segmentation search path. It could solve the problem of dividing one character to two characters
language_model_ngram_on 0 Turn on/off the use of character ngram model.
textord_force_make_prop_words F Force proportional word segmentation on all rows.
edges_max_children_per_outline 40 Max number of children inside a character outline. Increase this value if some of KANJI characters are not recognized (rejected).
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.