tesseract
5.0.0-alpha-619-ge9db
|
#include <baseapi.h>
Public Member Functions | |
TessBaseAPI () | |
virtual | ~TessBaseAPI () |
TessBaseAPI (TessBaseAPI const &)=delete | |
TessBaseAPI & | operator= (TessBaseAPI const &)=delete |
void | SetInputName (const char *name) |
const char * | GetInputName () |
void | SetInputImage (Pix *pix) |
Pix * | GetInputImage () |
int | GetSourceYResolution () |
const char * | GetDatapath () |
void | SetOutputName (const char *name) |
bool | SetVariable (const char *name, const char *value) |
bool | SetDebugVariable (const char *name, const char *value) |
bool | GetIntVariable (const char *name, int *value) const |
bool | GetBoolVariable (const char *name, bool *value) const |
bool | GetDoubleVariable (const char *name, double *value) const |
const char * | GetStringVariable (const char *name) const |
void | PrintVariables (FILE *fp) const |
bool | GetVariableAsString (const char *name, STRING *val) |
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) |
int | Init (const char *datapath, const char *language, OcrEngineMode oem) |
int | Init (const char *datapath, const char *language) |
int | Init (const char *data, int data_size, 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, FileReader reader) |
const char * | GetInitLanguagesAsString () const |
void | GetLoadedLanguagesAsVector (GenericVector< STRING > *langs) const |
void | GetAvailableLanguagesAsVector (GenericVector< STRING > *langs) const |
int | InitLangMod (const char *datapath, const char *language) |
void | InitForAnalysePage () |
void | ReadConfigFile (const char *filename) |
void | ReadDebugConfigFile (const char *filename) |
void | SetPageSegMode (PageSegMode mode) |
PageSegMode | GetPageSegMode () const |
char * | TesseractRect (const unsigned char *imagedata, int bytes_per_pixel, int bytes_per_line, int left, int top, int width, int height) |
void | ClearAdaptiveClassifier () |
void | SetImage (const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line) |
void | SetImage (Pix *pix) |
void | SetSourceResolution (int ppi) |
void | SetRectangle (int left, int top, int width, int height) |
void | SetThresholder (ImageThresholder *thresholder) |
Pix * | GetThresholdedImage () |
Boxa * | GetRegions (Pixa **pixa) |
Boxa * | GetTextlines (bool raw_image, int raw_padding, Pixa **pixa, int **blockids, int **paraids) |
Boxa * | GetTextlines (Pixa **pixa, int **blockids) |
Boxa * | GetStrips (Pixa **pixa, int **blockids) |
Boxa * | GetWords (Pixa **pixa) |
Boxa * | GetConnectedComponents (Pixa **cc) |
Boxa * | GetComponentImages (PageIteratorLevel level, bool text_only, bool raw_image, int raw_padding, Pixa **pixa, int **blockids, int **paraids) |
Boxa * | GetComponentImages (const PageIteratorLevel level, const bool text_only, Pixa **pixa, int **blockids) |
int | GetThresholdedImageScaleFactor () const |
PageIterator * | AnalyseLayout () |
PageIterator * | AnalyseLayout (bool merge_similar_words) |
int | Recognize (ETEXT_DESC *monitor) |
int | RecognizeForChopTest (ETEXT_DESC *monitor) |
bool | ProcessPages (const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer) |
bool | ProcessPagesInternal (const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer) |
bool | ProcessPage (Pix *pix, int page_index, const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer) |
ResultIterator * | GetIterator () |
MutableIterator * | GetMutableIterator () |
char * | GetUTF8Text () |
char * | GetHOCRText (ETEXT_DESC *monitor, int page_number) |
char * | GetHOCRText (int page_number) |
char * | GetAltoText (ETEXT_DESC *monitor, int page_number) |
char * | GetAltoText (int page_number) |
char * | GetTSVText (int page_number) |
char * | GetLSTMBoxText (int page_number) |
char * | GetBoxText (int page_number) |
char * | GetWordStrBoxText (int page_number) |
char * | GetUNLVText () |
bool | DetectOrientationScript (int *orient_deg, float *orient_conf, const char **script_name, float *script_conf) |
char * | GetOsdText (int page_number) |
int | MeanTextConf () |
int * | AllWordConfidences () |
bool | AdaptToWordStr (PageSegMode mode, const char *wordstr) |
void | Clear () |
void | End () |
int | IsValidWord (const char *word) |
bool | IsValidCharacter (const char *utf8_character) |
bool | GetTextDirection (int *out_offset, float *out_slope) |
void | SetDictFunc (DictFunc f) |
void | SetProbabilityInContextFunc (ProbabilityInContextFunc f) |
bool | DetectOS (OSResults *) |
void | GetBlockTextOrientations (int **block_orientation, bool **vertical_writing) |
void | SetFillLatticeFunc (FillLatticeFunc f) |
BLOCK_LIST * | FindLinesCreateBlockList () |
void | GetFeaturesForBlob (TBLOB *blob, INT_FEATURE_STRUCT *int_features, int *num_features, int *feature_outline_index) |
void | RunAdaptiveClassifier (TBLOB *blob, int num_max_matches, int *unichar_ids, float *ratings, int *num_matches_returned) |
const char * | GetUnichar (int unichar_id) |
const Dawg * | GetDawg (int i) const |
int | NumDawgs () const |
Tesseract * | tesseract () const |
OcrEngineMode | oem () const |
void | InitTruthCallback (TruthCallback cb) |
void | set_min_orientation_margin (double margin) |
Static Public Member Functions | |
static const char * | Version () |
static size_t | getOpenCLDevice (void **device) |
static void | ClearPersistentCache () |
static void | DeleteBlockList (BLOCK_LIST *block_list) |
static ROW * | MakeTessOCRRow (float baseline, float xheight, float descender, float ascender) |
static TBLOB * | MakeTBLOB (Pix *pix) |
static void | NormalizeTBLOB (TBLOB *tblob, ROW *row, bool numeric_mode) |
static ROW * | FindRowForBox (BLOCK_LIST *blocks, int left, int top, int right, int bottom) |
Protected Member Functions | |
TESS_LOCAL bool | InternalSetImage () |
virtual TESS_LOCAL bool | Threshold (Pix **pix) |
TESS_LOCAL int | FindLines () |
void | ClearResults () |
TESS_LOCAL LTRResultIterator * | GetLTRIterator () |
TESS_LOCAL int | TextLength (int *blob_count) |
TESS_LOCAL void | DetectParagraphs (bool after_text_recognition) |
TESS_LOCAL void | AdaptToCharacter (const char *unichar_repr, int length, float baseline, float xheight, float descender, float ascender) |
TESS_LOCAL PAGE_RES * | RecognitionPass1 (BLOCK_LIST *block_list) |
TESS_LOCAL PAGE_RES * | RecognitionPass2 (BLOCK_LIST *block_list, PAGE_RES *pass1_result) |
const TESS_LOCAL PAGE_RES * | GetPageRes () const |
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 | |
Tesseract * | tesseract_ |
The underlying data object. More... | |
Tesseract * | osd_tesseract_ |
For orientation & script detection. More... | |
EquationDetect * | equ_detect_ |
The equation detector. More... | |
FileReader | reader_ |
Reads files from any filesystem. More... | |
ImageThresholder * | thresholder_ |
Image thresholding module. More... | |
GenericVector< ParagraphModel * > * | paragraph_models_ |
BLOCK_LIST * | block_list_ |
The page layout. More... | |
PAGE_RES * | page_res_ |
The page-level data. More... | |
STRING * | input_file_ |
Name used by training code. More... | |
STRING * | output_file_ |
Name used by debug code. More... | |
STRING * | datapath_ |
Current location of tessdata. More... | |
STRING * | language_ |
Last initialized language. More... | |
OcrEngineMode | last_oem_requested_ |
Last ocr language mode requested. More... | |
bool | recognition_done_ |
page_res_ contains recognition data. More... | |
TruthCallback | truth_cb_ |
fxn for setting truth_* in WERD_RES More... | |
int | rect_left_ |
int | rect_top_ |
int | rect_width_ |
int | rect_height_ |
int | image_width_ |
int | image_height_ |
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.
tesseract::TessBaseAPI::TessBaseAPI | ( | ) |
Definition at line 189 of file baseapi.cpp.
|
virtual |
Definition at line 226 of file baseapi.cpp.
|
delete |
|
protected |
Adapt to recognize the current image as the given character. The image must be preloaded and be just an image of a single character.
Adapt to recognize the current image as the given character. The image must be preloaded into pix_binary_ and be just an image of a single character.
Definition at line 2426 of file baseapi.cpp.
bool tesseract::TessBaseAPI::AdaptToWordStr | ( | PageSegMode | mode, |
const char * | wordstr | ||
) |
Applies the given word to the adaptive classifier if possible. The word must be SPACE-DELIMITED UTF-8 - l i k e t h i s , so it can tell the boundaries of the graphemes. Assumes that SetImage/SetRectangle have been used to set the image to the given word. The mode arg should be PSM_SINGLE_WORD or PSM_CIRCLE_WORD, as that will be used to control layout analysis. The currently set PageSegMode is preserved. Returns false if adaption was not possible for some reason.
Definition at line 1796 of file baseapi.cpp.
int * tesseract::TessBaseAPI::AllWordConfidences | ( | ) |
Returns all word confidences (between 0 and 100) in an array, terminated by -1. The calling function must delete [] after use. The number of confidences should correspond to the number of space- delimited words in GetUTF8Text.
Returns an array of all word confidences, terminated by -1.
Definition at line 1761 of file baseapi.cpp.
PageIterator * tesseract::TessBaseAPI::AnalyseLayout | ( | ) |
Runs page layout analysis in the mode set by SetPageSegMode. May optionally be called prior to Recognize to get access to just the page layout results. Returns an iterator to the results. If merge_similar_words is true, words are combined where suitable for use with a line recognizer. Use if you want to use AnalyseLayout to find the textlines, and then want to process textline fragments with an external line recognizer. Returns nullptr on error or an empty page. The returned iterator must be deleted after use. WARNING! This class points to data held within the TessBaseAPI class, and therefore can only be used while the TessBaseAPI class still exists and has not been subjected to a call of Init, SetImage, Recognize, Clear, End DetectOS, or anything else that changes the internal PAGE_RES.
Definition at line 807 of file baseapi.cpp.
PageIterator * tesseract::TessBaseAPI::AnalyseLayout | ( | bool | merge_similar_words | ) |
Definition at line 809 of file baseapi.cpp.
void tesseract::TessBaseAPI::Clear | ( | ) |
Free up recognition results and any stored image data, without actually freeing any recognition data that would be time-consuming to reload. Afterwards, you must call SetImage or TesseractRect before doing any Recognize or Get* operation.
Definition at line 1859 of file baseapi.cpp.
void tesseract::TessBaseAPI::ClearAdaptiveClassifier | ( | ) |
Call between pages or documents etc to free up memory and forget adaptive data.
Definition at line 556 of file baseapi.cpp.
|
static |
Clear any library-level memory caches. There are a variety of expensive-to-load constant data structures (mostly language dictionaries) that are cached globally – surviving the Init() and End() of individual TessBaseAPI's. This function allows the clearing of these caches.
Definition at line 1907 of file baseapi.cpp.
|
protected |
Delete the pageres and block list ready for a new page.
Delete the pageres and clear the block list ready for a new page.
Definition at line 2141 of file baseapi.cpp.
|
static |
Delete a block list. This is to keep BLOCK_LIST pointer opaque and let go of including the other headers.
Definition at line 2343 of file baseapi.cpp.
bool tesseract::TessBaseAPI::DetectOrientationScript | ( | int * | orient_deg, |
float * | orient_conf, | ||
const char ** | script_name, | ||
float * | script_conf | ||
) |
Detect the orientation of the input image and apparent script (alphabet). orient_deg is the detected clockwise rotation of the input image in degrees (0, 90, 180, 270) orient_conf is the confidence (15.0 is reasonably confident) script_name is an ASCII string, the name of the script, e.g. "Latin" script_conf is confidence level in the script Returns true on success and writes values to each parameter as an output
Definition at line 1683 of file baseapi.cpp.
bool tesseract::TessBaseAPI::DetectOS | ( | OSResults * | osr | ) |
Estimates the Orientation And Script of the image.
Estimates the Orientation And Script of the image. Returns true if the image was processed successfully.
Definition at line 2197 of file baseapi.cpp.
|
protected |
Definition at line 2275 of file baseapi.cpp.
void tesseract::TessBaseAPI::End | ( | ) |
Close down tesseract and free up all memory. End() is equivalent to destructing and reconstructing your TessBaseAPI. Once End() has been used, none of the other API functions may be used other than Init and anything declared above it in the class definition.
Definition at line 1872 of file baseapi.cpp.
|
protected |
Find lines from the image making the BLOCK_LIST.
Find lines from the image making the BLOCK_LIST.
Definition at line 2065 of file baseapi.cpp.
BLOCK_LIST * tesseract::TessBaseAPI::FindLinesCreateBlockList | ( | ) |
|
static |
This method returns the row to which a box of specified dimensions would belong. If no good match is found, it returns nullptr.
Definition at line 2632 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetAltoText | ( | ETEXT_DESC * | monitor, |
int | page_number | ||
) |
Make an XML-formatted string with Alto markup from the internal data structures.
Make an XML-formatted string with ALTO markup from the internal data structures.
Definition at line 126 of file altorenderer.cpp.
char * tesseract::TessBaseAPI::GetAltoText | ( | int | page_number | ) |
Make an XML-formatted string with Alto markup from the internal data structures.
Make an XML-formatted string with ALTO markup from the internal data structures.
Definition at line 118 of file altorenderer.cpp.
void tesseract::TessBaseAPI::GetAvailableLanguagesAsVector | ( | GenericVector< STRING > * | langs | ) | const |
Returns the available languages in the sorted vector of STRINGs.
Definition at line 447 of file baseapi.cpp.
void tesseract::TessBaseAPI::GetBlockTextOrientations | ( | int ** | block_orientation, |
bool ** | vertical_writing | ||
) |
Return text orientation of each block as determined by an earlier run of layout analysis.
Return text orientation of each block as determined in an earlier page layout analysis operation. Orientation is returned as the number of ccw 90-degree rotations (in [0..3]) required to make the text in the block upright (readable). Note that this may not necessary be the block orientation preferred for recognition (such as the case of vertical CJK text).
Also returns whether the text in the block is believed to have vertical writing direction (when in an upright page orientation).
The returned array is of length equal to the number of text blocks, which may be less than the total number of blocks. The ordering is intended to be consistent with GetTextLines().
Definition at line 2230 of file baseapi.cpp.
bool tesseract::TessBaseAPI::GetBoolVariable | ( | const char * | name, |
bool * | value | ||
) | const |
Definition at line 297 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetBoxText | ( | int | page_number | ) |
The recognized text is returned as a char* which is coded in the same format as a box file used in training. Constructs coordinates in the original image - not just the rectangle. page_number is a 0-based page index that will appear in the box file. Returned string must be freed with the delete [] operator.
The recognized text is returned as a char* which is coded as a UTF8 box file. page_number is a 0-base page index that will appear in the box file. Returned string must be freed with the delete [] operator.
Definition at line 1517 of file baseapi.cpp.
|
inline |
Boxa * tesseract::TessBaseAPI::GetComponentImages | ( | PageIteratorLevel | level, |
bool | text_only, | ||
bool | raw_image, | ||
int | raw_padding, | ||
Pixa ** | pixa, | ||
int ** | blockids, | ||
int ** | paraids | ||
) |
Get the given level kind of components (block, textline, word etc.) as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize. If blockids is not nullptr, the block-id of each component is also returned as an array of one element per component. delete [] after use. If blockids is not nullptr, the paragraph-id of each component with its block is also returned as an array of one element per component. delete [] after use. If raw_image is true, then portions of the original image are extracted instead of the thresholded image and padded with raw_padding. If text_only is true, then only text components are returned.
Get the given level kind of components (block, textline, word etc.) as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize. If blockids is not nullptr, the block-id of each component is also returned as an array of one element per component. delete [] after use. If text_only is true, then only text components are returned.
Definition at line 697 of file baseapi.cpp.
Boxa * tesseract::TessBaseAPI::GetConnectedComponents | ( | Pixa ** | pixa | ) |
Gets the individual connected (text) components (created after pages segmentation step, but before recognition) as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize. Note: the caller is responsible for calling boxaDestroy() on the returned Boxa array and pixaDestroy() on cc array.
Gets the individual connected (text) components (created after pages segmentation step, but before recognition) as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize.
Definition at line 685 of file baseapi.cpp.
const char * tesseract::TessBaseAPI::GetDatapath | ( | ) |
Definition at line 963 of file baseapi.cpp.
const Dawg * tesseract::TessBaseAPI::GetDawg | ( | int | i | ) | const |
Return the pointer to the i-th dawg loaded into tesseract_ object.
Definition at line 2296 of file baseapi.cpp.
bool tesseract::TessBaseAPI::GetDoubleVariable | ( | const char * | name, |
double * | value | ||
) | const |
Definition at line 311 of file baseapi.cpp.
void tesseract::TessBaseAPI::GetFeaturesForBlob | ( | TBLOB * | blob, |
INT_FEATURE_STRUCT * | int_features, | ||
int * | num_features, | ||
int * | feature_outline_index | ||
) |
This method returns the features associated with the input image.
This method returns the features associated with the input blob.
Definition at line 2604 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetHOCRText | ( | ETEXT_DESC * | monitor, |
int | page_number | ||
) |
Make a HTML-formatted string with hOCR markup from the internal data structures. page_number is 0-based but will appear in the output as 1-based. monitor can be used to cancel the recognition receive progress callbacks Returned string must be freed with the delete [] operator.
Make a HTML-formatted string with hOCR markup from the internal data structures. page_number is 0-based but will appear in the output as 1-based. Image name/input_file_ can be set by SetInputName before calling GetHOCRText STL removed from original patch submission and refactored by rays. Returned string must be freed with the delete [] operator.
Definition at line 147 of file hocrrenderer.cpp.
char * tesseract::TessBaseAPI::GetHOCRText | ( | int | page_number | ) |
Make a HTML-formatted string with hOCR markup from the internal data structures. page_number is 0-based but will appear in the output as 1-based. Returned string must be freed with the delete [] operator.
Make a HTML-formatted string with hOCR markup from the internal data structures. page_number is 0-based but will appear in the output as 1-based. Image name/input_file_ can be set by SetInputName before calling GetHOCRText STL removed from original patch submission and refactored by rays. Returned string must be freed with the delete [] operator.
Definition at line 134 of file hocrrenderer.cpp.
const char * tesseract::TessBaseAPI::GetInitLanguagesAsString | ( | ) | const |
Returns the languages string used in the last valid initialization. If the last initialization specified "deu+hin" then that will be returned. If hin loaded eng automatically as well, then that will not be included in this list. To find the languages actually loaded use GetLoadedLanguagesAsVector. The returned string should NOT be deleted.
Definition at line 423 of file baseapi.cpp.
Pix * tesseract::TessBaseAPI::GetInputImage | ( | ) |
Definition at line 955 of file baseapi.cpp.
const char * tesseract::TessBaseAPI::GetInputName | ( | ) |
These functions are required for searchable PDF output. We need our hands on the input file so that we can include it in the PDF without transcoding. If that is not possible, we need the original image. Finally, resolution metadata is stored in the PDF so we need that as well.
Definition at line 957 of file baseapi.cpp.
bool tesseract::TessBaseAPI::GetIntVariable | ( | const char * | name, |
int * | value | ||
) | const |
Returns true if the parameter was found among Tesseract parameters. Fills in value with the value of the parameter.
Definition at line 289 of file baseapi.cpp.
ResultIterator * tesseract::TessBaseAPI::GetIterator | ( | ) |
Get a reading-order iterator to the results of LayoutAnalysis and/or Recognize. The returned iterator must be deleted after use. WARNING! This class points to data held within the TessBaseAPI class, and therefore can only be used while the TessBaseAPI class still exists and has not been subjected to a call of Init, SetImage, Recognize, Clear, End DetectOS, or anything else that changes the internal PAGE_RES.
Definition at line 1321 of file baseapi.cpp.
void tesseract::TessBaseAPI::GetLoadedLanguagesAsVector | ( | GenericVector< STRING > * | langs | ) | const |
Returns the loaded languages in the vector of STRINGs. Includes all languages loaded by the last Init, including those loaded as dependencies of other loaded languages.
Definition at line 433 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetLSTMBoxText | ( | int | page_number = 0 | ) |
Make a box file for LSTM training from the internal data structures. Constructs coordinates in the original image - not just the rectangle. page_number is a 0-based page index that will appear in the box file. Returned string must be freed with the delete [] operator.
Definition at line 52 of file lstmboxrenderer.cpp.
|
protected |
Return an LTR Result Iterator – used only for training, as we really want to ignore all BiDi smarts at that point. delete once you're done with it.
Get a left-to-right iterator to the results of LayoutAnalysis and/or Recognize. The returned iterator must be deleted after use.
Definition at line 1304 of file baseapi.cpp.
MutableIterator * tesseract::TessBaseAPI::GetMutableIterator | ( | ) |
Get a mutable iterator to the results of LayoutAnalysis and/or Recognize. The returned iterator must be deleted after use. WARNING! This class points to data held within the TessBaseAPI class, and therefore can only be used while the TessBaseAPI class still exists and has not been subjected to a call of Init, SetImage, Recognize, Clear, End DetectOS, or anything else that changes the internal PAGE_RES.
Definition at line 1338 of file baseapi.cpp.
|
static |
If compiled with OpenCL AND an available OpenCL device is deemed faster than serial code, then "device" is populated with the cl_device_id and returns sizeof(cl_device_id) otherwise *device=nullptr and returns 0.
Definition at line 244 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetOsdText | ( | int | page_number | ) |
The recognized text is returned as a char* which is coded as UTF8 and must be freed with the delete [] operator. page_number is a 0-based page index that will appear in the osd file.
Definition at line 1714 of file baseapi.cpp.
|
inlineprotected |
PageSegMode tesseract::TessBaseAPI::GetPageSegMode | ( | ) | const |
Boxa * tesseract::TessBaseAPI::GetRegions | ( | Pixa ** | pixa | ) |
Get the result of page layout analysis as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize.
Definition at line 640 of file baseapi.cpp.
int tesseract::TessBaseAPI::GetSourceYResolution | ( | ) |
Definition at line 967 of file baseapi.cpp.
const char * tesseract::TessBaseAPI::GetStringVariable | ( | const char * | name | ) | const |
Returns the pointer to the string that represents the value of the parameter if it was found among Tesseract parameters.
Definition at line 305 of file baseapi.cpp.
Boxa * tesseract::TessBaseAPI::GetStrips | ( | Pixa ** | pixa, |
int ** | blockids | ||
) |
Get textlines and strips of image regions as a leptonica-style Boxa, Pixa pair, in reading order. Enables downstream handling of non-rectangular regions. Can be called before or after Recognize. If blockids is not nullptr, the block-id of each line is also returned as an array of one element per line. delete [] after use.
Definition at line 666 of file baseapi.cpp.
bool tesseract::TessBaseAPI::GetTextDirection | ( | int * | out_offset, |
float * | out_slope | ||
) |
Definition at line 1926 of file baseapi.cpp.
Boxa * tesseract::TessBaseAPI::GetTextlines | ( | bool | raw_image, |
int | raw_padding, | ||
Pixa ** | pixa, | ||
int ** | blockids, | ||
int ** | paraids | ||
) |
Get the textlines as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize. If raw_image is true, then extract from the original image instead of the thresholded image and pad by raw_padding pixels. If blockids is not nullptr, the block-id of each line is also returned as an array of one element per line. delete [] after use. If paraids is not nullptr, the paragraph-id of each line within its block is also returned as an array of one element per line. delete [] after use.
Get the textlines as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize. If blockids is not nullptr, the block-id of each line is also returned as an array of one element per line. delete [] after use. If paraids is not nullptr, the paragraph-id of each line within its block is also returned as an array of one element per line. delete [] after use.
Definition at line 652 of file baseapi.cpp.
|
inline |
Pix * tesseract::TessBaseAPI::GetThresholdedImage | ( | ) |
Get a copy of the internal thresholded image from Tesseract. Caller takes ownership of the Pix and must pixDestroy it. May be called any time after SetImage, or after TesseractRect.
ONLY available after SetImage if you have Leptonica installed. Get a copy of the internal thresholded image from Tesseract.
Definition at line 626 of file baseapi.cpp.
int tesseract::TessBaseAPI::GetThresholdedImageScaleFactor | ( | ) | const |
Returns the scale factor of the thresholded image that would be returned by GetThresholdedImage() and the various GetX() methods that call GetComponentImages(). Returns 0 if no thresholder has been set.
Definition at line 785 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetTSVText | ( | int | page_number | ) |
Make a TSV-formatted string from the internal data structures. page_number is 0-based but will appear in the output as 1-based. Returned string must be freed with the delete [] operator.
Definition at line 1380 of file baseapi.cpp.
const char * tesseract::TessBaseAPI::GetUnichar | ( | int | unichar_id | ) |
This method returns the string form of the specified unichar.
Definition at line 2291 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetUNLVText | ( | ) |
The recognized text is returned as a char* which is coded as UNLV format Latin-1 with specific reject and suspect codes. Returned string must be freed with the delete [] operator.
Definition at line 1571 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetUTF8Text | ( | ) |
The recognized text is returned as a char* which is coded as UTF8 and must be freed with the delete [] operator.
Make a text string from the internal data structures.
Definition at line 1348 of file baseapi.cpp.
bool tesseract::TessBaseAPI::GetVariableAsString | ( | const char * | name, |
STRING * | val | ||
) |
Get value of named variable as a string, if it exists.
Definition at line 320 of file baseapi.cpp.
Boxa * tesseract::TessBaseAPI::GetWords | ( | Pixa ** | pixa | ) |
Get the words as a leptonica-style Boxa, Pixa pair, in reading order. Can be called before or after Recognize.
Definition at line 675 of file baseapi.cpp.
char * tesseract::TessBaseAPI::GetWordStrBoxText | ( | int | page_number = 0 | ) |
The recognized text is returned as a char* which is coded in the same format as a WordStr box file used in training. page_number is a 0-based page index that will appear in the box file. Returned string must be freed with the delete [] operator.
Create a UTF8 box file with WordStr strings from the internal data structures. page_number is a 0-base page index that will appear in the box file. Returned string must be freed with the delete [] operator.
Definition at line 45 of file wordstrboxrenderer.cpp.
int tesseract::TessBaseAPI::Init | ( | const char * | data, |
int | data_size, | ||
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, | ||
FileReader | reader | ||
) |
Definition at line 349 of file baseapi.cpp.
|
inline |
int tesseract::TessBaseAPI::Init | ( | const char * | datapath, |
const char * | language, | ||
OcrEngineMode | oem, | ||
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 tessdata directory. The language is (usually) an ISO 639-3 string or nullptr 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.
The datapath must be the name of the data directory or some other file in which the data directory resides (for instance argv[0].) The language is (usually) an ISO 639-3 string or nullptr will default to eng. If numeric_mode is true, then only digits and Roman numerals will be returned.
Definition at line 337 of file baseapi.cpp.
|
inline |
void tesseract::TessBaseAPI::InitForAnalysePage | ( | ) |
Init only for page layout analysis. Use only for calls to SetImage and AnalysePage. Calls that attempt recognition will generate an error.
Definition at line 478 of file baseapi.cpp.
int tesseract::TessBaseAPI::InitLangMod | ( | const char * | datapath, |
const char * | language | ||
) |
Init only the lang model component of Tesseract. The only functions that work after this init are SetVariable and IsValidWord. WARNING: temporary! This function will be removed from here and placed in a separate API at some future time.
Definition at line 464 of file baseapi.cpp.
|
inline |
|
protected |
Common code for setting the image. Returns true if Init has been called.
Common code for setting the image.
Definition at line 1994 of file baseapi.cpp.
bool tesseract::TessBaseAPI::IsValidCharacter | ( | const char * | utf8_character | ) |
Definition at line 1919 of file baseapi.cpp.
int tesseract::TessBaseAPI::IsValidWord | ( | const char * | word | ) |
Check whether a word is valid according to Tesseract's language model
Check whether a word is valid according to Tesseract's language model returns 0 if the word is invalid, non-zero if valid
Definition at line 1915 of file baseapi.cpp.
|
static |
Returns a TBLOB corresponding to the entire input image.
Creates a TBLOB* from the whole pix.
Definition at line 2365 of file baseapi.cpp.
|
static |
Returns a ROW object created from the input row specification.
Definition at line 2348 of file baseapi.cpp.
int tesseract::TessBaseAPI::MeanTextConf | ( | ) |
Returns the (average) confidence value between 0 and 100.
Returns the average word confidence for Tesseract page result.
Definition at line 1749 of file baseapi.cpp.
This method baseline normalizes a TBLOB in-place. The input row is used for normalization. The denorm is an optional parameter in which the normalization-antidote is returned.
Definition at line 2395 of file baseapi.cpp.
int tesseract::TessBaseAPI::NumDawgs | ( | ) | const |
Return the number of dawgs loaded into tesseract_ object.
Definition at line 2302 of file baseapi.cpp.
|
inline |
|
delete |
void tesseract::TessBaseAPI::PrintVariables | ( | FILE * | fp | ) | const |
Print Tesseract parameters to the given file.
Definition at line 325 of file baseapi.cpp.
bool tesseract::TessBaseAPI::ProcessPage | ( | Pix * | pix, |
int | page_index, | ||
const char * | filename, | ||
const char * | retry_config, | ||
int | timeout_millisec, | ||
TessResultRenderer * | renderer | ||
) |
Turn a single image into symbolic text.
The pix is the image processed. filename and page_index are metadata used by side-effect processes, such as reading a box file or formatting as hOCR.
See ProcessPages for desciptions of other parameters.
Definition at line 1237 of file baseapi.cpp.
bool tesseract::TessBaseAPI::ProcessPages | ( | const char * | filename, |
const char * | retry_config, | ||
int | timeout_millisec, | ||
TessResultRenderer * | renderer | ||
) |
Turns images into symbolic text.
filename can point to a single image, a multi-page TIFF, or a plain text list of image filenames.
retry_config is useful for debugging. If not nullptr, you can fall back to an alternate configuration if a page fails for some reason.
timeout_millisec terminates processing if any single page takes too long. Set to 0 for unlimited time.
renderer is responible for creating the output. For example, use the TessTextRenderer if you want plaintext output, or the TessPDFRender to produce searchable PDF.
If tessedit_page_number is non-negative, will only process that single page. Works for multi-page tiff file, or filelist.
Returns true if successful, false on error.
Definition at line 1073 of file baseapi.cpp.
bool tesseract::TessBaseAPI::ProcessPagesInternal | ( | const char * | filename, |
const char * | retry_config, | ||
int | timeout_millisec, | ||
TessResultRenderer * | renderer | ||
) |
Definition at line 1110 of file baseapi.cpp.
void tesseract::TessBaseAPI::ReadConfigFile | ( | const char * | filename | ) |
Read a "config" file containing a set of param, value pairs. Searches the standard places: tessdata/configs, tessdata/tessconfigs and also accepts a relative or absolute path name. Note: only non-init params will be set (init params are set by Init()).
Read a "config" file containing a set of parameter name, value pairs. Searches the standard places: tessdata/configs, tessdata/tessconfigs and also accepts a relative or absolute path name.
Definition at line 492 of file baseapi.cpp.
void tesseract::TessBaseAPI::ReadDebugConfigFile | ( | const char * | filename | ) |
Same as above, but only set debug params from the given config file.
Definition at line 497 of file baseapi.cpp.
|
protected |
Recognize text doing one pass only, using settings for a given pass.
Definition at line 2461 of file baseapi.cpp.
|
protected |
Definition at line 2468 of file baseapi.cpp.
int tesseract::TessBaseAPI::Recognize | ( | ETEXT_DESC * | monitor | ) |
Recognize the image from SetAndThresholdImage, generating Tesseract internal structures. Returns 0 on success. Optional. The Get*Text functions below will call Recognize if needed. After Recognize, the output is kept internally until the next SetImage.
Recognize the tesseract global image and return the result as Tesseract internal structures.
Definition at line 827 of file baseapi.cpp.
int tesseract::TessBaseAPI::RecognizeForChopTest | ( | ETEXT_DESC * | monitor | ) |
Methods to retrieve information after SetAndThresholdImage(), Recognize() or TesseractRect(). (Recognize is called implicitly if needed.) Variant on Recognize used for testing chopper.
Tests the chopper by exhaustively running chop_one_blob.
Definition at line 920 of file baseapi.cpp.
void tesseract::TessBaseAPI::RunAdaptiveClassifier | ( | TBLOB * | blob, |
int | num_max_matches, | ||
int * | unichar_ids, | ||
float * | ratings, | ||
int * | num_matches_returned | ||
) |
Method to run adaptive classifier on a blob. It returns at max num_max_matches results.
Method to run adaptive classifier on a blob.
Definition at line 2657 of file baseapi.cpp.
void tesseract::TessBaseAPI::set_min_orientation_margin | ( | double | margin | ) |
Definition at line 2212 of file baseapi.cpp.
bool tesseract::TessBaseAPI::SetDebugVariable | ( | const char * | name, |
const char * | value | ||
) |
Definition at line 283 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetDictFunc | ( | DictFunc | f | ) |
Sets Dict::letter_is_okay_ function to point to the given function.
Definition at line 1961 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetFillLatticeFunc | ( | FillLatticeFunc | f | ) |
Sets Wordrec::fill_lattice_ function to point to the given function.
Definition at line 1988 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetImage | ( | const unsigned char * | imagedata, |
int | width, | ||
int | height, | ||
int | bytes_per_pixel, | ||
int | bytes_per_line | ||
) |
Provide an image for Tesseract to recognize. Format is as TesseractRect above. Copies the image buffer and converts to Pix. SetImage clears all recognition results, and sets the rectangle to the full image, so it may be followed immediately by a GetUTF8Text, and it will automatically perform recognition.
Definition at line 571 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetImage | ( | Pix * | pix | ) |
Provide an image for Tesseract to recognize. As with SetImage above, Tesseract takes its own copy of the image, so it need not persist until after Recognize. Pix vs raw, which to use? Use Pix where possible. Tesseract uses Pix as its internal representation and it is therefore more efficient to provide a Pix directly.
Definition at line 596 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetInputImage | ( | Pix * | pix | ) |
Definition at line 953 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetInputName | ( | const char * | name | ) |
Set the name of the input file. Needed for training and reading a UNLV zone file, and for searchable PDF output.
Set the name of the input file. Needed only for training and loading a UNLV zone file.
Definition at line 262 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetOutputName | ( | const char * | name | ) |
Set the name of the bonus output files. Needed only for debugging.
Set the name of the output files. Needed only for debugging.
Definition at line 270 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetPageSegMode | ( | PageSegMode | mode | ) |
Set the current page segmentation mode. Defaults to PSM_SINGLE_BLOCK. The mode is stored as an IntParam so it can also be modified by ReadConfigFile or SetVariable("tessedit_pageseg_mode", mode as string).
Set the current page segmentation mode. Defaults to PSM_AUTO. The mode is stored as an IntParam so it can also be modified by ReadConfigFile or SetVariable("tessedit_pageseg_mode", mode as string).
Definition at line 506 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetProbabilityInContextFunc | ( | ProbabilityInContextFunc | f | ) |
Sets Dict::probability_in_context_ function to point to the given function.
Sets Dict::probability_in_context_ function to point to the given function.
f | A single function that returns the probability of the current "character" (in general a utf-8 string), given the context of a previous utf-8 string. |
Definition at line 1975 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetRectangle | ( | int | left, |
int | top, | ||
int | width, | ||
int | height | ||
) |
Restrict recognition to a sub-rectangle of the image. Call after SetImage. Each SetRectangle clears the recogntion results so multiple rectangles can be recognized with the same image.
Definition at line 615 of file baseapi.cpp.
void tesseract::TessBaseAPI::SetSourceResolution | ( | int | ppi | ) |
Set the resolution of the source image in pixels per inch so font size information can be calculated in results. Call this after SetImage().
Definition at line 581 of file baseapi.cpp.
|
inline |
In extreme cases only, usually with a subclass of Thresholder, it is possible to provide a different Thresholder. The Thresholder may be preloaded with an image, settings etc, or they may be set after. Note that Tesseract takes ownership of the Thresholder and will delete it when it it is replaced or the API is destructed.
bool tesseract::TessBaseAPI::SetVariable | ( | const char * | name, |
const char * | value | ||
) |
Set the value of an internal "parameter." Supply the name of the parameter and the value as a string, just as you would in a config file. Returns false if the name lookup failed. Eg SetVariable("tessedit_char_blacklist", "xyz"); to ignore x, y and z. Or SetVariable("classify_bln_numeric_mode", "1"); to set numeric-only mode. SetVariable may be used before Init, but settings will revert to defaults on End().
Note: Must be called after Init(). Only works for non-init variables (init variables should be passed to Init()).
Definition at line 277 of file baseapi.cpp.
|
inline |
|
staticprotected |
Extract the OCR results, costs (penalty points for uncertainty), and the bounding boxes of the characters.
Definition at line 2552 of file baseapi.cpp.
char * tesseract::TessBaseAPI::TesseractRect | ( | const unsigned char * | imagedata, |
int | bytes_per_pixel, | ||
int | bytes_per_line, | ||
int | left, | ||
int | top, | ||
int | width, | ||
int | height | ||
) |
Recognize a rectangle from an image and return the result as a string. May be called many times for a single Init. Currently has no error checking. Greyscale of 8 and color of 24 or 32 bits per pixel may be given. Palette color images will not work properly and must be converted to 24 bit. Binary images of 1 bit per pixel may also be given but they must be byte packed with the MSB of the first byte being the first pixel, and a 1 represents WHITE. For binary images set bytes_per_pixel=0. The recognized text is returned as a char* which is coded as UTF8 and must be freed with the delete [] operator.
Note that TesseractRect is the simplified convenience interface. For advanced uses, use SetImage, (optionally) SetRectangle, Recognize, and one or more of the Get*Text functions below.
Recognize a rectangle from an image and return the result as a string. May be called many times for a single Init. Currently has no error checking. Greyscale of 8 and color of 24 or 32 bits per pixel may be given. Palette color images will not work properly and must be converted to 24 bit. Binary images of 1 bit per pixel may also be given but they must be byte packed with the MSB of the first byte being the first pixel, and a one pixel is WHITE. For binary images set bytes_per_pixel=0. The recognized text is returned as a char* which is coded as UTF8 and must be freed with the delete [] operator.
Definition at line 533 of file baseapi.cpp.
|
protected |
Return the length of the output text string, as UTF8, assuming one newline per line and one per block, with a terminator, and assuming a single character reject marker for each rejected character. Also return the number of recognized blobs in blob_count.
Return the length of the output text string, as UTF8, assuming liberally two spacing marks after each word (as paragraphs end with two newlines), and assuming a single character reject marker for each rejected character. Also return the number of recognized blobs in blob_count.
Definition at line 2166 of file baseapi.cpp.
|
protectedvirtual |
Run the thresholder to make the thresholded image. If pix is not nullptr, the source is thresholded to pix instead of the internal IMAGE.
Run the thresholder to make the thresholded image, returned in pix, which must not be nullptr. *pix must be initialized to nullptr, or point to an existing pixDestroyable Pix. The usual argument to Threshold is Tesseract::mutable_pix_binary().
Definition at line 2011 of file baseapi.cpp.
|
static |
Returns the version identifier as a static string. Do not delete.
Definition at line 233 of file baseapi.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |