/home/rays/src/opensrc/tesseract-ocr/textord/wordseg.cpp File Reference

#include "mfcpch.h"
#include "stderr.h"
#include "blobbox.h"
#include "statistc.h"
#include "drawtord.h"
#include "makerow.h"
#include "pitsync1.h"
#include "tovars.h"
#include "topitch.h"
#include "cjkpitch.h"
#include "textord.h"
#include "fpchop.h"
#include "wordseg.h"

Defines

#define EXTERN
#define FIXED_WIDTH_MULTIPLE   5
#define BLOCK_STATS_CLUSTERS   10

Functions

make_single_word

For each row, arrange the blobs into one word. There is no fixed pitch detection.

void make_single_word (bool one_blob, TO_ROW_LIST *rows, ROW_LIST *real_rows)
void make_words (tesseract::Textord *textord, ICOORD page_tr, float gradient, BLOCK_LIST *blocks, TO_BLOCK_LIST *port_blocks)
set_row_spaces

Set the min_space and max_nonspace members of the row so that the blobs can be arranged into words.

void set_row_spaces (TO_BLOCK *block, FCOORD rotation, BOOL8 testing_on)
row_words

Compute the max nonspace and min space for the row.

inT32 row_words (TO_BLOCK *block, TO_ROW *row, inT32 maxwidth, FCOORD rotation, BOOL8 testing_on)
row_words2

Compute the max nonspace and min space for the row.

inT32 row_words2 (TO_BLOCK *block, TO_ROW *row, inT32 maxwidth, FCOORD rotation, BOOL8 testing_on)
make_real_words

Convert a TO_BLOCK to a BLOCK.

void make_real_words (tesseract::Textord *textord, TO_BLOCK *block, FCOORD rotation)
make_rep_words

Fabricate a real row from only the repeated blob words. Get the xheight from the block as it may be more meaningful.

ROWmake_rep_words (TO_ROW *row, TO_BLOCK *block)
make_real_word

Construct a WERD from a given number of adjacent entries in a list of BLOBNBOXs.

WERDmake_real_word (BLOBNBOX_IT *box_it, inT32 blobcount, BOOL8 bol, uinT8 blanks)

Variables

EXTERN bool textord_fp_chopping = TRUE
EXTERN bool textord_force_make_prop_words = FALSE
EXTERN bool textord_chopper_test = FALSE

Define Documentation

#define BLOCK_STATS_CLUSTERS   10
#define EXTERN
#define FIXED_WIDTH_MULTIPLE   5

Function Documentation

WERD* make_real_word ( BLOBNBOX_IT *  box_it,
inT32  blobcount,
BOOL8  bol,
uinT8  blanks 
)
void make_real_words ( tesseract::Textord textord,
TO_BLOCK block,
FCOORD  rotation 
)
ROW* make_rep_words ( TO_ROW row,
TO_BLOCK block 
)
void make_single_word ( bool  one_blob,
TO_ROW_LIST *  rows,
ROW_LIST *  real_rows 
)
void make_words ( tesseract::Textord textord,
ICOORD  page_tr,
float  gradient,
BLOCK_LIST *  blocks,
TO_BLOCK_LIST *  port_blocks 
)

make_words

Arrange the blobs into words.

inT32 row_words ( TO_BLOCK block,
TO_ROW row,
inT32  maxwidth,
FCOORD  rotation,
BOOL8  testing_on 
)
inT32 row_words2 ( TO_BLOCK block,
TO_ROW row,
inT32  maxwidth,
FCOORD  rotation,
BOOL8  testing_on 
)
void set_row_spaces ( TO_BLOCK block,
FCOORD  rotation,
BOOL8  testing_on 
)

Variable Documentation

EXTERN bool textord_chopper_test = FALSE

"Chopper is being tested."

EXTERN bool textord_force_make_prop_words = FALSE

"Force proportional word segmentation on all rows"

EXTERN bool textord_fp_chopping = TRUE

"Do fixed pitch chopping"

Generated on Thu Feb 2 08:19:22 2012 for Tesseract by  doxygen 1.6.3