This is for my reference and this might come in handy for others too.
All Tesseract options
$ tesseract --help-extra
Usage:
tesseract --help | --help-extra | --help-psm | --help-oem | --version
tesseract --list-langs [--tessdata-dir PATH]
tesseract --print-parameters [options...] [configfile...]
tesseract imagename|imagelist|stdin outputbase|stdout [options...] [configfile...]
OCR options:
--tessdata-dir PATH Specify the location of tessdata path.
--user-words PATH Specify the location of user words file.
--user-patterns PATH Specify the location of user patterns file.
-l LANG[+LANG] Specify language(s) used for OCR.
-c VAR=VALUE Set value for config variables.
Multiple -c arguments are allowed.
--psm NUM Specify page segmentation mode.
--oem NUM Specify OCR Engine mode.
NOTE: These options must occur before any configfile.
Page segmentation modes:
0 Orientation and script detection (OSD) only.
1 Automatic page segmentation with OSD.
2 Automatic page segmentation, but no OSD, or OCR.
3 Fully automatic page segmentation, but no OSD. (Default)
4 Assume a single column of text of variable sizes.
5 Assume a single uniform block of vertically aligned text.
6 Assume a single uniform block of text.
7 Treat the image as a single text line.
8 Treat the image as a single word.
9 Treat the image as a single word in a circle.
10 Treat the image as a single character.
11 Sparse text. Find as much text as possible in no particular order.
12 Sparse text with OSD.
13 Raw line. Treat the image as a single text line,
bypassing hacks that are Tesseract-specific.
OCR Engine modes: (see https://github.com/tesseract-ocr/tesseract/wiki#linux)
0 Legacy engine only.
1 Neural nets LSTM engine only.
2 Legacy + LSTM engines.
3 Default, based on what is available.
Single options:
-h, --help Show minimal help message.
--help-extra Show extra help for advanced users.
--help-psm Show page segmentation modes.
--help-oem Show OCR Engine modes.
-v, --version Show version information.
--list-langs List available languages for tesseract engine.
--print-parameters Print tesseract parameters.
CLI Examples
Command Example | Notes |
---|---|
tesseract sample_images/image2.jpg stdout |
To print the output to standard output |
tesseract sample_images/image2.jpg sample_images/output |
By default the output will be named outbase.txt. |
tesseract sample_images/image2.jpg sample_images/output -l eng |
-l is for language. English is default is no argument is provided. |
tesseract --list-langs |
To list available languages with codes. |
tesseract image.png out -l eng+deu+fra+ita+spa+por |
To use multiple languages together. |
sudo apt install tesseract-ocr-ara |
Install arabic language defined by langcode ara. |
tesseract sample_images/image2.jpg sample_images/output --psm 10 |
PSM means Page Segmentation. If you want to have single character recognition, set psm = 10 |
tesseract sample_images/image2.jpg stdout -l eng --psm 6 -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz |
To limit the characters using whitelist. Use the -c config option for extra parameters |
tesseract sample_images/image2.jpg stdout --oem 3 |
Using the default OEM |
Quickstart guide for pytesseract
try:
from PIL import Image
except ImportError:
import Image
import pytesseract
# If you don't have tesseract executable in your PATH, include the following:
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
# Example tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract'
# Simple image to string
print(pytesseract.image_to_string(Image.open('test.png')))
# French text image to string
print(pytesseract.image_to_string(Image.open('test-european.jpg'), lang='fra'))
# In order to bypass the image conversions of pytesseract, just use relative or absolute image path
# NOTE: In this case you should provide tesseract supported images or tesseract will return error
print(pytesseract.image_to_string('test.png'))
# Batch processing with a single file containing the list of multiple image file paths
print(pytesseract.image_to_string('images.txt'))
# Timeout/terminate the tesseract job after a period of time
try:
print(pytesseract.image_to_string('test.jpg', timeout=2)) # Timeout after 2 seconds
print(pytesseract.image_to_string('test.jpg', timeout=0.5)) # Timeout after half a second
except RuntimeError as timeout_error:
# Tesseract processing is terminated
pass
# Get bounding box estimates
print(pytesseract.image_to_boxes(Image.open('test.png')))
# Get verbose data including boxes, confidences, line and page numbers
print(pytesseract.image_to_data(Image.open('test.png')))
# Get information about orientation and script detection
print(pytesseract.image_to_osd(Image.open('test.png')))
# Get a searchable PDF
pdf = pytesseract.image_to_pdf_or_hocr('test.png', extension='pdf')
with open('test.pdf', 'w+b') as f:
f.write(pdf) # pdf type is bytes by default
# Get HOCR output
hocr = pytesseract.image_to_pdf_or_hocr('test.png', extension='hocr')
# Executing with extra parameters supported by Tessseract command line
image_to_data(image, lang=None, config='', nice=0, output_type=Output.STRING, timeout=0, pandas_config=None)
# Example of adding any additional options. custom_oem_psm_config = r'--oem 3 --psm 6' pytesseract.image_to_string(image, config=custom_oem_psm_config)
#Supported output types for pytesseract, Output.BYTES, Output.DICT, Output.STRING
# usage
print(pytesseract.image_to_data(region.image, config='--psm 10', output_type='dict'))
print(pytesseract.image_to_data(region.image, config='--psm 10', output_type='string'))
print(pytesseract.image_to_data(region.image, config='--psm 10', output_type='bytes'))
List of all Tesseract Parameters as of version 3.0
$ tesseract --print-parameters
Name | Default value | Description |
---|---|---|
textord_debug_tabfind | 0 | Debug tab finding |
textord_debug_bugs | 0 | Turn on output related to bugs in tab finding |
textord_testregion_left | -1 | Left edge of debug reporting rectangle |
textord_testregion_top | -1 | Top edge of debug reporting rectangle |
textord_testregion_right | 2147483647 | Right edge of debug rectangle |
textord_testregion_bottom | 2147483647 | Bottom edge of debug rectangle |
textord_tabfind_show_partitions | 0 | Show partition bounds, waiting if >1 |
devanagari_split_debuglevel | 0 | Debug level for split shiro-rekha process. |
edges_max_children_per_outline | 16 | Max number of children inside a character outline |
edges_max_children_layers | 4 | Max layers of nested children inside a character outline |
edges_children_per_grandchild | 9 | Importance ratio for chucking outlines |
edges_children_count_limit | 46 | Max holes allowed in blob |
edges_min_nonhole | 14 | Min pixels for potential char in box |
edges_patharea_ratio | 40 | Max lensq/area for acceptable child outline |
textord_fp_chop_error | 2 | Max allowed bending of chop cells |
textord_tabfind_show_images | 0 | Show image blobs |
classify_num_cp_levels | 3 | Number of Class Pruner Levels |
textord_skewsmooth_offset | 4 | For smooth factor |
textord_skewsmooth_offset2 | 1 | For smooth factor |
textord_test_x | -2147483647 | coord of test pt |
textord_test_y | -2147483647 | coord of test pt |
textord_min_blobs_in_row | 4 | Min blobs before gradient counted |
textord_spline_minblobs | 8 | Min blobs in each spline segment |
textord_spline_medianwin | 6 | Size of window for spline segmentation |
textord_max_blob_overlaps | 4 | Max number of blobs a big blob can overlap |
textord_min_xheight | 10 | Min credible pixel xheight |
textord_lms_line_trials | 12 | Number of linew fits to do |
oldbl_holed_losscount | 10 | Max lost before fallback line used |
editor_image_xpos | 590 | Editor image X Pos |
editor_image_ypos | 10 | Editor image Y Pos |
editor_image_menuheight | 50 | Add to image height for menu bar |
editor_image_word_bb_color | 7 | Word bounding box colour |
editor_image_blob_bb_color | 4 | Blob bounding box colour |
editor_image_text_color | 2 | Correct text colour |
editor_dbwin_xpos | 50 | Editor debug window X Pos |
editor_dbwin_ypos | 500 | Editor debug window Y Pos |
editor_dbwin_height | 24 | Editor debug window height |
editor_dbwin_width | 80 | Editor debug window width |
editor_word_xpos | 60 | Word window X Pos |
editor_word_ypos | 510 | Word window Y Pos |
editor_word_height | 240 | Word window height |
editor_word_width | 655 | Word window width |
pitsync_linear_version | 6 | Use new fast algorithm |
pitsync_fake_depth | 1 | Max advance fake generation |
textord_tabfind_show_strokewidths | 0 | Show stroke widths |
textord_dotmatrix_gap | 3 | Max pixel gap for broken pixed pitch |
textord_debug_block | 0 | Block to do debug on |
textord_pitch_range | 2 | Max range test on pitch |
textord_words_veto_power | 5 | Rows required to outvote a veto |
textord_debug_images | 0 | Use greyed image background for debug |
textord_debug_printable | 0 | Make debug windows printable |
stream_filelist | 0 | Stream a filelist from stdin |
textord_space_size_is_variable | 0 | If true, word delimiter spaces are assumed to have variable width, even though characters have fixed pitch. |
textord_tabfind_show_initial_partitions | 0 | Show partition bounds |
textord_tabfind_show_reject_blobs | 0 | Show blobs rejected as noise |
textord_tabfind_show_columns | 0 | Show column bounds |
textord_tabfind_show_blocks | 0 | Show final block bounds |
textord_tabfind_find_tables | 1 | run table detection |
textord_tabfind_show_color_fit | 0 | Show stroke widths |
devanagari_split_debugimage | 0 | Whether to create a debug image for split shiro-rekha process. |
textord_show_fixed_cuts | 0 | Draw fixed pitch cell boundaries |
edges_use_new_outline_complexity | 0 | Use the new outline complexity module |
edges_debug | 0 | turn on debugging for this module |
edges_children_fix | 0 | Remove boxy parents of char-like children |
equationdetect_save_bi_image | 0 | Save input bi image |
equationdetect_save_spt_image | 0 | Save special character image |
equationdetect_save_seed_image | 0 | Save the seed image |
equationdetect_save_merged_image | 0 | Save the merged image |
gapmap_debug | 0 | Say which blocks have tables |
gapmap_use_ends | 0 | Use large space at start and end of rows |
gapmap_no_isolated_quanta | 0 | Ensure gaps not less than 2quanta wide |
textord_heavy_nr | 0 | Vigorously remove noise |
textord_show_initial_rows | 0 | Display row accumulation |
textord_show_parallel_rows | 0 | Display page correlated rows |
textord_show_expanded_rows | 0 | Display rows after expanding |
textord_show_final_rows | 0 | Display rows after final fitting |
textord_show_final_blobs | 0 | Display blob bounds after pre-ass |
textord_test_landscape | 0 | Tests refer to land/port |
textord_parallel_baselines | 1 | Force parallel baselines |
textord_straight_baselines | 0 | Force straight baselines |
textord_old_baselines | 1 | Use old baseline algorithm |
textord_old_xheight | 0 | Use old xheight algorithm |
textord_fix_xheight_bug | 1 | Use spline baseline |
textord_fix_makerow_bug | 1 | Prevent multiple baselines |
textord_debug_xheights | 0 | Test xheight algorithms |
textord_biased_skewcalc | 1 | Bias skew estimates with line length |
textord_interpolating_skew | 1 | Interpolate across gaps |
textord_new_initial_xheight | 1 | Use test xheight mechanism |
textord_debug_blob | 0 | Print test blob information |
textord_really_old_xheight | 0 | Use original wiseowl xheight |
textord_oldbl_debug | 0 | Debug old baseline generation |
textord_debug_baselines | 0 | Debug baseline generation |
textord_oldbl_paradef | 1 | Use para default mechanism |
textord_oldbl_split_splines | 1 | Split stepped splines |
textord_oldbl_merge_parts | 1 | Merge suspect partitions |
oldbl_corrfix | 1 | Improve correlation of heights |
oldbl_xhfix | 0 | Fix bug in modes threshold for xheights |
textord_ocropus_mode | 0 | Make baselines for ocropus |
poly_debug | 0 | Debug old poly |
poly_wide_objects_better | 1 | More accurate approx on wide things |
wordrec_display_all_blobs | 0 | Display Blobs |
wordrec_display_all_words | 0 | Display Words |
wordrec_blob_pause | 0 | Blob pause |
wordrec_display_splits | 0 | Display splits |
textord_tabfind_only_strokewidths | 0 | Only run stroke widths |
textord_tabfind_show_initialtabs | 0 | Show tab candidates |
textord_tabfind_show_finaltabs | 0 | Show tab vectors |
textord_dump_table_images | 0 | Paint table detection output |
textord_show_tables | 0 | Show table regions |
textord_tablefind_show_mark | 0 | Debug table marking steps in detail |
textord_tablefind_show_stats | 0 | Show page stats used in table finding |
textord_tablefind_recognize_tables | 0 | Enables the table recognizer for table layout and filtering. |
textord_all_prop | 0 | All doc is proportial text |
textord_debug_pitch_test | 0 | Debug on fixed pitch test |
textord_disable_pitch_test | 0 | Turn off dp fixed pitch algorithm |
textord_fast_pitch_test | 0 | Do even faster pitch algorithm |
textord_debug_pitch_metric | 0 | Write full metric stuff |
textord_show_row_cuts | 0 | Draw row-level cuts |
textord_show_page_cuts | 0 | Draw page-level cuts |
textord_pitch_cheat | 0 | Use correct answer for fixed/prop |
textord_blockndoc_fixed | 0 | Attempt whole doc/block fixed pitch |
textord_show_initial_words | 0 | Display separate words |
textord_show_new_words | 0 | Display separate words |
textord_show_fixed_words | 0 | Display forced fixed pitch words |
textord_blocksall_fixed | 0 | Moan about prop blocks |
textord_blocksall_prop | 0 | Moan about fixed pitch blocks |
textord_blocksall_testing | 0 | Dump stats when moaning |
textord_test_mode | 0 | Do current test |
textord_pitch_scalebigwords | 0 | Scale scores on big words |
textord_restore_underlines | 1 | Chop underlines and put back |
textord_fp_chopping | 1 | Do fixed pitch chopping |
textord_force_make_prop_words | 0 | Force proportional word segmentation on all rows |
textord_chopper_test | 0 | Chopper is being tested. |
classify_font_name | UnknownFont | Default font name to be used in training |
fx_debugfile | FXDebug | Name of debugfile |
editor_image_win_name | EditorImage | Editor image window name |
editor_dbwin_name | EditorDBWin | Editor debug window name |
editor_word_name | BlnWords | BL normalized word window |
editor_debug_config_file | Config file to apply to single words | |
classify_training_file | MicroFeatures | Training file |
debug_file | File to send tprintf output to | |
textord_underline_threshold | 0.5 | Fraction of width occupied |
edges_childarea | 0.5 | Min area fraction of child outline |
edges_boxarea | 0.875 | Min area fraction of grandchild for box |
textord_fp_chop_snap | 0.5 | Max distance of chop pt from vertex |
gapmap_big_gaps | 1.75 | xht multiplier |
classify_cp_angle_pad_loose | 45 | Class Pruner Angle Pad Loose |
classify_cp_angle_pad_medium | 20 | Class Pruner Angle Pad Medium |
classify_cp_angle_pad_tight | 10 | CLass Pruner Angle Pad Tight |
classify_cp_end_pad_loose | 0.5 | Class Pruner End Pad Loose |
classify_cp_end_pad_medium | 0.5 | Class Pruner End Pad Medium |
classify_cp_end_pad_tight | 0.5 | Class Pruner End Pad Tight |
classify_cp_side_pad_loose | 2.5 | Class Pruner Side Pad Loose |
classify_cp_side_pad_medium | 1.2 | Class Pruner Side Pad Medium |
classify_cp_side_pad_tight | 0.6 | Class Pruner Side Pad Tight |
classify_pp_angle_pad | 45 | Proto Pruner Angle Pad |
classify_pp_end_pad | 0.5 | Proto Prune End Pad |
classify_pp_side_pad | 2.5 | Proto Pruner Side Pad |
textord_spline_shift_fraction | 0.02 | Fraction of line spacing for quad |
textord_spline_outlier_fraction | 0.1 | Fraction of line spacing for outlier |
textord_skew_ile | 0.5 | Ile of gradients for page skew |
textord_skew_lag | 0.02 | Lag for skew on row accumulation |
textord_linespace_iqrlimit | 0.2 | Max iqr/median for linespace |
textord_width_limit | 8 | Max width of blobs to make rows |
textord_chop_width | 1.5 | Max width before chopping |
textord_expansion_factor | 1 | Factor to expand rows by in expand_rows |
textord_overlap_x | 0.375 | Fraction of linespace for good overlap |
textord_minxh | 0.25 | fraction of linesize for min xheight |
textord_min_linesize | 1.25 | * blob height for initial linesize |
textord_excess_blobsize | 1.3 | New row made if blob makes row this big |
textord_occupancy_threshold | 0.4 | Fraction of neighbourhood |
textord_underline_width | 2 | Multiple of line_size for underline |
textord_min_blob_height_fraction | 0.75 | Min blob height/top to include blob top into xheight stats |
textord_xheight_mode_fraction | 0.4 | Min pile height to make xheight |
textord_ascheight_mode_fraction | 0.08 | Min pile height to make ascheight |
textord_descheight_mode_fraction | 0.08 | Min pile height to make descheight |
textord_ascx_ratio_min | 1.25 | Min cap/xheight |
textord_ascx_ratio_max | 1.8 | Max cap/xheight |
textord_descx_ratio_min | 0.25 | Min desc/xheight |
textord_descx_ratio_max | 0.6 | Max desc/xheight |
textord_xheight_error_margin | 0.1 | Accepted variation |
classify_min_slope | 0.414214 | Slope below which lines are called horizontal |
classify_max_slope | 2.41421 | Slope above which lines are called vertical |
classify_norm_adj_midpoint | 32 | Norm adjust midpoint … |
classify_norm_adj_curl | 2 | Norm adjust curl … |
oldbl_xhfract | 0.4 | Fraction of est allowed in calc |
oldbl_dot_error_size | 1.26 | Max aspect ratio of a dot |
textord_oldbl_jumplimit | 0.15 | X fraction for new partition |
classify_pico_feature_length | 0.05 | Pico Feature Length |
pitsync_joined_edge | 0.75 | Dist inside big blob for chopping |
pitsync_offset_freecut_fraction | 0.25 | Fraction of cut for free cuts |
textord_tabvector_vertical_gap_fraction | 0.5 | max fraction of mean blob width allowed for vertical gaps in vertical text |
textord_tabvector_vertical_box_ratio | 0.5 | Fraction of box matches required to declare a line vertical |
textord_projection_scale | 0.2 | Ding rate for mid-cuts |
textord_balance_factor | 1 | Ding rate for unbalanced char cells |
textord_wordstats_smooth_factor | 0.05 | Smoothing gap stats |
textord_width_smooth_factor | 0.1 | Smoothing width stats |
textord_words_width_ile | 0.4 | Ile of blob widths for space est |
textord_words_maxspace | 4 | Multiple of xheight |
textord_words_default_maxspace | 3.5 | Max believable third space |
textord_words_default_minspace | 0.6 | Fraction of xheight |
textord_words_min_minspace | 0.3 | Fraction of xheight |
textord_words_default_nonspace | 0.2 | Fraction of xheight |
textord_words_initial_lower | 0.25 | Max inital cluster size |
textord_words_initial_upper | 0.15 | Min initial cluster spacing |
textord_words_minlarge | 0.75 | Fraction of valid gaps needed |
textord_words_pitchsd_threshold | 0.04 | Pitch sync threshold |
textord_words_def_fixed | 0.016 | Threshold for definite fixed |
textord_words_def_prop | 0.09 | Threshold for definite prop |
textord_pitch_rowsimilarity | 0.08 | Fraction of xheight for sameness |
words_initial_lower | 0.5 | Max inital cluster size |
words_initial_upper | 0.15 | Min initial cluster spacing |
words_default_prop_nonspace | 0.25 | Fraction of xheight |
words_default_fixed_space | 0.75 | Fraction of xheight |
words_default_fixed_limit | 0.6 | Allowed size variance |
textord_words_definite_spread | 0.3 | Non-fuzzy spacing region |
textord_spacesize_ratiofp | 2.8 | Min ratio space/nonspace |
textord_spacesize_ratioprop | 2 | Min ratio space/nonspace |
textord_fpiqr_ratio | 1.5 | Pitch IQR/Gap IQR threshold |
textord_max_pitch_iqr | 0.2 | Xh fraction noise in pitch |
textord_fp_min_width | 0.5 | Min width of decent blobs |
textord_underline_offset | 0.1 | Fraction of x to ignore |
ambigs_debug_level | 0 | Debug level for unichar ambiguities |
tessedit_single_match | 0 | Top choice only from CP |
classify_debug_level | 0 | Classify debug level |
classify_norm_method | 1 | Normalization Method … |
matcher_debug_level | 0 | Matcher Debug Level |
matcher_debug_flags | 0 | Matcher Debug Flags |
classify_learning_debug_level | 0 | Learning Debug Level: |
matcher_permanent_classes_min | 1 | Min # of permanent classes |
matcher_min_examples_for_prototyping | 3 | Reliable Config Threshold |
matcher_sufficient_examples_for_prototyping | 5 | Enable adaption even if the ambiguities have not been seen |
classify_adapt_proto_threshold | 230 | Threshold for good protos during adaptive 0-255 |
classify_adapt_feature_threshold | 230 | Threshold for good features during adaptive 0-255 |
classify_class_pruner_threshold | 229 | Class Pruner Threshold 0-255 |
classify_class_pruner_multiplier | 15 | Class Pruner Multiplier 0-255: |
classify_cp_cutoff_strength | 7 | Class Pruner CutoffStrength: |
classify_integer_matcher_multiplier | 10 | Integer Matcher Multiplier 0-255: |
il1_adaption_test | 0 | Dont adapt to i/I at beginning of word |
dawg_debug_level | 0 | Set to 1 for general debug info, to 2 for more details, to 3 to see all the debug messages |
hyphen_debug_level | 0 | Debug level for hyphenated words. |
max_viterbi_list_size | 10 | Maximum size of viterbi list. |
stopper_smallword_size | 2 | Size of dict word to be treated as non-dict word |
stopper_debug_level | 0 | Stopper debug level |
tessedit_truncate_wordchoice_log | 10 | Max words to keep in list |
fragments_debug | 0 | Debug character fragments |
max_permuter_attempts | 10000 | Maximum number of different character choices to consider during permutation. This limit is especially useful when user patterns are specified, since overly generic patterns can result in dawg search exploring an overly large number of options. |
repair_unchopped_blobs | 1 | Fix blobs that aren’t chopped |
chop_debug | 0 | Chop debug |
chop_split_length | 10000 | Split Length |
chop_same_distance | 2 | Same distance |
chop_min_outline_points | 6 | Min Number of Points on Outline |
chop_seam_pile_size | 150 | Max number of seams in seam_pile |
chop_inside_angle | -50 | Min Inside Angle Bend |
chop_min_outline_area | 2000 | Min Outline Area |
chop_centered_maxwidth | 90 | Width of (smaller) chopped blobs above which we don’t care that a chop is not near the center. |
chop_x_y_weight | 3 | X / Y length weight |
segment_adjust_debug | 0 | Segmentation adjustment debug |
wordrec_debug_level | 0 | Debug level for wordrec |
wordrec_max_join_chunks | 4 | Max number of broken pieces to associate |
segsearch_debug_level | 0 | SegSearch debug level |
segsearch_max_pain_points | 2000 | Maximum number of pain points stored in the queue |
segsearch_max_futile_classifications | 20 | Maximum number of pain point classifications per chunk thatdid not result in finding a better word choice. |
language_model_debug_level | 0 | Language model debug level |
language_model_ngram_order | 8 | Maximum order of the character ngram model |
language_model_viterbi_list_max_num_prunable | 10 | Maximum number of prunable (those for which PrunablePath() is true) entries in each viterbi list recorded in BLOB_CHOICEs |
language_model_viterbi_list_max_size | 500 | Maximum size of viterbi lists recorded in BLOB_CHOICEs |
language_model_min_compound_length | 3 | Minimum length of compound words |
wordrec_display_segmentations | 0 | Display Segmentations |
tessedit_pageseg_mode | 6 | Page seg mode: 0=osd only, 1=auto+osd, 2=auto, 3=col, 4=block, 5=line, 6=word, 7=char (Values from PageSegMode enum in publictypes.h) |
tessedit_ocr_engine_mode | 0 | Which OCR engine(s) to run (Tesseract, Cube, both). Defaults to loading and running only Tesseract (no Cube,no combiner). Values from OcrEngineMode enum in tesseractclass.h) |
pageseg_devanagari_split_strategy | 0 | Whether to use the top-line splitting process for Devanagari documents while performing page-segmentation. |
ocr_devanagari_split_strategy | 0 | Whether to use the top-line splitting process for Devanagari documents while performing ocr. |
bidi_debug | 0 | Debug level for BiDi |
applybox_debug | 1 | Debug level |
applybox_page | 0 | Page number to apply boxes from |
tessedit_bigram_debug | 0 | Amount of debug output for bigram correction. |
debug_noise_removal | 0 | Debug reassignment of small outlines |
noise_maxperblob | 8 | Max diacritics to apply to a blob |
noise_maxperword | 16 | Max diacritics to apply to a word |
debug_x_ht_level | 0 | Reestimate debug |
quality_min_initial_alphas_reqd | 2 | alphas in a good word |
tessedit_tess_adaption_mode | 39 | Adaptation decision algorithm for tess |
tessedit_test_adaption_mode | 3 | Adaptation decision algorithm for tess |
paragraph_debug_level | 0 | Print paragraph debug info. |
cube_debug_level | 0 | Print cube debug info. |
tessedit_preserve_min_wd_len | 2 | Only preserve wds longer than this |
crunch_rating_max | 10 | For adj length in rating per ch |
crunch_pot_indicators | 1 | How many potential indicators needed |
crunch_leave_lc_strings | 4 | Dont crunch words with long lower case strings |
crunch_leave_uc_strings | 4 | Dont crunch words with long lower case strings |
crunch_long_repetitions | 3 | Crunch words with long repetitions |
crunch_debug | 0 | As it says |
fixsp_non_noise_limit | 1 | How many non-noise blbs either side? |
fixsp_done_mode | 1 | What constitues done for spacing |
debug_fix_space_level | 0 | Contextual fixspace debug |
x_ht_acceptance_tolerance | 8 | Max allowed deviation of blob top outside of font data |
x_ht_min_change | 8 | Min change in xht before actually trying it |
superscript_debug | 0 | Debug level for sub and superscript fixer |
suspect_level | 99 | Suspect marker level |
suspect_space_level | 100 | Min suspect level for rejecting spaces |
suspect_short_words | 2 | Dont Suspect dict wds longer than this |
tessedit_reject_mode | 0 | Rejection algorithm |
tessedit_image_border | 2 | Rej blbs near image edge limit |
min_sane_x_ht_pixels | 8 | Reject any x-ht lt or eq than this |
tessedit_page_number | -1 | -1 -> All pages , else specifc page to process |
tessdata_manager_debug_level | 0 | Debug level for TessdataManager functions. |
tessedit_parallelize | 0 | Run in parallel where possible |
tessedit_ok_mode | 5 | Acceptance decision algorithm |
segment_debug | 0 | Debug the whole segmentation process |
language_model_fixed_length_choices_depth | 3 | Depth of blob choice lists to explore when fixed length dawgs are on |
tosp_debug_level | 0 | Debug data |
tosp_enough_space_samples_for_median | 3 | or should we use mean |
tosp_redo_kern_limit | 10 | No.samples reqd to reestimate for row |
tosp_few_samples | 40 | No.gaps reqd with 1 large gap to treat as a table |
tosp_short_row | 20 | No.gaps reqd with few cert spaces to use certs |
tosp_sanity_method | 1 | How to avoid being silly |
textord_max_noise_size | 7 | Pixel size of noise |
textord_baseline_debug | 0 | Baseline debug level |
textord_noise_sizefraction | 10 | Fraction of size for maxima |
textord_noise_translimit | 16 | Transitions for normal blob |
textord_noise_sncount | 1 | super norm blobs to save row |
use_definite_ambigs_for_classifier | 0 | Use definite ambiguities when running character classifier |
use_ambigs_for_adaption | 0 | Use ambigs for deciding whether to adapt to a character |
allow_blob_division | 1 | Use divisible blobs chopping |
prioritize_division | 0 | Prioritize blob division over chopping |
classify_enable_learning | 1 | Enable adaptive classifier |
tess_cn_matching | 0 | Character Normalized Matching |
tess_bn_matching | 0 | Baseline Normalized Matching |
classify_enable_adaptive_matcher | 1 | Enable adaptive classifier |
classify_use_pre_adapted_templates | 0 | Use pre-adapted classifier templates |
classify_save_adapted_templates | 0 | Save adapted templates to a file |
classify_enable_adaptive_debugger | 0 | Enable match debugger |
classify_nonlinear_norm | 0 | Non-linear stroke-density normalization |
disable_character_fragments | 1 | Do not include character fragments in the results of the classifier |
classify_debug_character_fragments | 0 | Bring up graphical debugging windows for fragments training |
matcher_debug_separate_windows | 0 | Use two different windows for debugging the matching: One for the protos and one for the features. |
classify_bln_numeric_mode | 0 | Assume the input is numbers [0-9]. |
load_system_dawg | 1 | Load system word dawg. |
load_freq_dawg | 1 | Load frequent word dawg. |
load_unambig_dawg | 1 | Load unambiguous word dawg. |
load_punc_dawg | 1 | Load dawg with punctuation patterns. |
load_number_dawg | 1 | Load dawg with number patterns. |
load_bigram_dawg | 1 | Load dawg with special word bigrams. |
use_only_first_uft8_step | 0 | Use only the first UTF8 step of the given string when computing log probabilities. |
stopper_no_acceptable_choices | 0 | Make AcceptableChoice() always return false. Useful when there is a need to explore all segmentations |
save_raw_choices | 0 | Deprecated- backward compatablity only |
segment_nonalphabetic_script | 0 | Don’t use any alphabetic-specific tricks.Set to true in the traineddata config file for scripts that are cursive or inherently fixed-pitch |
save_doc_words | 0 | Save Document Words |
merge_fragments_in_matrix | 1 | Merge the fragments in the ratings matrix and delete them after merging |
wordrec_no_block | 0 | Don’t output block information |
wordrec_enable_assoc | 1 | Associator Enable |
force_word_assoc | 0 | force associator to run regardless of what enable_assoc is.This is used for CJK where component grouping is necessary. |
fragments_guide_chopper | 0 | Use information from fragments to guide chopping process |
chop_enable | 1 | Chop enable |
chop_vertical_creep | 0 | Vertical creep |
chop_new_seam_pile | 1 | Use new seam_pile |
assume_fixed_pitch_char_segment | 0 | include fixed-pitch heuristics in char segmentation |
wordrec_skip_no_truth_words | 0 | Only run OCR for words that had truth recorded in BlamerBundle |
wordrec_debug_blamer | 0 | Print blamer debug messages |
wordrec_run_blamer | 0 | Try to set the blame for errors |
save_alt_choices | 1 | Save alternative paths found during chopping and segmentation search |
language_model_ngram_on | 0 | Turn on/off the use of character ngram model |
language_model_ngram_use_only_first_uft8_step | 0 | Use only the first UTF8 step of the given string when computing log probabilities. |
language_model_ngram_space_delimited_language | 1 | Words are delimited by space |
language_model_use_sigmoidal_certainty | 0 | Use sigmoidal score for certainty |
tessedit_resegment_from_boxes | 0 | Take segmentation and labeling from box file |
tessedit_resegment_from_line_boxes | 0 | Conversion of word/line box file to char box file |
tessedit_train_from_boxes | 0 | Generate training data from boxed chars |
tessedit_make_boxes_from_boxes | 0 | Generate more boxes from boxed chars |
tessedit_dump_pageseg_images | 0 | Dump intermediate images made during page segmentation |
tessedit_ambigs_training | 0 | Perform training for ambiguities |
tessedit_adaption_debug | 0 | Generate and print debug information for adaption |
applybox_learn_chars_and_char_frags_mode | 0 | Learn both character fragments (as is done in the special low exposure mode) as well as unfragmented characters. |
applybox_learn_ngrams_mode | 0 | Each bounding box is assumed to contain ngrams. Only learn the ngrams whose outlines overlap horizontally. |
tessedit_display_outwords | 0 | Draw output words |
tessedit_dump_choices | 0 | Dump char choices |
tessedit_timing_debug | 0 | Print timing stats |
tessedit_fix_fuzzy_spaces | 1 | Try to improve fuzzy spaces |
tessedit_unrej_any_wd | 0 | Dont bother with word plausibility |
tessedit_fix_hyphens | 1 | Crunch double hyphens? |
tessedit_redo_xheight | 1 | Check/Correct x-height |
tessedit_enable_doc_dict | 1 | Add words to the document dictionary |
tessedit_debug_fonts | 0 | Output font info per char |
tessedit_debug_block_rejection | 0 | Block and Row stats |
tessedit_enable_bigram_correction | 1 | Enable correction based on the word bigram dictionary. |
tessedit_enable_dict_correction | 0 | Enable single word correction based on the dictionary. |
enable_noise_removal | 1 | Remove and conditionally reassign small outlines when they confuse layout analysis, determining diacritics vs noise |
debug_acceptable_wds | 0 | Dump word pass/fail chk |
tessedit_minimal_rej_pass1 | 0 | Do minimal rejection on pass 1 output |
tessedit_test_adaption | 0 | Test adaption criteria |
tessedit_matcher_log | 0 | Log matcher activity |
test_pt | 0 | Test for point |
paragraph_text_based | 1 | Run paragraph detection on the post-text-recognition (more accurate) |
docqual_excuse_outline_errs | 0 | Allow outline errs in unrejection? |
tessedit_good_quality_unrej | 1 | Reduce rejection on good docs |
tessedit_use_reject_spaces | 1 | Reject spaces? |
tessedit_preserve_blk_rej_perfect_wds | 1 | Only rej partially rejected words in block rejection |
tessedit_preserve_row_rej_perfect_wds | 1 | Only rej partially rejected words in row rejection |
tessedit_dont_blkrej_good_wds | 0 | Use word segmentation quality metric |
tessedit_dont_rowrej_good_wds | 0 | Use word segmentation quality metric |
tessedit_row_rej_good_docs | 1 | Apply row rejection to good docs |
tessedit_reject_bad_qual_wds | 1 | Reject all bad quality wds |
tessedit_debug_doc_rejection | 0 | Page stats |
tessedit_debug_quality_metrics | 0 | Output data to debug file |
bland_unrej | 0 | unrej potential with no chekcs |
unlv_tilde_crunching | 1 | Mark v.bad words for tilde crunch |
hocr_font_info | 0 | Add font info to hocr output |
crunch_early_merge_tess_fails | 1 | Before word crunch? |
crunch_early_convert_bad_unlv_chs | 0 | Take out ~^ early? |
crunch_terrible_garbage | 1 | As it says |
crunch_pot_garbage | 1 | POTENTIAL crunch garbage |
crunch_leave_ok_strings | 1 | Dont touch sensible strings |
crunch_accept_ok | 1 | Use acceptability in okstring |
crunch_leave_accept_strings | 0 | Dont pot crunch sensible strings |
crunch_include_numerals | 0 | Fiddle alpha figures |
tessedit_prefer_joined_punct | 0 | Reward punctation joins |
tessedit_write_block_separators | 0 | Write block separators in output |
tessedit_write_rep_codes | 0 | Write repetition char code |
tessedit_write_unlv | 0 | Write .unlv output file |
tessedit_create_txt | 1 | Write .txt output file |
tessedit_create_hocr | 0 | Write .html hOCR output file |
tessedit_create_pdf | 0 | Write .pdf output file |
suspect_constrain_1Il | 0 | UNLV keep 1Il chars rejected |
tessedit_minimal_rejection | 0 | Only reject tess failures |
tessedit_zero_rejection | 0 | Dont reject ANYTHING |
tessedit_word_for_word | 0 | Make output have exactly one word per WERD |
tessedit_zero_kelvin_rejection | 0 | Dont reject ANYTHING AT ALL |
tessedit_consistent_reps | 1 | Force all rep chars the same |
tessedit_rejection_debug | 0 | Adaption debug |
tessedit_flip_0O | 1 | Contextual 0O O0 flips |
rej_trust_doc_dawg | 0 | Use DOC dawg in 11l conf. detector |
rej_1Il_use_dict_word | 0 | Use dictword test |
rej_1Il_trust_permuter_type | 1 | Dont double check |
rej_use_tess_accepted | 1 | Individual rejection control |
rej_use_tess_blanks | 1 | Individual rejection control |
rej_use_good_perm | 1 | Individual rejection control |
rej_use_sensible_wd | 0 | Extend permuter check |
rej_alphas_in_number_perm | 0 | Extend permuter check |
tessedit_create_boxfile | 0 | Output text with boxes |
tessedit_write_images | 0 | Capture the image from the IPE |
interactive_display_mode | 0 | Run interactively? |
tessedit_override_permuter | 1 | According to dict_word |
tessedit_use_primary_params_model | 0 | In multilingual mode use params model of the primary language |
textord_tabfind_show_vlines | 0 | Debug line finding |
textord_use_cjk_fp_model | 0 | Use CJK fixed pitch model |
poly_allow_detailed_fx | 0 | Allow feature extractors to see the original outline |
tessedit_init_config_only | 0 | Only initialize with the config file. Useful if the instance is not going to be used for OCR but say only for layout analysis. |
textord_equation_detect | 0 | Turn on equation detector |
textord_tabfind_vertical_text | 1 | Enable vertical detection |
textord_tabfind_force_vertical_text | 0 | Force using vertical text page mode |
preserve_interword_spaces | 0 | Preserve multiple interword spaces |
include_page_breaks | 0 | Include page separator string in output text after each image/page. |
textord_tabfind_vertical_horizontal_mix | 1 | find horizontal lines such as headers in vertical page mode |
load_fixed_length_dawgs | 1 | Load fixed length dawgs (e.g. for non-space delimited languages) |
permute_debug | 0 | Debug char permutation process |
permute_script_word | 0 | Turn on word script consistency permuter |
segment_segcost_rating | 0 | incorporate segmentation cost in word rating? |
permute_fixed_length_dawg | 0 | Turn on fixed-length phrasebook search permuter |
permute_chartype_word | 0 | Turn on character type (property) consistency permuter |
ngram_permuter_activated | 0 | Activate character-level n-gram-based permuter |
permute_only_top | 0 | Run only the top choice permuter |
use_new_state_cost | 0 | use new state cost heuristics for segmentation state evaluation |
enable_new_segsearch | 0 | Enable new segmentation search path. |
textord_single_height_mode | 0 | Script has no xheight, so use a single mode |
tosp_old_to_method | 0 | Space stats use prechopping? |
tosp_old_to_constrain_sp_kn | 0 | Constrain relative values of inter and intra-word gaps for old_to_method. |
tosp_only_use_prop_rows | 1 | Block stats to use fixed pitch rows? |
tosp_force_wordbreak_on_punct | 0 | Force word breaks on punct to break long lines in non-space delimited langs |
tosp_use_pre_chopping | 0 | Space stats use prechopping? |
tosp_old_to_bug_fix | 0 | Fix suspected bug in old code |
tosp_block_use_cert_spaces | 1 | Only stat OBVIOUS spaces |
tosp_row_use_cert_spaces | 1 | Only stat OBVIOUS spaces |
tosp_narrow_blobs_not_cert | 1 | Only stat OBVIOUS spaces |
tosp_row_use_cert_spaces1 | 1 | Only stat OBVIOUS spaces |
tosp_recovery_isolated_row_stats | 1 | Use row alone when inadequate cert spaces |
tosp_only_small_gaps_for_kern | 0 | Better guess |
tosp_all_flips_fuzzy | 0 | Pass ANY flip to context? |
tosp_fuzzy_limit_all | 1 | Dont restrict kn->sp fuzzy limit to tables |
tosp_stats_use_xht_gaps | 1 | Use within xht gap for wd breaks |
tosp_use_xht_gaps | 1 | Use within xht gap for wd breaks |
tosp_only_use_xht_gaps | 0 | Only use within xht gap for wd breaks |
tosp_rule_9_test_punct | 0 | Dont chng kn to space next to punct |
tosp_flip_fuzz_kn_to_sp | 1 | Default flip |
tosp_flip_fuzz_sp_to_kn | 1 | Default flip |
tosp_improve_thresh | 0 | Enable improvement heuristic |
textord_no_rejects | 0 | Don’t remove noise blobs |
textord_show_blobs | 0 | Display unsorted blobs |
textord_show_boxes | 0 | Display unsorted blobs |
textord_noise_rejwords | 1 | Reject noise-like words |
textord_noise_rejrows | 1 | Reject noise-like rows |
textord_noise_debug | 0 | Debug row garbage detector |
m_data_sub_dir | tessdata/ | Directory for data files |
tessedit_module_name | libtesseract304.dll | Module colocated with tessdata dir |
classify_learn_debug_str | Class str to debug learning | |
user_words_file | A filename of user-provided words. | |
user_words_suffix | A suffix of user-provided words located in tessdata. | |
user_patterns_file | A filename of user-provided patterns. | |
user_patterns_suffix | A suffix of user-provided patterns located in tessdata. | |
output_ambig_words_file | Output file for ambiguities found in the dictionary | |
word_to_debug | Word for which stopper debug information should be printed to stdout | |
word_to_debug_lengths | Lengths of unichars in word_to_debug | |
tessedit_char_blacklist | Blacklist of chars not to recognize | |
tessedit_char_whitelist | Whitelist of chars to recognize | |
tessedit_char_unblacklist | List of chars to override tessedit_char_blacklist | |
tessedit_write_params_to_file | Write all parameters to the given file. | |
applybox_exposure_pattern | .exp | Exposure value follows this pattern in the image filename. The name of the image files are expected to be in the form [lang].[fontname].exp[num].tif |
chs_leading_punct | (‘`” | Leading punctuation |
chs_trailing_punct1 | ).,;:?! | 1st Trailing punctuation |
chs_trailing_punct2 | )’`” | 2nd Trailing punctuation |
outlines_odd | %| | Non standard number of outlines |
outlines_2 | ij!?%”:; | Non standard number of outlines |
numeric_punctuation | ., | Punct. chs expected WITHIN numbers |
unrecognised_char | | | Output char for unidentified blobs |
ok_repeated_ch_non_alphanum_wds | -?*= | Allow NN to unrej |
conflict_set_I_l_1 | Il1[] | Il1 conflict set |
file_type | .tif | Filename extension |
tessedit_load_sublangs | List of languages to load with this one | |
page_separator | Page separator (default is form feed control character) | |
classify_char_norm_range | 0.2 | Character Normalization Range … |
classify_min_norm_scale_x | 0 | Min char x-norm scale … |
classify_max_norm_scale_x | 0.325 | Max char x-norm scale … |
classify_min_norm_scale_y | 0 | Min char y-norm scale … |
classify_max_norm_scale_y | 0.325 | Max char y-norm scale … |
classify_max_rating_ratio | 1.5 | Veto ratio between classifier ratings |
classify_max_certainty_margin | 5.5 | Veto difference between classifier certainties |
matcher_good_threshold | 0.125 | Good Match (0-1) |
matcher_reliable_adaptive_result | 0 | Great Match (0-1) |
matcher_perfect_threshold | 0.02 | Perfect Match (0-1) |
matcher_bad_match_pad | 0.15 | Bad Match Pad (0-1) |
matcher_rating_margin | 0.1 | New template margin (0-1) |
matcher_avg_noise_size | 12 | Avg. noise blob length |
matcher_clustering_max_angle_delta | 0.015 | Maximum angle delta for prototype clustering |
classify_misfit_junk_penalty | 0 | Penalty to apply when a non-alnum is vertically out of its expected textline position |
rating_scale | 1.5 | Rating scaling factor |
certainty_scale | 20 | Certainty scaling factor |
tessedit_class_miss_scale | 0.00390625 | Scale factor for features not used |
classify_adapted_pruning_factor | 2.5 | Prune poor adapted results this much worse than best result |
classify_adapted_pruning_threshold | -1 | Threshold at which classify_adapted_pruning_factor starts |
classify_character_fragments_garbage_certainty_threshold | -3 | Exclude fragments that do not look like whole characters from training and adaption |
speckle_large_max_size | 0.3 | Max large speckle size |
speckle_rating_penalty | 10 | Penalty to add to worst rating for noise |
xheight_penalty_subscripts | 0.125 | Score penalty (0.1 = 10%) added if there are subscripts or superscripts in a word, but it is otherwise OK. |
xheight_penalty_inconsistent | 0.25 | Score penalty (0.1 = 10%) added if an xheight is inconsistent. |
segment_penalty_dict_frequent_word | 1 | Score multiplier for word matches which have good case andare frequent in the given language (lower is better). |
segment_penalty_dict_case_ok | 1.1 | Score multiplier for word matches that have good case (lower is better). |
segment_penalty_dict_case_bad | 1.3125 | Default score multiplier for word matches, which may have case issues (lower is better). |
segment_penalty_ngram_best_choice | 1.24 | Multipler to for the best choice from the ngram model. |
segment_penalty_dict_nonword | 1.25 | Score multiplier for glyph fragment segmentations which do not match a dictionary word (lower is better). |
segment_penalty_garbage | 1.5 | Score multiplier for poorly cased strings that are not in the dictionary and generally look like garbage (lower is better). |
certainty_scale | 20 | Certainty scaling factor |
stopper_nondict_certainty_base | -2.5 | Certainty threshold for non-dict words |
stopper_phase2_certainty_rejection_offset | 1 | Reject certainty offset |
stopper_certainty_per_char | -0.5 | Certainty to add for each dict char above small word size. |
stopper_allowable_character_badness | 3 | Max certaintly variation allowed in a word (in sigma) |
doc_dict_pending_threshold | 0 | Worst certainty for using pending dictionary |
doc_dict_certainty_threshold | -2.25 | Worst certainty for words that can be inserted into thedocument dictionary |
wordrec_worst_state | 1 | Worst segmentation state |
tessedit_certainty_threshold | -2.25 | Good blob limit |
chop_split_dist_knob | 0.5 | Split length adjustment |
chop_overlap_knob | 0.9 | Split overlap adjustment |
chop_center_knob | 0.15 | Split center adjustment |
chop_sharpness_knob | 0.06 | Split sharpness adjustment |
chop_width_change_knob | 5 | Width change adjustment |
chop_ok_split | 100 | OK split limit |
chop_good_split | 50 | Good split limit |
segsearch_max_char_wh_ratio | 2 | Maximum character width-to-height ratio |
language_model_ngram_small_prob | 1e-006 | To avoid overly small denominators use this as the floor of the probability returned by the ngram model. |
language_model_ngram_nonmatch_score | -40 | Average classifier score of a non-matching unichar. |
language_model_ngram_scale_factor | 0.03 | Strength of the character ngram model relative to the character classifier |
language_model_ngram_rating_factor | 16 | Factor to bring log-probs into the same range as ratings when multiplied by outline length |
language_model_penalty_non_freq_dict_word | 0.1 | Penalty for words not in the frequent word dictionary |
language_model_penalty_non_dict_word | 0.15 | Penalty for non-dictionary words |
language_model_penalty_punc | 0.2 | Penalty for inconsistent punctuation |
language_model_penalty_case | 0.1 | Penalty for inconsistent case |
language_model_penalty_script | 0.5 | Penalty for inconsistent script |
language_model_penalty_chartype | 0.3 | Penalty for inconsistent character type |
language_model_penalty_font | 0 | Penalty for inconsistent font |
language_model_penalty_spacing | 0.05 | Penalty for inconsistent spacing |
language_model_penalty_increment | 0.01 | Penalty increment |
noise_cert_basechar | -8 | Hingepoint for base char certainty |
noise_cert_disjoint | -1 | Hingepoint for disjoint certainty |
noise_cert_punc | -3 | Threshold for new punc char certainty |
noise_cert_factor | 0.375 | Scaling on certainty diff from Hingepoint |
quality_rej_pc | 0.08 | good_quality_doc lte rejection limit |
quality_blob_pc | 0 | good_quality_doc gte good blobs limit |
quality_outline_pc | 1 | good_quality_doc lte outline error limit |
quality_char_pc | 0.95 | good_quality_doc gte good char limit |
test_pt_x | 100000 | xcoord |
test_pt_y | 100000 | ycoord |
tessedit_reject_doc_percent | 65 | %rej allowed before rej whole doc |
tessedit_reject_block_percent | 45 | %rej allowed before rej whole block |
tessedit_reject_row_percent | 40 | %rej allowed before rej whole row |
tessedit_whole_wd_rej_row_percent | 70 | Number of row rejects in whole word rejectswhich prevents whole row rejection |
tessedit_good_doc_still_rowrej_wd | 1.1 | rej good doc wd if more than this fraction rejected |
quality_rowrej_pc | 1.1 | good_quality_doc gte good char limit |
crunch_terrible_rating | 80 | crunch rating lt this |
crunch_poor_garbage_cert | -9 | crunch garbage cert lt this |
crunch_poor_garbage_rate | 60 | crunch garbage rating lt this |
crunch_pot_poor_rate | 40 | POTENTIAL crunch rating lt this |
crunch_pot_poor_cert | -8 | POTENTIAL crunch cert lt this |
crunch_del_rating | 60 | POTENTIAL crunch rating lt this |
crunch_del_cert | -10 | POTENTIAL crunch cert lt this |
crunch_del_min_ht | 0.7 | Del if word ht lt xht x this |
crunch_del_max_ht | 3 | Del if word ht gt xht x this |
crunch_del_min_width | 3 | Del if word width lt xht x this |
crunch_del_high_word | 1.5 | Del if word gt xht x this above bl |
crunch_del_low_word | 0.5 | Del if word gt xht x this below bl |
crunch_small_outlines_size | 0.6 | Small if lt xht x this |
fixsp_small_outlines_size | 0.28 | Small if lt xht x this |
superscript_worse_certainty | 2 | How many times worse certainty does a superscript position glyph need to be for us to try classifying it as a char with a different baseline? |
superscript_bettered_certainty | 0.97 | What reduction in badness do we think sufficient to choose a superscript over what we’d thought. For example, a value of 0.6 means we want to reduce badness of certainty by at least 40% |
superscript_scaledown_ratio | 0.4 | A superscript scaled down more than this is unbelievably small. For example, 0.3 means we expect the font size to be no smaller than 30% of the text line font size. |
subscript_max_y_top | 0.5 | Maximum top of a character measured as a multiple of x-height above the baseline for us to reconsider whether it’s a subscript. |
superscript_min_y_bottom | 0.3 | Minimum bottom of a character measured as a multiple of x-height above the baseline for us to reconsider whether it’s a superscript. |
suspect_rating_per_ch | 999.9 | Dont touch bad rating limit |
suspect_accept_rating | -999.9 | Accept good rating limit |
tessedit_lower_flip_hyphen | 1.5 | Aspect ratio dot/hyphen test |
tessedit_upper_flip_hyphen | 1.8 | Aspect ratio dot/hyphen test |
rej_whole_of_mostly_reject_word_fract | 0.85 | if >this fract |
min_orientation_margin | 7 | Min acceptable orientation margin |
textord_tabfind_vertical_text_ratio | 0.5 | Fraction of textlines deemed vertical to use vertical page mode |
textord_tabfind_aligned_gap_fraction | 0.75 | Fraction of height used as a minimum gap for aligned blobs. |
bestrate_pruning_factor | 2 | Multiplying factor of current best rate to prune other hypotheses |
segment_reward_script | 0.95 | Score multipler for script consistency within a word. Being a ‘reward’ factor, it should be โค 1. Smaller value implies bigger reward. |
segment_reward_chartype | 0.97 | Score multipler for char type consistency within a word. |
segment_reward_ngram_best_choice | 0.99 | Score multipler for ngram permuter’s best choice (only used in the Han script path). |
heuristic_segcost_rating_base | 1.25 | base factor for adding segmentation cost into word rating.It’s a multiplying factor, the larger the value above 1, the bigger the effect of segmentation cost. |
heuristic_weight_rating | 1 | weight associated with char rating in combined cost ofstate |
heuristic_weight_width | 1000 | weight associated with width evidence in combined cost of state |
heuristic_weight_seamcut | 0 | weight associated with seam cut in combined cost of state |
heuristic_max_char_wh_ratio | 2 | max char width-to-height ratio allowed in segmentation |
segsearch_max_fixed_pitch_char_wh_ratio | 2 | Maximum character width-to-height ratio for fixed-pitch fonts |
tosp_old_sp_kn_th_factor | 2 | Factor for defining space threshold in terms of space and kern sizes |
tosp_threshold_bias1 | 0 | how far between kern and space? |
tosp_threshold_bias2 | 0 | how far between kern and space? |
tosp_narrow_fraction | 0.3 | Fract of xheight for narrow |
tosp_narrow_aspect_ratio | 0.48 | narrow if w/h less than this |
tosp_wide_fraction | 0.52 | Fract of xheight for wide |
tosp_wide_aspect_ratio | 0 | wide if w/h less than this |
tosp_fuzzy_space_factor | 0.6 | Fract of xheight for fuzz sp |
tosp_fuzzy_space_factor1 | 0.5 | Fract of xheight for fuzz sp |
tosp_fuzzy_space_factor2 | 0.72 | Fract of xheight for fuzz sp |
tosp_gap_factor | 0.83 | gap ratio to flip sp->kern |
tosp_kern_gap_factor1 | 2 | gap ratio to flip kern->sp |
tosp_kern_gap_factor2 | 1.3 | gap ratio to flip kern->sp |
tosp_kern_gap_factor3 | 2.5 | gap ratio to flip kern->sp |
tosp_ignore_big_gaps | -1 | xht multiplier |
tosp_ignore_very_big_gaps | 3.5 | xht multiplier |
tosp_rep_space | 1.6 | rep gap multiplier for space |
tosp_enough_small_gaps | 0.65 | Fract of kerns reqd for isolated row stats |
tosp_table_kn_sp_ratio | 2.25 | Min difference of kn and sp in table |
tosp_table_xht_sp_ratio | 0.33 | Expect spaces bigger than this |
tosp_table_fuzzy_kn_sp_ratio | 3 | Fuzzy if less than this |
tosp_fuzzy_kn_fraction | 0.5 | New fuzzy kn alg |
tosp_fuzzy_sp_fraction | 0.5 | New fuzzy sp alg |
tosp_min_sane_kn_sp | 1.5 | Dont trust spaces less than this time kn |
tosp_init_guess_kn_mult | 2.2 | Thresh guess – mult kn by this |
tosp_init_guess_xht_mult | 0.28 | Thresh guess – mult xht by this |
tosp_max_sane_kn_thresh | 5 | Multiplier on kn to limit thresh |
tosp_flip_caution | 0 | Dont autoflip kn to sp when large separation |
tosp_large_kerning | 0.19 | Limit use of xht gap with large kns |
tosp_dont_fool_with_small_kerns | -1 | Limit use of xht gap with odd small kns |
tosp_near_lh_edge | 0 | Dont reduce box if the top left is non blank |
tosp_silly_kn_sp_gap | 0.2 | Dont let sp minus kn get too small |
tosp_pass_wide_fuzz_sp_to_context | 0.75 | How wide fuzzies need context |
textord_blob_size_bigile | 95 | Percentile for large blobs |
textord_noise_area_ratio | 0.7 | Fraction of bounding box for noise |
textord_blob_size_smallile | 20 | Percentile for small blobs |
textord_initialx_ile | 0.75 | Ile of sizes for xheight guess |
textord_initialasc_ile | 0.9 | Ile of sizes for xheight guess |
textord_noise_sizelimit | 0.5 | Fraction of x for big t count |
textord_noise_normratio | 2 | Dot to norm ratio for deletion |
textord_noise_syfract | 0.2 | xh fract height error for norm blobs |
textord_noise_sxfract | 0.4 | xh fract width error for norm blobs |
textord_noise_hfract | 0.015625 | Height fraction to discard outlines as speckle noise |
textord_noise_rowratio | 6 | Dot to norm ratio for deletion |
textord_blshift_maxshift | 0 | Max baseline shift |
textord_blshift_xfraction | 9.99 | Min size of baseline shift |
List of available languages in Tesseract which can be installed using the command sudo apt install tesseract-ocr-langcode
Lang Code | Language | 4.0 traineddata |
---|---|---|
afr | Afrikaans | afr.traineddata |
amh | Amharic | amh.traineddata |
ara | Arabic | ara.traineddata |
asm | Assamese | asm.traineddata |
aze | Azerbaijani | aze.traineddata |
aze_cyrl | Azerbaijani – Cyrillic | aze_cyrl.traineddata |
bel | Belarusian | bel.traineddata |
ben | Bengali | ben.traineddata |
bod | Tibetan | bod.traineddata |
bos | Bosnian | bos.traineddata |
bul | Bulgarian | bul.traineddata |
cat | Catalan; Valencian | cat.traineddata |
ceb | Cebuano | ceb.traineddata |
ces | Czech | ces.traineddata |
chi_sim | Chinese – Simplified | chi_sim.traineddata |
chi_tra | Chinese – Traditional | chi_tra.traineddata |
chr | Cherokee | chr.traineddata |
cym | Welsh | cym.traineddata |
dan | Danish | dan.traineddata |
deu | German | deu.traineddata |
dzo | Dzongkha | dzo.traineddata |
ell | Greek, Modern (1453-) | ell.traineddata |
eng | English | eng.traineddata |
enm | English, Middle (1100-1500) | enm.traineddata |
epo | Esperanto | epo.traineddata |
est | Estonian | est.traineddata |
eus | Basque | eus.traineddata |
fas | Persian | fas.traineddata |
fin | Finnish | fin.traineddata |
fra | French | fra.traineddata |
frk | German Fraktur | frk.traineddata |
frm | French, Middle (ca. 1400-1600) | frm.traineddata |
gle | Irish | gle.traineddata |
glg | Galician | glg.traineddata |
grc | Greek, Ancient (-1453) | grc.traineddata |
guj | Gujarati | guj.traineddata |
hat | Haitian; Haitian Creole | hat.traineddata |
heb | Hebrew | heb.traineddata |
hin | Hindi | hin.traineddata |
hrv | Croatian | hrv.traineddata |
hun | Hungarian | hun.traineddata |
iku | Inuktitut | iku.traineddata |
ind | Indonesian | ind.traineddata |
isl | Icelandic | isl.traineddata |
ita | Italian | ita.traineddata |
ita_old | Italian – Old | ita_old.traineddata |
jav | Javanese | jav.traineddata |
jpn | Japanese | jpn.traineddata |
kan | Kannada | kan.traineddata |
kat | Georgian | kat.traineddata |
kat_old | Georgian – Old | kat_old.traineddata |
kaz | Kazakh | kaz.traineddata |
khm | Central Khmer | khm.traineddata |
kir | Kirghiz; Kyrgyz | kir.traineddata |
kor | Korean | kor.traineddata |
kur | Kurdish | kur.traineddata |
lao | Lao | lao.traineddata |
lat | Latin | lat.traineddata |
lav | Latvian | lav.traineddata |
lit | Lithuanian | lit.traineddata |
mal | Malayalam | mal.traineddata |
mar | Marathi | mar.traineddata |
mkd | Macedonian | mkd.traineddata |
mlt | Maltese | mlt.traineddata |
msa | Malay | msa.traineddata |
mya | Burmese | mya.traineddata |
nep | Nepali | nep.traineddata |
nld | Dutch; Flemish | nld.traineddata |
nor | Norwegian | nor.traineddata |
ori | Oriya | ori.traineddata |
pan | Panjabi; Punjabi | pan.traineddata |
pol | Polish | pol.traineddata |
por | Portuguese | por.traineddata |
pus | Pushto; Pashto | pus.traineddata |
ron | Romanian; Moldavian; Moldovan | ron.traineddata |
rus | Russian | rus.traineddata |
san | Sanskrit | san.traineddata |
sin | Sinhala; Sinhalese | sin.traineddata |
slk | Slovak | slk.traineddata |
slv | Slovenian | slv.traineddata |
spa | Spanish; Castilian | spa.traineddata |
spa_old | Spanish; Castilian – Old | spa_old.traineddata |
sqi | Albanian | sqi.traineddata |
srp | Serbian | srp.traineddata |
srp_latn | Serbian – Latin | srp_latn.traineddata |
swa | Swahili | swa.traineddata |
swe | Swedish | swe.traineddata |
syr | Syriac | syr.traineddata |
tam | Tamil | tam.traineddata |
tel | Telugu | tel.traineddata |
tgk | Tajik | tgk.traineddata |
tgl | Tagalog | tgl.traineddata |
tha | Thai | tha.traineddata |
tir | Tigrinya | tir.traineddata |
tur | Turkish | tur.traineddata |
uig | Uighur; Uyghur | uig.traineddata |
ukr | Ukrainian | ukr.traineddata |
urd | Urdu | urd.traineddata |
uzb | Uzbek | uzb.traineddata |
uzb_cyrl | Uzbek – Cyrillic | uzb_cyrl.traineddata |
vie | Vietnamese | vie.traineddata |
yid | Yiddish | yid.traineddata |
References:
https://github.com/tesseract-ocr/tesseract
https://tesseract-ocr.github.io/
https://pypi.org/project/pytesseract/