Public Member Functions |
| bool | AdaptToWordStr (PageSegMode mode, const char *wordstr) |
| int * | AllWordConfidences () |
| PageIterator * | AnalyseLayout () |
| void | Clear () |
| void | ClearAdaptiveClassifier () |
| bool | DetectOS (OSResults *) |
| void | DumpPGM (const char *filename) |
| void | End () |
| BLOCK_LIST * | FindLinesCreateBlockList () |
| void | GetBlockTextOrientations (int **block_orientation, bool **vertical_writing) |
| bool | GetBoolVariable (const char *name, bool *value) const |
| char * | GetBoxText (int page_number) |
| Boxa * | GetComponentImages (PageIteratorLevel level, bool text_only, Pixa **pixa, int **blockids) |
| Boxa * | GetConnectedComponents (Pixa **cc) |
| CubeRecoContext * | GetCubeRecoContext () const |
| const Dawg * | GetDawg (int i) const |
| bool | GetDoubleVariable (const char *name, double *value) const |
| void | GetFeaturesForBlob (TBLOB *blob, const DENORM &denorm, INT_FEATURE_ARRAY int_features, int *num_features, int *FeatureOutlineIndex) |
| char * | GetHOCRText (int page_number) |
| const char * | GetInitLanguagesAsString () const |
| bool | GetIntVariable (const char *name, int *value) const |
| ResultIterator * | GetIterator () |
| void | GetLoadedLanguagesAsVector (GenericVector< STRING > *langs) const |
| MutableIterator * | GetMutableIterator () |
| PageSegMode | GetPageSegMode () const |
| Boxa * | GetRegions (Pixa **pixa) |
| const char * | GetStringVariable (const char *name) const |
| Boxa * | GetStrips (Pixa **pixa, int **blockids) |
| bool | GetTextDirection (int *out_offset, float *out_slope) |
| Boxa * | GetTextlines (Pixa **pixa, int **blockids) |
| Pix * | GetThresholdedImage () |
| int | GetThresholdedImageScaleFactor () const |
| const char * | GetUnichar (int unichar_id) |
| char * | GetUNLVText () |
| char * | GetUTF8Text () |
| bool | GetVariableAsString (const char *name, STRING *val) |
| Boxa * | GetWords (Pixa **pixa) |
| int | Init (const char *datapath, const char *language) |
| int | Init (const char *datapath, const char *language, OcrEngineMode oem) |
| int | Init (const char *datapath, const char *language, OcrEngineMode mode, char **configs, int configs_size, const GenericVector< STRING > *vars_vec, const GenericVector< STRING > *vars_values, bool set_only_non_debug_params) |
| void | InitForAnalysePage () |
| int | InitLangMod (const char *datapath, const char *language) |
| void | InitTruthCallback (TruthCallback *cb) |
| int | IsValidWord (const char *word) |
| int | MeanTextConf () |
| int | NumDawgs () const |
| OcrEngineMode const | oem () const |
| void | PrintVariables (FILE *fp) const |
| bool | ProcessPage (Pix *pix, int page_index, const char *filename, const char *retry_config, int timeout_millisec, STRING *text_out) |
| bool | ProcessPages (const char *filename, const char *retry_config, int timeout_millisec, STRING *text_out) |
| void | ReadConfigFile (const char *filename) |
| void | ReadDebugConfigFile (const char *filename) |
| int | Recognize (ETEXT_DESC *monitor) |
| int | RecognizeForChopTest (ETEXT_DESC *monitor) |
| void | RunAdaptiveClassifier (TBLOB *blob, const DENORM &denorm, int num_max_matches, int *unichar_ids, float *ratings, int *num_matches_returned) |
| void | set_min_orientation_margin (double margin) |
| bool | SetDebugVariable (const char *name, const char *value) |
| void | SetDictFunc (DictFunc f) |
| void | SetFillLatticeFunc (FillLatticeFunc f) |
| void | SetImage (const Pix *pix) |
| void | SetImage (const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line) |
| void | SetInputName (const char *name) |
| void | SetOutputName (const char *name) |
| void | SetPageSegMode (PageSegMode mode) |
| void | SetProbabilityInContextFunc (ProbabilityInContextFunc f) |
| void | SetRectangle (int left, int top, int width, int height) |
| void | SetSourceResolution (int ppi) |
| void | SetThresholder (ImageThresholder *thresholder) |
| bool | SetVariable (const char *name, const char *value) |
| | TessBaseAPI () |
| Tesseract *const | tesseract () const |
| char * | TesseractRect (const unsigned char *imagedata, int bytes_per_pixel, int bytes_per_line, int left, int top, int width, int height) |
| virtual | ~TessBaseAPI () |
Static Public Member Functions |
| static void | DeleteBlockList (BLOCK_LIST *block_list) |
| static ROW * | FindRowForBox (BLOCK_LIST *blocks, int left, int top, int right, int bottom) |
| static TBLOB * | MakeTBLOB (Pix *pix) |
| static ROW * | MakeTessOCRRow (float baseline, float xheight, float descender, float ascender) |
| static void | NormalizeTBLOB (TBLOB *tblob, ROW *row, bool numeric_mode, DENORM *denorm) |
| static const char * | Version () |
Protected Member Functions |
| TESS_LOCAL void | AdaptToCharacter (const char *unichar_repr, int length, float baseline, float xheight, float descender, float ascender) |
| TESS_LOCAL void | ClearResults () |
| TESS_LOCAL void | DetectParagraphs (int debug_level) |
| TESS_LOCAL int | FindLines () |
| TESS_LOCAL LTRResultIterator * | GetLTRIterator () |
| TESS_LOCAL const PAGE_RES * | GetPageRes () const |
| TESS_LOCAL bool | InternalSetImage () |
| TESS_LOCAL PAGE_RES * | RecognitionPass1 (BLOCK_LIST *block_list) |
| TESS_LOCAL PAGE_RES * | RecognitionPass2 (BLOCK_LIST *block_list, PAGE_RES *pass1_result) |
| TESS_LOCAL int | TextLength (int *blob_count) |
| virtual TESS_LOCAL void | Threshold (Pix **pix) |
Static Protected Member Functions |
| static TESS_LOCAL int | TesseractExtractResult (char **text, int **lengths, float **costs, int **x0, int **y0, int **x1, int **y1, PAGE_RES *page_res) |
Protected Attributes |
| BLOCK_LIST * | block_list_ |
| | The page layout.
|
| STRING * | datapath_ |
| | Current location of tessdata.
|
| EquationDetect * | equ_detect_ |
| | The equation detector.
|
| int | image_height_ |
| int | image_width_ |
| STRING * | input_file_ |
| | Name used by training code.
|
| STRING * | language_ |
| | Last initialized language.
|
| OcrEngineMode | last_oem_requested_ |
| | Last ocr language mode requested.
|
| Tesseract * | osd_tesseract_ |
| | For orientation & script detection.
|
| STRING * | output_file_ |
| | Name used by debug code.
|
| PAGE_RES * | page_res_ |
| | The page-level data.
|
| GenericVector< ParagraphModel * > * | paragraph_models_ |
| bool | recognition_done_ |
| | page_res_ contains recognition data.
|
| int | rect_height_ |
| int | rect_left_ |
| int | rect_top_ |
| int | rect_width_ |
| Tesseract * | tesseract_ |
| | The underlying data object.
|
| ImageThresholder * | thresholder_ |
| | Image thresholding module.
|
| TruthCallback * | truth_cb_ |
Base class for all tesseract APIs. Specific classes can add ability to work on different inputs or produce different outputs. This class is mostly an interface layer on top of the Tesseract instance class to hide the data types so that users of this class don't have to include any other Tesseract headers.
| int tesseract::TessBaseAPI::Init |
( |
const char * |
datapath, |
|
|
const char * |
language, |
|
|
OcrEngineMode |
mode, |
|
|
char ** |
configs, |
|
|
int |
configs_size, |
|
|
const GenericVector< STRING > * |
vars_vec, |
|
|
const GenericVector< STRING > * |
vars_values, |
|
|
bool |
set_only_non_debug_params | |
|
) |
| | |
Instances are now mostly thread-safe and totally independent, but some global parameters remain. Basically it is safe to use multiple TessBaseAPIs in different threads in parallel, UNLESS: you use SetVariable on some of the Params in classify and textord. If you do, then the effect will be to change it for all your instances.
Start tesseract. Returns zero on success and -1 on failure. NOTE that the only members that may be called before Init are those listed above here in the class definition.
The datapath must be the name of the parent directory of tessdata and must end in / . Any name after the last / will be stripped. The language is (usually) an ISO 639-3 string or NULL will default to eng. It is entirely safe (and eventually will be efficient too) to call Init multiple times on the same instance to change language, or just to reset the classifier. The language may be a string of the form [~]<lang>[+[~]<lang>]* indicating that multiple languages are to be loaded. Eg hin+eng will load Hindi and English. Languages may specify internally that they want to be loaded with one or more other languages, so the ~ sign is available to override that. Eg if hin were set to load eng by default, then hin+~eng would force loading only hin. The number of loaded languages is limited only by memory, with the caveat that loading additional languages will impact both speed and accuracy, as there is more work to do to decide on the applicable language, and there is more chance of hallucinating incorrect words. WARNING: On changing languages, all Tesseract parameters are reset back to their default values. (Which may vary between languages.) If you have a rare need to set a Variable that controls initialization for a second call to Init you should explicitly call End() and then use SetVariable before Init. This is only a very rare use case, since there are very few uses that require any parameters to be set before Init.
If set_only_non_debug_params is true, only params that do not contain "debug" in the name will be set.