tesseract
4.0.0-1-g2a2b
|
#include "params.h"
#include "ocrblock.h"
#include "blobs.h"
#include "blobbox.h"
#include "statistc.h"
Go to the source code of this file.
Enumerations | |
enum | OVERLAP_STATE { ASSIGN, REJECT, NEW_ROW } |
enum | ROW_CATEGORY { ROW_ASCENDERS_FOUND, ROW_DESCENDERS_FOUND, ROW_UNKNOWN, ROW_INVALID } |
Functions | |
void | get_min_max_xheight (int block_linesize, int *min_height, int *max_height) |
ROW_CATEGORY | get_row_category (const TO_ROW *row) |
bool | within_error_margin (float test, float num, float margin) |
void | fill_heights (TO_ROW *row, float gradient, int min_height, int max_height, STATS *heights, STATS *floating_heights) |
float | make_single_row (ICOORD page_tr, bool allow_sub_blobs, TO_BLOCK *block, TO_BLOCK_LIST *blocks) |
float | make_rows (ICOORD page_tr, TO_BLOCK_LIST *port_blocks) |
void | make_initial_textrows (ICOORD page_tr, TO_BLOCK *block, FCOORD rotation, bool testing_on) |
void | fit_lms_line (TO_ROW *row) |
void | compute_page_skew (TO_BLOCK_LIST *blocks, float &page_m, float &page_err) |
void | vigorous_noise_removal (TO_BLOCK *block) |
void | cleanup_rows_making (ICOORD page_tr, TO_BLOCK *block, float gradient, FCOORD rotation, int32_t block_edge, bool testing_on) |
void | delete_non_dropout_rows (TO_BLOCK *block, float gradient, FCOORD rotation, int32_t block_edge, bool testing_on) |
bool | find_best_dropout_row (TO_ROW *row, int32_t distance, float dist_limit, int32_t line_index, TO_ROW_IT *row_it, bool testing_on) |
TBOX | deskew_block_coords (TO_BLOCK *block, float gradient) |
void | compute_line_occupation (TO_BLOCK *block, float gradient, int32_t min_y, int32_t max_y, int32_t *occupation, int32_t *deltas) |
void | compute_occupation_threshold (int32_t low_window, int32_t high_window, int32_t line_count, int32_t *occupation, int32_t *thresholds) |
void | compute_dropout_distances (int32_t *occupation, int32_t *thresholds, int32_t line_count) |
void | expand_rows (ICOORD page_tr, TO_BLOCK *block, float gradient, FCOORD rotation, int32_t block_edge, bool testing_on) |
void | adjust_row_limits (TO_BLOCK *block) |
void | compute_row_stats (TO_BLOCK *block, bool testing_on) |
float | median_block_xheight (TO_BLOCK *block, float gradient) |
int | compute_xheight_from_modes (STATS *heights, STATS *floating_heights, bool cap_only, int min_height, int max_height, float *xheight, float *ascrise) |
int32_t | compute_row_descdrop (TO_ROW *row, float gradient, int xheight_blob_count, STATS *heights) |
int32_t | compute_height_modes (STATS *heights, int32_t min_height, int32_t max_height, int32_t *modes, int32_t maxmodes) |
void | correct_row_xheight (TO_ROW *row, float xheight, float ascrise, float descdrop) |
void | separate_underlines (TO_BLOCK *block, float gradient, FCOORD rotation, bool testing_on) |
void | pre_associate_blobs (ICOORD page_tr, TO_BLOCK *block, FCOORD rotation, bool testing_on) |
void | fit_parallel_rows (TO_BLOCK *block, float gradient, FCOORD rotation, int32_t block_edge, bool testing_on) |
void | fit_parallel_lms (float gradient, TO_ROW *row) |
void | make_baseline_spline (TO_ROW *row, TO_BLOCK *block) |
bool | segment_baseline (TO_ROW *row, TO_BLOCK *block, int32_t &segments, int32_t *xstarts) |
double * | linear_spline_baseline (TO_ROW *row, TO_BLOCK *block, int32_t &segments, int32_t xstarts[]) |
void | assign_blobs_to_rows (TO_BLOCK *block, float *gradient, int pass, bool reject_misses, bool make_new_rows, bool drawing_skew) |
OVERLAP_STATE | most_overlapping_row (TO_ROW_IT *row_it, TO_ROW *&best_row, float top, float bottom, float rowsize, bool testing_blob) |
int | blob_x_order (const void *item1, const void *item2) |
int | row_y_order (const void *item1, const void *item2) |
int | row_spacing_order (const void *item1, const void *item2) |
void | mark_repeated_chars (TO_ROW *row) |
enum OVERLAP_STATE |
Enumerator | |
---|---|
ASSIGN | |
REJECT | |
NEW_ROW |
enum ROW_CATEGORY |
Enumerator | |
---|---|
ROW_ASCENDERS_FOUND | |
ROW_DESCENDERS_FOUND | |
ROW_UNKNOWN | |
ROW_INVALID |
void adjust_row_limits | ( | TO_BLOCK * | block | ) |
adjust_row_limits
Change the limits of rows to suit the default fractions.
Definition at line 1109 of file makerow.cpp.
void assign_blobs_to_rows | ( | TO_BLOCK * | block, |
float * | gradient, | ||
int | pass, | ||
bool | reject_misses, | ||
bool | make_new_rows, | ||
bool | drawing_skew | ||
) |
Definition at line 2280 of file makerow.cpp.
int blob_x_order | ( | const void * | item1, |
const void * | item2 | ||
) |
Definition at line 2575 of file makerow.cpp.
void cleanup_rows_making | ( | ICOORD | page_tr, |
TO_BLOCK * | block, | ||
float | gradient, | ||
FCOORD | rotation, | ||
int32_t | block_edge, | ||
bool | testing_on | ||
) |
cleanup_rows_making
Remove overlapping rows and fit all the blobs to what's left.
Definition at line 518 of file makerow.cpp.
void compute_dropout_distances | ( | int32_t * | occupation, |
int32_t * | thresholds, | ||
int32_t | line_count | ||
) |
Definition at line 904 of file makerow.cpp.
int32_t compute_height_modes | ( | STATS * | heights, |
int32_t | min_height, | ||
int32_t | max_height, | ||
int32_t * | modes, | ||
int32_t | maxmodes | ||
) |
Definition at line 1625 of file makerow.cpp.
void compute_line_occupation | ( | TO_BLOCK * | block, |
float | gradient, | ||
int32_t | min_y, | ||
int32_t | max_y, | ||
int32_t * | occupation, | ||
int32_t * | deltas | ||
) |
Definition at line 770 of file makerow.cpp.
void compute_occupation_threshold | ( | int32_t | low_window, |
int32_t | high_window, | ||
int32_t | line_count, | ||
int32_t * | occupation, | ||
int32_t * | thresholds | ||
) |
compute_occupation_threshold
Compute thresholds for textline or not for the occupation array.
Definition at line 823 of file makerow.cpp.
void compute_page_skew | ( | TO_BLOCK_LIST * | blocks, |
float & | page_m, | ||
float & | page_err | ||
) |
Definition at line 287 of file makerow.cpp.
int32_t compute_row_descdrop | ( | TO_ROW * | row, |
float | gradient, | ||
int | xheight_blob_count, | ||
STATS * | heights | ||
) |
Definition at line 1565 of file makerow.cpp.
void compute_row_stats | ( | TO_BLOCK * | block, |
bool | testing_on | ||
) |
Definition at line 1145 of file makerow.cpp.
int compute_xheight_from_modes | ( | STATS * | heights, |
STATS * | floating_heights, | ||
bool | cap_only, | ||
int | min_height, | ||
int | max_height, | ||
float * | xheight, | ||
float * | ascrise | ||
) |
Definition at line 1469 of file makerow.cpp.
void correct_row_xheight | ( | TO_ROW * | row, |
float | xheight, | ||
float | ascrise, | ||
float | descdrop | ||
) |
Definition at line 1687 of file makerow.cpp.
void delete_non_dropout_rows | ( | TO_BLOCK * | block, |
float | gradient, | ||
FCOORD | rotation, | ||
int32_t | block_edge, | ||
bool | testing_on | ||
) |
delete_non_dropout_rows
Compute the linespacing and offset.
Definition at line 571 of file makerow.cpp.
Definition at line 734 of file makerow.cpp.
void expand_rows | ( | ICOORD | page_tr, |
TO_BLOCK * | block, | ||
float | gradient, | ||
FCOORD | rotation, | ||
int32_t | block_edge, | ||
bool | testing_on | ||
) |
Definition at line 951 of file makerow.cpp.
void fill_heights | ( | TO_ROW * | row, |
float | gradient, | ||
int | min_height, | ||
int | max_height, | ||
STATS * | heights, | ||
STATS * | floating_heights | ||
) |
Definition at line 1408 of file makerow.cpp.
bool find_best_dropout_row | ( | TO_ROW * | row, |
int32_t | distance, | ||
float | dist_limit, | ||
int32_t | line_index, | ||
TO_ROW_IT * | row_it, | ||
bool | testing_on | ||
) |
Definition at line 654 of file makerow.cpp.
void fit_lms_line | ( | TO_ROW * | row | ) |
Definition at line 267 of file makerow.cpp.
void fit_parallel_lms | ( | float | gradient, |
TO_ROW * | row | ||
) |
Definition at line 1975 of file makerow.cpp.
void fit_parallel_rows | ( | TO_BLOCK * | block, |
float | gradient, | ||
FCOORD | rotation, | ||
int32_t | block_edge, | ||
bool | testing_on | ||
) |
Definition at line 1933 of file makerow.cpp.
|
inline |
|
inline |
double* linear_spline_baseline | ( | TO_ROW * | row, |
TO_BLOCK * | block, | ||
int32_t & | segments, | ||
int32_t | xstarts[] | ||
) |
Definition at line 2189 of file makerow.cpp.
Definition at line 2058 of file makerow.cpp.
Definition at line 227 of file makerow.cpp.
float make_rows | ( | ICOORD | page_tr, |
TO_BLOCK_LIST * | port_blocks | ||
) |
Definition at line 201 of file makerow.cpp.
float make_single_row | ( | ICOORD | page_tr, |
bool | allow_sub_blobs, | ||
TO_BLOCK * | block, | ||
TO_BLOCK_LIST * | blocks | ||
) |
Definition at line 164 of file makerow.cpp.
void mark_repeated_chars | ( | TO_ROW * | row | ) |
Definition at line 2641 of file makerow.cpp.
float median_block_xheight | ( | TO_BLOCK * | block, |
float | gradient | ||
) |
OVERLAP_STATE most_overlapping_row | ( | TO_ROW_IT * | row_it, |
TO_ROW *& | best_row, | ||
float | top, | ||
float | bottom, | ||
float | rowsize, | ||
bool | testing_blob | ||
) |
Definition at line 2480 of file makerow.cpp.
Definition at line 1847 of file makerow.cpp.
int row_spacing_order | ( | const void * | item1, |
const void * | item2 | ||
) |
Definition at line 2619 of file makerow.cpp.
int row_y_order | ( | const void * | item1, |
const void * | item2 | ||
) |
Definition at line 2597 of file makerow.cpp.
Definition at line 2090 of file makerow.cpp.
Definition at line 1774 of file makerow.cpp.
void vigorous_noise_removal | ( | TO_BLOCK * | block | ) |
Definition at line 467 of file makerow.cpp.
|
inline |
double textord_ascheight_mode_fraction = 0.15 |
"Min pile height to make ascheight"
Definition at line 92 of file makerow.cpp.
double textord_ascx_ratio_max = 1.7 |
"Max cap/xheight"
Definition at line 96 of file makerow.cpp.
double textord_ascx_ratio_min = 1.2 |
"Min cap/xheight"
Definition at line 95 of file makerow.cpp.
bool textord_cblob_blockocc = TRUE |
"Use new projection for underlines"
double textord_chop_width = 1.5 |
"Max width before chopping"
Definition at line 77 of file makerow.cpp.
bool textord_debug_blob = FALSE |
"Print test blob information"
Definition at line 102 of file makerow.cpp.
bool textord_debug_xheights = FALSE |
"Test xheight algorithms"
Definition at line 56 of file makerow.cpp.
double textord_descx_ratio_max = 0.6 |
"Max desc/xheight"
Definition at line 98 of file makerow.cpp.
double textord_descx_ratio_min = 0.15 |
"Min desc/xheight"
Definition at line 97 of file makerow.cpp.
double textord_excess_blobsize = 1.3 |
"New row made if blob makes row this big"
Definition at line 84 of file makerow.cpp.
bool textord_fix_makerow_bug = TRUE |
"Prevent multiple baselines"
Definition at line 55 of file makerow.cpp.
bool textord_fix_xheight_bug = TRUE |
"Use spline baseline"
Definition at line 54 of file makerow.cpp.
bool textord_heavy_nr = FALSE |
"Vigorously remove noise"
Definition at line 43 of file makerow.cpp.
double textord_linespace_iqrlimit = 0.2 |
"Max iqr/median for linespace"
Definition at line 75 of file makerow.cpp.
int textord_lms_line_trials = 12 |
"Number of linew fits to do"
Definition at line 100 of file makerow.cpp.
double textord_min_blob_height_fraction = 0.75 |
"Min blob height/top to include blob top into xheight stats"
Definition at line 88 of file makerow.cpp.
int textord_min_blobs_in_row = 4 |
"Min blobs before gradient counted"
Definition at line 63 of file makerow.cpp.
double textord_min_linesize = 1.25 |
"* blob height for initial linesize"
Definition at line 82 of file makerow.cpp.
int textord_min_xheight = 10 |
"Min credible pixel xheight"
Definition at line 68 of file makerow.cpp.
double textord_minxh = 0.25 |
"fraction of linesize for min xheight"
Definition at line 81 of file makerow.cpp.
bool textord_new_initial_xheight = TRUE |
"Use test xheight mechanism"
Definition at line 101 of file makerow.cpp.
double textord_occupancy_threshold = 0.4 |
"Fraction of neighbourhood"
Definition at line 85 of file makerow.cpp.
bool textord_old_baselines = TRUE |
"Use old baseline algorithm"
Definition at line 52 of file makerow.cpp.
bool textord_old_xheight = TRUE |
"Use old xheight algorithm"
Definition at line 53 of file makerow.cpp.
bool textord_parallel_baselines = TRUE |
"Force parallel baselines"
Definition at line 50 of file makerow.cpp.
bool textord_quadratic_baselines = FALSE |
"Use quadratic splines"
bool textord_show_expanded_rows = FALSE |
"Display rows after expanding"
Definition at line 46 of file makerow.cpp.
bool textord_show_final_blobs = FALSE |
"Display blob bounds after pre-ass"
Definition at line 48 of file makerow.cpp.
bool textord_show_final_rows = FALSE |
"Display rows after final fitting"
Definition at line 47 of file makerow.cpp.
bool textord_show_initial_rows = FALSE |
"Display row accumulation"
Definition at line 44 of file makerow.cpp.
bool textord_show_parallel_rows = FALSE |
"Display page correlated rows"
Definition at line 45 of file makerow.cpp.
double textord_skew_ile = 0.5 |
"Ile of gradients for page skew"
Definition at line 73 of file makerow.cpp.
double textord_skew_lag = 0.75 |
"Lag for skew on row accumulation"
Definition at line 74 of file makerow.cpp.
int textord_spline_medianwin = 6 |
"Size of window for spline segmentation"
Definition at line 65 of file makerow.cpp.
int textord_spline_minblobs = 8 |
"Min blobs in each spline segment"
Definition at line 64 of file makerow.cpp.
double textord_spline_outlier_fraction = 0.1 |
"Fraction of line spacing for outlier"
Definition at line 72 of file makerow.cpp.
double textord_spline_shift_fraction = 0.02 |
"Fraction of line spacing for quad"
Definition at line 70 of file makerow.cpp.
bool textord_straight_baselines = FALSE |
"Force straight baselines"
Definition at line 51 of file makerow.cpp.
bool textord_test_landscape = FALSE |
"Tests refer to land/port"
Definition at line 49 of file makerow.cpp.
int textord_test_x = -INT32_MAX |
"coord of test pt"
Definition at line 61 of file makerow.cpp.
int textord_test_y = -INT32_MAX |
"coord of test pt"
Definition at line 62 of file makerow.cpp.
double textord_underline_width = 2.0 |
"Multiple of line_size for underline"
Definition at line 86 of file makerow.cpp.
double textord_width_limit = 8 |
"Max width of blobs to make rows"
Definition at line 76 of file makerow.cpp.
double textord_xheight_error_margin = 0.1 |
"Accepted variation"
Definition at line 99 of file makerow.cpp.
double textord_xheight_mode_fraction = 0.4 |
"Min pile height to make xheight"
Definition at line 90 of file makerow.cpp.