tesseract  3.04.01
About: Tesseract is an Optical Character Recognition (OCR) engine.
  Fossies Dox: tesseract-3.04.01.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

Advanced API

Functions

void tesseract::TessBaseAPI::SetImage (const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line)
 
void tesseract::TessBaseAPI::SetImage (Pix *pix)
 
void tesseract::TessBaseAPI::SetSourceResolution (int ppi)
 
void tesseract::TessBaseAPI::SetRectangle (int left, int top, int width, int height)
 
void tesseract::TessBaseAPI::SetThresholder (ImageThresholder *thresholder)
 
Pix * tesseract::TessBaseAPI::GetThresholdedImage ()
 
Boxa * tesseract::TessBaseAPI::GetRegions (Pixa **pixa)
 
Boxa * tesseract::TessBaseAPI::GetTextlines (const bool raw_image, const int raw_padding, Pixa **pixa, int **blockids, int **paraids)
 
Boxa * tesseract::TessBaseAPI::GetTextlines (Pixa **pixa, int **blockids)
 
Boxa * tesseract::TessBaseAPI::GetStrips (Pixa **pixa, int **blockids)
 
Boxa * tesseract::TessBaseAPI::GetWords (Pixa **pixa)
 
Boxa * tesseract::TessBaseAPI::GetConnectedComponents (Pixa **cc)
 
Boxa * tesseract::TessBaseAPI::GetComponentImages (const PageIteratorLevel level, const bool text_only, const bool raw_image, const int raw_padding, Pixa **pixa, int **blockids, int **paraids)
 
Boxa * tesseract::TessBaseAPI::GetComponentImages (const PageIteratorLevel level, const bool text_only, Pixa **pixa, int **blockids)
 
int tesseract::TessBaseAPI::GetThresholdedImageScaleFactor () const
 
void tesseract::TessBaseAPI::DumpPGM (const char *filename)
 
PageIteratortesseract::TessBaseAPI::AnalyseLayout ()
 
PageIteratortesseract::TessBaseAPI::AnalyseLayout (bool merge_similar_words)
 
int tesseract::TessBaseAPI::Recognize (ETEXT_DESC *monitor)
 
int tesseract::TessBaseAPI::RecognizeForChopTest (ETEXT_DESC *monitor)
 
