diff options
Diffstat (limited to 'tesseract/src/textord/wordseg.h')
-rw-r--r-- | tesseract/src/textord/wordseg.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tesseract/src/textord/wordseg.h b/tesseract/src/textord/wordseg.h new file mode 100644 index 00000000..88e9cfdc --- /dev/null +++ b/tesseract/src/textord/wordseg.h @@ -0,0 +1,78 @@ +/********************************************************************** + * File: wordseg.h (Formerly wspace.h) + * Description: Code to segment the blobs into words. + * Author: Ray Smith + * + * (C) Copyright 1992, Hewlett-Packard Ltd. + ** Licensed under the Apache License, Version 2.0 (the "License"); + ** you may not use this file except in compliance with the License. + ** You may obtain a copy of the License at + ** http://www.apache.org/licenses/LICENSE-2.0 + ** Unless required by applicable law or agreed to in writing, software + ** distributed under the License is distributed on an "AS IS" BASIS, + ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ** See the License for the specific language governing permissions and + ** limitations under the License. + * + **********************************************************************/ + +#ifndef WORDSEG_H +#define WORDSEG_H + +#include "params.h" +#include "blobbox.h" +#include "textord.h" + +namespace tesseract { +class Tesseract; + +extern BOOL_VAR_H (textord_fp_chopping, true, "Do fixed pitch chopping"); +extern BOOL_VAR_H(textord_force_make_prop_words, false, + "Force proportional word segmentation on all rows"); +extern BOOL_VAR_H (textord_chopper_test, false, + "Chopper is being tested."); + +void make_single_word(bool one_blob, TO_ROW_LIST *rows, ROW_LIST* real_rows); +void make_words(tesseract::Textord *textord, + ICOORD page_tr, // top right + float gradient, // page skew + BLOCK_LIST *blocks, // block list + TO_BLOCK_LIST *port_blocks); // output list +void set_row_spaces( //find space sizes + TO_BLOCK* block, //block to do + FCOORD rotation, //for drawing + bool testing_on //correct orientation +); +int32_t row_words( //compute space size + TO_BLOCK* block, //block it came from + TO_ROW* row, //row to operate on + int32_t maxwidth, //max expected space size + FCOORD rotation, //for drawing + bool testing_on //for debug +); +int32_t row_words2( //compute space size + TO_BLOCK* block, //block it came from + TO_ROW* row, //row to operate on + int32_t maxwidth, //max expected space size + FCOORD rotation, //for drawing + bool testing_on //for debug +); +void make_real_words( + tesseract::Textord *textord, + TO_BLOCK *block, //block to do + FCOORD rotation //for drawing + ); +ROW *make_rep_words( //make a row + TO_ROW *row, //row to convert + TO_BLOCK *block //block it lives in + ); +WERD *make_real_word( //make a WERD + BLOBNBOX_IT* box_it, //iterator + int32_t blobcount, //no of blobs to use + bool bol, //start of line + uint8_t blanks //no of blanks +); + +} // namespace tesseract + +#endif |