bool tesseract::TessBaseAPI::ProcessPages (const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
 
bool tesseract::TessBaseAPI::ProcessPagesInternal (const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
 
bool tesseract::TessBaseAPI::ProcessPage (Pix *pix, int page_index, const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
 
ResultIteratortesseract::TessBaseAPI::GetIterator ()
 
MutableIteratortesseract::TessBaseAPI::GetMutableIterator ()
 
char * tesseract::TessBaseAPI::GetUTF8Text ()
 
char * tesseract::TessBaseAPI::GetHOCRText (int page_number)
 
char * tesseract::TessBaseAPI::GetBoxText (int page_number)
 
char * tesseract::TessBaseAPI::GetUNLVText ()
 
char * tesseract::TessBaseAPI::GetOsdText (int page_number)
 
int tesseract::TessBaseAPI::MeanTextConf ()
 
int * tesseract::TessBaseAPI::AllWordConfidences ()
 
bool tesseract::TessBaseAPI::AdaptToWordStr (PageSegMode mode, const char *wordstr)
 
void tesseract::TessBaseAPI::Clear ()
 
void tesseract::TessBaseAPI::End ()
 
static void tesseract::TessBaseAPI::ClearPersistentCache ()
 
int tesseract::TessBaseAPI::IsValidWord (const char *word)
 
bool tesseract::TessBaseAPI::IsValidCharacter (const char *utf8_character)
 
bool tesseract::TessBaseAPI::GetTextDirection (int *out_offset, float *out_slope)
 
void tesseract::TessBaseAPI::SetDictFunc (DictFunc f)
 
void tesseract::TessBaseAPI::SetProbabilityInContextFunc (ProbabilityInContextFunc f)
 
void tesseract::TessBaseAPI::SetFillLatticeFunc (FillLatticeFunc f)
 
bool tesseract::TessBaseAPI::DetectOS (OSResults *)
 
void tesseract::TessBaseAPI::GetFeaturesForBlob (TBLOB *blob, INT_FEATURE_STRUCT *int_features, int *num_features, int *feature_outline_index)
 
static ROWtesseract::TessBaseAPI::FindRowForBox (BLOCK_LIST *blocks, int left, int top, int right, int bottom)
 
void tesseract::TessBaseAPI::RunAdaptiveClassifier (TBLOB *blob, int num_max_matches, int *unichar_ids, float *ratings, int *num_matches_returned)
 
const char * tesseract::TessBaseAPI::GetUnichar (int unichar_id)
 
const Dawgtesseract::TessBaseAPI::GetDawg (int i) const
 
int tesseract::TessBaseAPI::NumDawgs () const
 
static ROWtesseract::TessBaseAPI::MakeTessOCRRow (float baseline, float xheight, float descender, float ascender)
 
static TBLOBtesseract::TessBaseAPI::MakeTBLOB (Pix *pix)
 
static void tesseract::TessBaseAPI::NormalizeTBLOB (TBLOB *tblob, ROW *row, bool numeric_mode)
 
Tesseracttesseract::TessBaseAPI::tesseract () const
 
OcrEngineMode tesseract::TessBaseAPI::oem () const
 
void tesseract::TessBaseAPI::InitTruthCallback (TruthCallback *cb)
 
CubeRecoContexttesseract::TessBaseAPI::GetCubeRecoContext () const
 
void tesseract::TessBaseAPI::set_min_orientation_margin (double margin)
 
void tesseract::TessBaseAPI::GetBlockTextOrientations (int **block_orientation, bool **vertical_writing)
 
BLOCK_LIST * tesseract::TessBaseAPI::FindLinesCreateBlockList ()
 
static void tesseract::TessBaseAPI::DeleteBlockList (BLOCK_LIST *block_list)
 

Detailed Description

The following methods break TesseractRect into pieces, so you can get hold of the thresholded image, get the text in different formats, get bounding boxes, confidences etc.

Function Documentation

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 1853 of file baseapi.cpp.

References WERD_RES::BestChoiceToCorrectText(), tesseract::TessBaseAPI::block_list_, tesseract::Classify::EnableLearning, tesseract::TessBaseAPI::GetIntVariable(), tesseract::TessBaseAPI::GetPageSegMode(), tesseract::TessBaseAPI::GetUTF8Text(), tesseract::Classify::LearnWord(), tesseract::TessBaseAPI::page_res_, tesseract::Tesseract::ReSegmentByClassification(), WERD::set_text(), tesseract::TessBaseAPI::SetPageSegMode(), tesseract::Tesseract::SetupApplyBoxes(), tesseract::TessBaseAPI::SetVariable(), tesseract::TessBaseAPI::tesseract_, tesseract::Tesseract::TidyUp(), tprintf, WERD_RES::word, and PAGE_RES_IT::word().

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 1819 of file baseapi.cpp.

References WERD_RES::best_choice, WERD_CHOICE::certainty(), PAGE_RES_IT::forward(), tesseract::TessBaseAPI::page_res_, tesseract::TessBaseAPI::recognition_done_, tesseract::TessBaseAPI::Recognize(), PAGE_RES_IT::restart_page(), tesseract::TessBaseAPI::tesseract_, and PAGE_RES_IT::word().

Referenced by tesseract::TessBaseAPI::MeanTextConf().

PageIterator* tesseract::TessBaseAPI::AnalyseLayout ( )
inline

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 NULL 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 500 of file baseapi.h.

References baseline.

Referenced by tesseract::TessBaseAPI::GetComponentImages(), tesseract::TessBaseAPI::GetTextDirection(), main(), and tesseract::TessBaseAPI::ProcessPage().

PageIterator * tesseract::TessBaseAPI::AnalyseLayout ( bool  merge_similar_words)

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 NULL 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 812 of file baseapi.cpp.

References tesseract::TessBaseAPI::block_list_, tesseract::TessBaseAPI::DetectParagraphs(), tesseract::TessBaseAPI::FindLines(), tesseract::ImageThresholder::GetScaledYResolution(), tesseract::ImageThresholder::GetScaleFactor(), tesseract::TessBaseAPI::page_res_, tesseract::TessBaseAPI::rect_height_, tesseract::TessBaseAPI::rect_left_, tesseract::TessBaseAPI::rect_top_, tesseract::TessBaseAPI::rect_width_, tesseract::TessBaseAPI::tesseract_, and tesseract::TessBaseAPI::thresholder_.

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 1917 of file baseapi.cpp.

References tesseract::ImageThresholder::Clear(), tesseract::TessBaseAPI::ClearResults(), tesseract::TessBaseAPI::SetInputImage(), and tesseract::TessBaseAPI::thresholder_.

void tesseract::TessBaseAPI::ClearPersistentCache ( )
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 1989 of file baseapi.cpp.

References tesseract::DawgCache::DeleteUnusedDawgs(), and tesseract::Dict::GlobalDawgCache().

void tesseract::TessBaseAPI::DeleteBlockList ( BLOCK_LIST *  block_list)
static

Delete a block list. This is to keep BLOCK_LIST pointer opaque and let go of including the other headers.

Definition at line 2342 of file baseapi.cpp.

bool tesseract::TessBaseAPI::DetectOS ( OSResults osr)

Estimates the Orientation And Script of the image.

Returns
true if the image was processed successfully.

Estimates the Orientation And Script of the image. Returns true if the image was processed successfully.

Definition at line 2253 of file baseapi.cpp.

References tesseract::TessBaseAPI::ClearResults(), tesseract::TessBaseAPI::input_file_, tesseract::Tesseract::mutable_pix_binary(), orientation_and_script_detection(), tesseract::Tesseract::pix_binary(), tesseract::TessBaseAPI::tesseract_, and tesseract::TessBaseAPI::Threshold().

Referenced by tesseract::TessBaseAPI::GetOsdText().

void tesseract::TessBaseAPI::DumpPGM ( const char *  filename)

Dump the internal binary image to a PGM file.

Deprecated:
Use GetThresholdedImage and write the image using pixWrite instead if possible.

Dump the internal binary image to a PGM file.

Definition at line 732 of file baseapi.cpp.

References tesseract::Tesseract::pix_binary(), and tesseract::TessBaseAPI::tesseract_.

BLOCK_LIST * tesseract::TessBaseAPI::FindLinesCreateBlockList ( )

Find lines from the image making the BLOCK_LIST.

Definition at line 2330 of file baseapi.cpp.

References tesseract::TessBaseAPI::block_list_, and tesseract::TessBaseAPI::FindLines().

ROW * tesseract::TessBaseAPI::FindRowForBox ( BLOCK_LIST *  blocks,
int  left,
int  top,
int  right,
int  bottom 
)
static

This method returns the row to which a box of specified dimensions would belong. If no good match is found, it returns NULL.

Definition at line 2642 of file baseapi.cpp.

References PDBLK::bounding_box(), ROW::bounding_box(), WERD::bounding_box(), TBOX::major_overlap(), BLOCK::row_list(), and ROW::word_list().

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 2282 of file baseapi.cpp.

References FCOORD::angle(), tesseract::TessBaseAPI::block_list_, PI, tprintf, and FCOORD::y().

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. Returned string must be freed with the delete [] operator. 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.

The recognized text is returned as a char* which is coded as a UTF8 box file and must be freed with the delete [] operator. page_number is a 0-base page index that will appear in the box file.

Definition at line 1609 of file baseapi.cpp.

References tesseract::PageIterator::BoundingBox(), tesseract::TessBaseAPI::GetLTRIterator(), tesseract::LTRResultIterator::GetUTF8Text(), tesseract::TessBaseAPI::image_height_, tesseract::kMaxBytesPerLine, tesseract::kTesseractReject, tesseract::PageIterator::Next(), tesseract::TessBaseAPI::recognition_done_, tesseract::TessBaseAPI::Recognize(), tesseract::RIL_SYMBOL, tesseract::TessBaseAPI::tesseract_, and tesseract::TessBaseAPI::TextLength().

Referenced by tesseract::TessBoxTextRenderer::AddImageHandler().

Boxa * tesseract::TessBaseAPI::GetComponentImages ( const PageIteratorLevel  level,
const bool  text_only,
const bool  raw_image,
const 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 NULL, the block-id of each component is also returned as an array of one element per component. delete [] after use. If blockids is not NULL, 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 NULL, 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 642 of file baseapi.cpp.

References tesseract::TessBaseAPI::AnalyseLayout(), tesseract::PageIterator::Begin(), tesseract::PageIterator::BlockType(), tesseract::PageIterator::BoundingBox(), tesseract::PageIterator::BoundingBoxInternal(), tesseract::PageIterator::GetBinaryImage(), tesseract::PageIterator::GetImage(), tesseract::TessBaseAPI::GetIterator(), tesseract::TessBaseAPI::input_image_, tesseract::PageIterator::IsAtFinalElement(), NewPermanentTessCallback(), tesseract::PageIterator::Next(), PTIsTextType(), tesseract::RIL_BLOCK, tesseract::RIL_PARA, and TessResultCallback< R >::Run().

Referenced by tesseract::TessBaseAPI::GetConnectedComponents(), tesseract::TessBaseAPI::GetRegions(), tesseract::TessBaseAPI::GetStrips(), tesseract::TessBaseAPI::GetTextlines(), and tesseract::TessBaseAPI::GetWords().

Boxa* tesseract::TessBaseAPI::GetComponentImages ( const PageIteratorLevel  level,
const bool  text_only,
Pixa **  pixa,
int **  blockids 
)
inline

Definition at line 464 of file baseapi.h.

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 630 of file baseapi.cpp.

References tesseract::TessBaseAPI::GetComponentImages(), and tesseract::RIL_SYMBOL.

CubeRecoContext * tesseract::TessBaseAPI::GetCubeRecoContext ( ) const

Return a pointer to underlying CubeRecoContext object if present.

Definition at line 2707 of file baseapi.cpp.

References tesseract::Tesseract::GetCubeRecoContext(), and tesseract::TessBaseAPI::tesseract_.

const Dawg * tesseract::TessBaseAPI::GetDawg ( int  i) const

Return the pointer to the i-th dawg loaded into tesseract_ object.

Definition at line 2695 of file baseapi.cpp.

References tesseract::Dict::GetDawg(), tesseract::Classify::getDict(), tesseract::TessBaseAPI::NumDawgs(), and tesseract::TessBaseAPI::tesseract_.

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 2614 of file baseapi.cpp.

References tesseract::Classify::ExtractFeatures(), MAX_NUM_INT_FEATURES, GenericVector< T >::size(), and tesseract::TessBaseAPI::tesseract_.

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.

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.

Definition at line 1428 of file baseapi.cpp.

References STRING::add_str_int(), tesseract::PageIterator::BoundingBox(), tesseract::LTRResultIterator::Confidence(), DIR_LEFT_TO_RIGHT, DIR_RIGHT_TO_LEFT, tesseract::PageIterator::Empty(), tesseract::TessBaseAPI::GetBoolVariable(), tesseract::TessBaseAPI::GetIterator(), tesseract::ResultIterator::GetUTF8Text(), tesseract::HOcrEscape(), tesseract::TessBaseAPI::input_file_, tesseract::ResultIterator::IsAtBeginningOf(), tesseract::ResultIterator::IsAtFinalElement(), STRING::length(), tesseract::ResultIterator::Next(), tesseract::TessBaseAPI::page_res_, tesseract::ResultIterator::ParagraphIsLtr(), tesseract::TessBaseAPI::Recognize(), tesseract::TessBaseAPI::rect_height_, tesseract::TessBaseAPI::rect_left_, tesseract::TessBaseAPI::rect_top_, tesseract::TessBaseAPI::rect_width_, tesseract::RIL_BLOCK, tesseract::RIL_PARA, tesseract::RIL_SYMBOL, tesseract::RIL_TEXTLINE, tesseract::RIL_WORD, tesseract::TessBaseAPI::SetInputName(), STRING::string(), tesseract::TessBaseAPI::tesseract_, tesseract::LTRResultIterator::WordDirection(), tesseract::LTRResultIterator::WordFontAttributes(), and tesseract::LTRResultIterator::WordRecognitionLanguage().

Referenced by tesseract::TessHOcrRenderer::AddImageHandler().

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 1276 of file baseapi.cpp.

References tesseract::ImageThresholder::GetScaledYResolution(), tesseract::ImageThresholder::GetScaleFactor(), tesseract::TessBaseAPI::page_res_, tesseract::TessBaseAPI::rect_height_, tesseract::TessBaseAPI::rect_left_, tesseract::TessBaseAPI::rect_top_, tesseract::TessBaseAPI::rect_width_, tesseract::ResultIterator::StartOfParagraph(), tesseract::TessBaseAPI::tesseract_, and tesseract::TessBaseAPI::thresholder_.

Referenced by tesseract::ClipBaseline(), tesseract::TessBaseAPI::GetComponentImages(), tesseract::TessBaseAPI::GetHOCRText(), and tesseract::TessBaseAPI::GetUTF8Text().

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 1293 of file baseapi.cpp.

References tesseract::ImageThresholder::GetScaledYResolution(), tesseract::ImageThresholder::GetScaleFactor(), tesseract::TessBaseAPI::page_res_, tesseract::TessBaseAPI::rect_height_, tesseract::TessBaseAPI::rect_left_, tesseract::TessBaseAPI::rect_top_, tesseract::TessBaseAPI::rect_width_, tesseract::TessBaseAPI::tesseract_, and tesseract::TessBaseAPI::thresholder_.

Referenced by tesseract::TessBaseAPI::DetectParagraphs().

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 1770 of file baseapi.cpp.

References OSResults::best_result, tesseract::TessBaseAPI::DetectOS(), OSResults::get_best_script(), UNICHARSET::get_script_from_script_id(), OSBestResult::oconfidence, OSBestResult::orientation_id, OrientationIdToValue(), OSBestResult::sconfidence, and OSResults::unicharset.

Referenced by tesseract::TessOsdRenderer::AddImageHandler().

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 585 of file baseapi.cpp.

References tesseract::TessBaseAPI::GetComponentImages(), and tesseract::RIL_BLOCK.

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 NULL, the block-id of each line is also returned as an array of one element per line. delete [] after use.

Definition at line 611 of file baseapi.cpp.

References tesseract::TessBaseAPI::GetComponentImages(), and tesseract::RIL_TEXTLINE.

bool tesseract::TessBaseAPI::GetTextDirection ( int *  out_offset,
float *  out_slope 
)
Boxa * tesseract::TessBaseAPI::GetTextlines ( const bool  raw_image,
const 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 NULL, the block-id of each line is also returned as an array of one element per line. delete [] after use. If paraids is not NULL, 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 NULL, the block-id of each line is also returned as an array of one element per line. delete [] after use. If paraids is not NULL, 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 597 of file baseapi.cpp.

References tesseract::TessBaseAPI::GetComponentImages(), and tesseract::RIL_TEXTLINE.

Boxa* tesseract::TessBaseAPI::GetTextlines ( Pixa **  pixa,
int **  blockids 
)
inline

Definition at line 415 of file baseapi.h.

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 572 of file baseapi.cpp.

References tesseract::Tesseract::mutable_pix_binary(), tesseract::Tesseract::pix_binary(), tesseract::TessBaseAPI::tesseract_, tesseract::TessBaseAPI::Threshold(), and tesseract::TessBaseAPI::thresholder_.

Referenced by tesseract::TessBaseAPI::ProcessPage().

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 724 of file baseapi.cpp.

References tesseract::ImageThresholder::GetScaleFactor(), and tesseract::TessBaseAPI::thresholder_.

const char * tesseract::TessBaseAPI::GetUnichar ( int  unichar_id)

This method returns the string form of the specified unichar.

Definition at line 2690 of file baseapi.cpp.

References UNICHARSET::id_to_unichar(), tesseract::TessBaseAPI::tesseract_, and tesseract::CCUtil::unicharset.

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 620 of file baseapi.cpp.

References tesseract::TessBaseAPI::GetComponentImages(), and tesseract::RIL_WORD.

void tesseract::TessBaseAPI::InitTruthCallback ( TruthCallback cb)
inline

Definition at line 747 of file baseapi.h.

References tesseract::DetectParagraphs(), and TESS_LOCAL.

bool tesseract::TessBaseAPI::IsValidCharacter ( const char *  utf8_character)
int tesseract::TessBaseAPI::IsValidWord ( const char *  word)

Check whether a word is valid according to Tesseract's language model

Returns
0 if the word is invalid, non-zero if valid.
Warning
temporary! This function will be removed from here and placed in a separate API at some future time.

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 1997 of file baseapi.cpp.

References tesseract::Classify::getDict(), tesseract::TessBaseAPI::tesseract_, and tesseract::Dict::valid_word().

TBLOB * tesseract::TessBaseAPI::MakeTBLOB ( Pix *  pix)
static

Returns a TBLOB corresponding to the entire input image.

Creates a TBLOB* from the whole pix.

Definition at line 2364 of file baseapi.cpp.

References BLOCK::blob_list(), extract_edges(), C_BLOB::out_list(), TBLOB::PolygonalCopy(), and TRUE.

Referenced by tesseract::make_tesseract_blob().

ROW * tesseract::TessBaseAPI::MakeTessOCRRow ( float  baseline,
float  xheight,
float  descender,
float  ascender 
)
static

Returns a ROW object created from the input row specification.

Definition at line 2347 of file baseapi.cpp.

Referenced by tesseract::make_tesseract_blob().

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 1807 of file baseapi.cpp.

References tesseract::TessBaseAPI::AllWordConfidences().

void tesseract::TessBaseAPI::NormalizeTBLOB ( TBLOB tblob,
ROW row,
bool  numeric_mode 
)
static

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 2394 of file baseapi.cpp.

References ROW::base_line(), baseline, TBLOB::bounding_box(), kBlnBaselineOffset, kBlnXHeight, TBOX::left(), TBLOB::Normalize(), TBOX::right(), and ROW::x_height().

Referenced by tesseract::make_tesseract_blob().

int tesseract::TessBaseAPI::NumDawgs ( ) const

Return the number of dawgs loaded into tesseract_ object.

Definition at line 2701 of file baseapi.cpp.

References tesseract::Classify::getDict(), tesseract::Dict::NumDawgs(), and tesseract::TessBaseAPI::tesseract_.

Referenced by tesseract::TessBaseAPI::GetDawg().

OcrEngineMode tesseract::TessBaseAPI::oem ( ) const
inline

Definition at line 743 of file baseapi.h.

Referenced by tesseract::TessBaseAPI::Init().

bool tesseract::TessBaseAPI::ProcessPage ( Pix *  pix,
int  page_index,
const char *  filename,
const char *  retry_config,
int  timeout_millisec,
TessResultRenderer renderer 
)
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 NULL, 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 1070 of file baseapi.cpp.

References tesseract::TessBaseAPI::output_file_, tesseract::TessBaseAPI::ProcessPagesInternal(), STRING::string(), tesseract::TessBaseAPI::tesseract_, tprintf, and tesseract::Classify::WriteTRFile().

Referenced by main().

bool tesseract::TessBaseAPI::ProcessPagesInternal ( const char *  filename,
const char *  retry_config,
int  timeout_millisec,
TessResultRenderer renderer 
)
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 830 of file baseapi.cpp.

References tesseract::Tesseract::ApplyBoxes(), tesseract::Tesseract::ApplyBoxTraining(), tesseract::TessBaseAPI::block_list_, tesseract::Tesseract::CorrectClassifyWords(), tesseract::TessBaseAPI::DetectParagraphs(), tesseract::ExtractFontName(), tesseract::TessBaseAPI::FindLines(), tesseract::TessBaseAPI::GetBoolVariable(), tesseract::Classify::getDict(), tesseract::ImageThresholder::GetScaledYResolution(), tesseract::ImageThresholder::GetScaleFactor(), tesseract::Dict::getUnicharset(), tesseract::TessBaseAPI::image_height_, tesseract::Tesseract::init_recog_training(), tesseract::TessBaseAPI::input_file_, tesseract::TessBaseAPI::output_file_, tesseract::TessBaseAPI::page_res_, tesseract::Tesseract::pgeditor_main(), tesseract::Tesseract::pix_grey(), tesseract::Wordrec::prev_word_best_choice_, tesseract::Tesseract::recog_all_words(), tesseract::Tesseract::recog_training_segmented(), tesseract::TessBaseAPI::recognition_done_, tesseract::TessBaseAPI::rect_height_, tesseract::TessBaseAPI::rect_left_, tesseract::TessBaseAPI::rect_top_, tesseract::TessBaseAPI::rect_width_, TessCallback4< A1, A2, A3, A4 >::Run(), tesseract::Tesseract::SetBlackAndWhitelist(), tesseract::TessBaseAPI::tesseract(), tesseract::TessBaseAPI::tesseract_, tesseract::TessBaseAPI::thresholder_, and tesseract::TessBaseAPI::truth_cb_.

Referenced by tesseract::TessBaseAPI::AllWordConfidences(), tesseract::TessBaseAPI::GetBoxText(), tesseract::TessBaseAPI::GetHOCRText(), tesseract::TessBaseAPI::GetUNLVText(), tesseract::TessBaseAPI::GetUTF8Text(), and tesseract::TessBaseAPI::ProcessPage().

int tesseract::TessBaseAPI::RecognizeForChopTest ( ETEXT_DESC monitor)
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 2667 of file baseapi.cpp.

References tesseract::Classify::AdaptiveClassifier(), BLOB_CHOICE::rating(), tesseract::TessBaseAPI::tesseract_, and BLOB_CHOICE::unichar_id().

void tesseract::TessBaseAPI::set_min_orientation_margin ( double  margin)

Definition at line 2264 of file baseapi.cpp.

References tesseract::TessBaseAPI::tesseract_.

void tesseract::TessBaseAPI::SetDictFunc ( DictFunc  f)

Sets Dict::letter_is_okay_ function to point to the given function.

Definition at line 2043 of file baseapi.cpp.

References tesseract::Classify::getDict(), tesseract::Dict::letter_is_okay_, and tesseract::TessBaseAPI::tesseract_.

void tesseract::TessBaseAPI::SetFillLatticeFunc ( FillLatticeFunc  f)

Sets Wordrec::fill_lattice_ function to point to the given function.

Definition at line 2069 of file baseapi.cpp.

References tesseract::Wordrec::fill_lattice_, and tesseract::TessBaseAPI::tesseract_.

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. Does not copy the image buffer, or take ownership. The source image may be destroyed after Recognize is called, either explicitly or implicitly via one of the Get*Text functions. 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 525 of file baseapi.cpp.

References tesseract::TessBaseAPI::InternalSetImage(), tesseract::ImageThresholder::SetImage(), and tesseract::TessBaseAPI::thresholder_.

Referenced by main(), tesseract::TessBaseAPI::ProcessPage(), and tesseract::TessBaseAPI::TesseractRect().

void tesseract::TessBaseAPI::SetImage ( Pix *  pix)

Provide an image for Tesseract to recognize. As with SetImage above, Tesseract doesn't take a copy or ownership or pixDestroy the image, so it must persist until after Recognize. Pix vs raw, which to use? Use Pix where possible. A future version of Tesseract may choose to use Pix as its internal representation and discard IMAGE altogether. Because of that, an implementation that sources and targets Pix may end up with less copies than an implementation that does not.

Definition at line 550 of file baseapi.cpp.

References tesseract::TessBaseAPI::InternalSetImage(), tesseract::ImageThresholder::SetImage(), tesseract::TessBaseAPI::SetInputImage(), and tesseract::TessBaseAPI::thresholder_.

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.

Parameters
fA 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 2057 of file baseapi.cpp.

References tesseract::Tesseract::get_sub_lang(), tesseract::Classify::getDict(), tesseract::Tesseract::num_sub_langs(), tesseract::Dict::probability_in_context_, and tesseract::TessBaseAPI::tesseract_.

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 561 of file baseapi.cpp.

References tesseract::TessBaseAPI::ClearResults(), tesseract::ImageThresholder::SetRectangle(), and tesseract::TessBaseAPI::thresholder_.

Referenced by tesseract::TessBaseAPI::TesseractRect().

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 533 of file baseapi.cpp.

References tesseract::ImageThresholder::SetSourceYResolution(), tesseract::TessBaseAPI::thresholder_, and tprintf.

void tesseract::TessBaseAPI::SetThresholder ( ImageThresholder thresholder)
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.

Definition at line 378 of file baseapi.h.

Tesseract* tesseract::TessBaseAPI::tesseract ( ) const
inline

Definition at line 739 of file baseapi.h.

Referenced by main(), and tesseract::TessBaseAPI::Recognize().