tesseract 3.04.01

api/capi.h

Go to the documentation of this file.
00001 #ifndef TESSERACT_API_CAPI_H__
00002 #define TESSERACT_API_CAPI_H__
00003 
00004 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00005 #   include "baseapi.h"
00006 #   include "pageiterator.h"
00007 #   include "resultiterator.h"
00008 #   include "renderer.h"
00009 #else
00010 #   include "platform.h"
00011 #   include <stdio.h>
00012 #endif
00013 
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017 
00018 #ifndef TESS_CALL
00019 #   if defined(WIN32)
00020 #       define TESS_CALL __cdecl
00021 #   else
00022 #       define TESS_CALL
00023 #   endif
00024 #endif
00025 
00026 #ifndef BOOL
00027 #   define BOOL int
00028 #   define TRUE 1
00029 #   define FALSE 0
00030 #endif
00031 
00032 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00033 typedef tesseract::TessResultRenderer TessResultRenderer;
00034 typedef tesseract::TessTextRenderer TessTextRenderer;
00035 typedef tesseract::TessHOcrRenderer TessHOcrRenderer;
00036 typedef tesseract::TessPDFRenderer TessPDFRenderer;
00037 typedef tesseract::TessUnlvRenderer TessUnlvRenderer;
00038 typedef tesseract::TessBoxTextRenderer TessBoxTextRenderer;
00039 typedef tesseract::TessBaseAPI TessBaseAPI;
00040 typedef tesseract::PageIterator TessPageIterator;
00041 typedef tesseract::ResultIterator TessResultIterator;
00042 typedef tesseract::MutableIterator TessMutableIterator;
00043 typedef tesseract::ChoiceIterator TessChoiceIterator;
00044 typedef tesseract::OcrEngineMode TessOcrEngineMode;
00045 typedef tesseract::PageSegMode TessPageSegMode;
00046 typedef tesseract::ImageThresholder TessImageThresholder;
00047 typedef tesseract::PageIteratorLevel TessPageIteratorLevel;
00048 typedef tesseract::DictFunc TessDictFunc;
00049 typedef tesseract::ProbabilityInContextFunc TessProbabilityInContextFunc;
00050 // typedef tesseract::ParamsModelClassifyFunc TessParamsModelClassifyFunc;
00051 typedef tesseract::FillLatticeFunc TessFillLatticeFunc;
00052 typedef tesseract::Dawg TessDawg;
00053 typedef tesseract::TruthCallback TessTruthCallback;
00054 #ifndef NO_CUBE_BUILD
00055 typedef tesseract::CubeRecoContext TessCubeRecoContext;
00056 #endif  // NO_CUBE_BUILD
00057 typedef tesseract::Orientation TessOrientation;
00058 typedef tesseract::ParagraphJustification TessParagraphJustification;
00059 typedef tesseract::WritingDirection TessWritingDirection;
00060 typedef tesseract::TextlineOrder TessTextlineOrder;
00061 typedef PolyBlockType TessPolyBlockType;
00062 #else
00063 typedef struct TessResultRenderer TessResultRenderer;
00064 typedef struct TessTextRenderer TessTextRenderer;
00065 typedef struct TessHOcrRenderer TessHOcrRenderer;
00066 typedef struct TessPDFRenderer TessPDFRenderer;
00067 typedef struct TessUnlvRenderer TessUnlvRenderer;
00068 typedef struct TessBoxTextRenderer TessBoxTextRenderer;
00069 typedef struct TessBaseAPI TessBaseAPI;
00070 typedef struct TessPageIterator TessPageIterator;
00071 typedef struct TessResultIterator TessResultIterator;
00072 typedef struct TessMutableIterator TessMutableIterator;
00073 typedef struct TessChoiceIterator TessChoiceIterator;
00074 typedef enum TessOcrEngineMode     { OEM_TESSERACT_ONLY, OEM_CUBE_ONLY, OEM_TESSERACT_CUBE_COMBINED, OEM_DEFAULT } TessOcrEngineMode;
00075 typedef enum TessPageSegMode       { PSM_OSD_ONLY, PSM_AUTO_OSD, PSM_AUTO_ONLY, PSM_AUTO, PSM_SINGLE_COLUMN, PSM_SINGLE_BLOCK_VERT_TEXT,
00076                                      PSM_SINGLE_BLOCK, PSM_SINGLE_LINE, PSM_SINGLE_WORD, PSM_CIRCLE_WORD, PSM_SINGLE_CHAR, PSM_SPARSE_TEXT,
00077                                      PSM_SPARSE_TEXT_OSD, PSM_COUNT } TessPageSegMode;
00078 typedef enum TessPageIteratorLevel { RIL_BLOCK, RIL_PARA, RIL_TEXTLINE, RIL_WORD, RIL_SYMBOL} TessPageIteratorLevel;
00079 typedef enum TessPolyBlockType     { PT_UNKNOWN, PT_FLOWING_TEXT, PT_HEADING_TEXT, PT_PULLOUT_TEXT, PT_EQUATION, PT_INLINE_EQUATION,
00080                                      PT_TABLE, PT_VERTICAL_TEXT, PT_CAPTION_TEXT, PT_FLOWING_IMAGE, PT_HEADING_IMAGE,
00081                                      PT_PULLOUT_IMAGE, PT_HORZ_LINE, PT_VERT_LINE, PT_NOISE, PT_COUNT } TessPolyBlockType;
00082 typedef enum TessOrientation       { ORIENTATION_PAGE_UP, ORIENTATION_PAGE_RIGHT, ORIENTATION_PAGE_DOWN, ORIENTATION_PAGE_LEFT } TessOrientation;
00083 typedef enum TessParagraphJustification { JUSTIFICATION_UNKNOWN, JUSTIFICATION_LEFT, JUSTIFICATION_CENTER, JUSTIFICATION_RIGHT } TessParagraphJustification;
00084 typedef enum TessWritingDirection  { WRITING_DIRECTION_LEFT_TO_RIGHT, WRITING_DIRECTION_RIGHT_TO_LEFT, WRITING_DIRECTION_TOP_TO_BOTTOM } TessWritingDirection;
00085 typedef enum TessTextlineOrder     { TEXTLINE_ORDER_LEFT_TO_RIGHT, TEXTLINE_ORDER_RIGHT_TO_LEFT, TEXTLINE_ORDER_TOP_TO_BOTTOM } TessTextlineOrder;
00086 typedef struct ETEXT_DESC ETEXT_DESC;
00087 #endif
00088 
00089 struct Pix;
00090 struct Boxa;
00091 struct Pixa;
00092 
00093 /* General free functions */
00094 
00095 TESS_API const char*
00096                TESS_CALL TessVersion();
00097 TESS_API void  TESS_CALL TessDeleteText(char* text);
00098 TESS_API void  TESS_CALL TessDeleteTextArray(char** arr);
00099 TESS_API void  TESS_CALL TessDeleteIntArray(int* arr);
00100 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00101 TESS_API void  TESS_CALL TessDeleteBlockList(BLOCK_LIST* block_list);
00102 #endif
00103 
00104 /* Renderer API */
00105 TESS_API TessResultRenderer* TESS_CALL TessTextRendererCreate(const char* outputbase);
00106 TESS_API TessResultRenderer* TESS_CALL TessHOcrRendererCreate(const char* outputbase);
00107 TESS_API TessResultRenderer* TESS_CALL TessHOcrRendererCreate2(const char* outputbase, BOOL font_info);
00108 TESS_API TessResultRenderer* TESS_CALL TessPDFRendererCreate(const char* outputbase, const char* datadir);
00109 TESS_API TessResultRenderer* TESS_CALL TessUnlvRendererCreate(const char* outputbase);
00110 TESS_API TessResultRenderer* TESS_CALL TessBoxTextRendererCreate(const char* outputbase);
00111 
00112 TESS_API void TESS_CALL TessDeleteResultRenderer(TessResultRenderer* renderer);
00113 TESS_API void TESS_CALL TessResultRendererInsert(TessResultRenderer* renderer, TessResultRenderer* next);
00114 TESS_API TessResultRenderer*
00115               TESS_CALL TessResultRendererNext(TessResultRenderer* renderer);
00116 TESS_API BOOL TESS_CALL TessResultRendererBeginDocument(TessResultRenderer* renderer, const char* title);
00117 TESS_API BOOL TESS_CALL TessResultRendererAddImage(TessResultRenderer* renderer, TessBaseAPI* api);
00118 TESS_API BOOL TESS_CALL TessResultRendererEndDocument(TessResultRenderer* renderer);
00119 
00120 TESS_API const char* TESS_CALL TessResultRendererExtention(TessResultRenderer* renderer);
00121 TESS_API const char* TESS_CALL TessResultRendererTitle(TessResultRenderer* renderer);
00122 TESS_API int TESS_CALL TessResultRendererImageNum(TessResultRenderer* renderer);
00123 
00124 /* Base API */
00125 
00126 TESS_API TessBaseAPI*
00127                TESS_CALL TessBaseAPICreate();
00128 TESS_API void  TESS_CALL TessBaseAPIDelete(TessBaseAPI* handle);
00129 
00130 TESS_API size_t TESS_CALL TessBaseAPIGetOpenCLDevice(TessBaseAPI* handle, void **device);
00131 
00132 TESS_API void  TESS_CALL TessBaseAPISetInputName( TessBaseAPI* handle, const char* name);
00133 TESS_API const char* TESS_CALL TessBaseAPIGetInputName(TessBaseAPI* handle);
00134 
00135 TESS_API void  TESS_CALL TessBaseAPISetInputImage(TessBaseAPI* handle, struct Pix* pix);
00136 TESS_API struct Pix*  TESS_CALL TessBaseAPIGetInputImage(TessBaseAPI* handle);
00137 
00138 TESS_API int   TESS_CALL TessBaseAPIGetSourceYResolution(TessBaseAPI* handle);
00139 TESS_API const char* TESS_CALL TessBaseAPIGetDatapath(TessBaseAPI* handle);
00140 
00141 TESS_API void  TESS_CALL TessBaseAPISetOutputName(TessBaseAPI* handle, const char* name);
00142 
00143 TESS_API BOOL  TESS_CALL TessBaseAPISetVariable(TessBaseAPI* handle, const char* name, const char* value);
00144 TESS_API BOOL  TESS_CALL TessBaseAPISetDebugVariable(TessBaseAPI* handle, const char* name, const char* value);
00145 
00146 TESS_API BOOL  TESS_CALL TessBaseAPIGetIntVariable(   const TessBaseAPI* handle, const char* name, int* value);
00147 TESS_API BOOL  TESS_CALL TessBaseAPIGetBoolVariable(  const TessBaseAPI* handle, const char* name, BOOL* value);
00148 TESS_API BOOL  TESS_CALL TessBaseAPIGetDoubleVariable(const TessBaseAPI* handle, const char* name, double* value);
00149 TESS_API const char*
00150                TESS_CALL TessBaseAPIGetStringVariable(const TessBaseAPI* handle, const char* name);
00151 
00152 TESS_API void  TESS_CALL TessBaseAPIPrintVariables(      const TessBaseAPI* handle, FILE* fp);
00153 TESS_API BOOL  TESS_CALL TessBaseAPIPrintVariablesToFile(const TessBaseAPI* handle, const char* filename);
00154 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00155 TESS_API BOOL  TESS_CALL TessBaseAPIGetVariableAsString(TessBaseAPI* handle, const char* name, STRING* val);
00156 #endif
00157 
00158 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00159 TESS_API int   TESS_CALL TessBaseAPIInit(TessBaseAPI* handle, const char* datapath, const char* language,
00160                                          TessOcrEngineMode mode, char** configs, int configs_size,
00161                                          const STRING* vars_vec, size_t vars_vec_size,
00162                                          const STRING* vars_values, size_t vars_values_size, BOOL set_only_init_params);
00163 #endif
00164 TESS_API int   TESS_CALL TessBaseAPIInit1(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode oem,
00165                                           char** configs, int configs_size);
00166 TESS_API int   TESS_CALL TessBaseAPIInit2(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode oem);
00167 TESS_API int   TESS_CALL TessBaseAPIInit3(TessBaseAPI* handle, const char* datapath, const char* language);
00168 
00169 TESS_API int TESS_CALL TessBaseAPIInit4(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode mode,
00170     char** configs, int configs_size,
00171     char** vars_vec, char** vars_values, size_t vars_vec_size,
00172     BOOL set_only_non_debug_params);
00173 
00174 TESS_API const char*
00175                TESS_CALL TessBaseAPIGetInitLanguagesAsString(const TessBaseAPI* handle);
00176 TESS_API char**
00177                TESS_CALL TessBaseAPIGetLoadedLanguagesAsVector(const TessBaseAPI* handle);
00178 TESS_API char**
00179                TESS_CALL TessBaseAPIGetAvailableLanguagesAsVector(const TessBaseAPI* handle);
00180 
00181 TESS_API int   TESS_CALL TessBaseAPIInitLangMod(TessBaseAPI* handle, const char* datapath, const char* language);
00182 TESS_API void  TESS_CALL TessBaseAPIInitForAnalysePage(TessBaseAPI* handle);
00183 
00184 TESS_API void  TESS_CALL TessBaseAPIReadConfigFile(TessBaseAPI* handle, const char* filename);
00185 TESS_API void  TESS_CALL TessBaseAPIReadDebugConfigFile(TessBaseAPI* handle, const char* filename);
00186 
00187 TESS_API void  TESS_CALL TessBaseAPISetPageSegMode(TessBaseAPI* handle, TessPageSegMode mode);
00188 TESS_API TessPageSegMode
00189                TESS_CALL TessBaseAPIGetPageSegMode(const TessBaseAPI* handle);
00190 
00191 TESS_API char* TESS_CALL TessBaseAPIRect(TessBaseAPI* handle, const unsigned char* imagedata,
00192                                          int bytes_per_pixel, int bytes_per_line,
00193                                          int left, int top, int width, int height);
00194 
00195 TESS_API void  TESS_CALL TessBaseAPIClearAdaptiveClassifier(TessBaseAPI* handle);
00196 
00197 TESS_API void  TESS_CALL TessBaseAPISetImage(TessBaseAPI* handle, const unsigned char* imagedata, int width, int height,
00198                                              int bytes_per_pixel, int bytes_per_line);
00199 TESS_API void  TESS_CALL TessBaseAPISetImage2(TessBaseAPI* handle, struct Pix* pix);
00200 
00201 TESS_API void TESS_CALL TessBaseAPISetSourceResolution(TessBaseAPI* handle, int ppi);
00202 
00203 TESS_API void  TESS_CALL TessBaseAPISetRectangle(TessBaseAPI* handle, int left, int top, int width, int height);
00204 
00205 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00206 TESS_API void  TESS_CALL TessBaseAPISetThresholder(TessBaseAPI* handle, TessImageThresholder* thresholder);
00207 #endif
00208 
00209 TESS_API struct Pix*
00210                TESS_CALL TessBaseAPIGetThresholdedImage(   TessBaseAPI* handle);
00211 TESS_API struct Boxa*
00212                TESS_CALL TessBaseAPIGetRegions(            TessBaseAPI* handle, struct Pixa** pixa);
00213 TESS_API struct Boxa*
00214                TESS_CALL TessBaseAPIGetTextlines(          TessBaseAPI* handle, struct Pixa** pixa, int** blockids);
00215 TESS_API struct Boxa*
00216                TESS_CALL TessBaseAPIGetTextlines1(         TessBaseAPI* handle, const BOOL raw_image, const int raw_padding,
00217                                                                                 struct Pixa** pixa, int** blockids, int** paraids);
00218 TESS_API struct Boxa*
00219                TESS_CALL TessBaseAPIGetStrips(             TessBaseAPI* handle, struct Pixa** pixa, int** blockids);
00220 TESS_API struct Boxa*
00221                TESS_CALL TessBaseAPIGetWords(              TessBaseAPI* handle, struct Pixa** pixa);
00222 TESS_API struct Boxa*
00223                TESS_CALL TessBaseAPIGetConnectedComponents(TessBaseAPI* handle, struct Pixa** cc);
00224 TESS_API struct Boxa*
00225                TESS_CALL TessBaseAPIGetComponentImages(    TessBaseAPI* handle, const TessPageIteratorLevel level, const BOOL text_only,
00226                                                            struct Pixa** pixa, int** blockids);
00227 TESS_API struct Boxa*
00228                TESS_CALL TessBaseAPIGetComponentImages1(   TessBaseAPI* handle, const TessPageIteratorLevel level, const BOOL text_only,
00229                                                            const BOOL raw_image, const int raw_padding,
00230                                                            struct Pixa** pixa, int** blockids, int** paraids);
00231 
00232 TESS_API int   TESS_CALL TessBaseAPIGetThresholdedImageScaleFactor(const TessBaseAPI* handle);
00233 
00234 TESS_API void  TESS_CALL TessBaseAPIDumpPGM(TessBaseAPI* handle, const char* filename);
00235 
00236 TESS_API TessPageIterator*
00237                TESS_CALL TessBaseAPIAnalyseLayout(TessBaseAPI* handle);
00238 
00239 TESS_API int   TESS_CALL TessBaseAPIRecognize(TessBaseAPI* handle, ETEXT_DESC* monitor);
00240 TESS_API int   TESS_CALL TessBaseAPIRecognizeForChopTest(TessBaseAPI* handle, ETEXT_DESC* monitor);
00241 TESS_API BOOL  TESS_CALL TessBaseAPIProcessPages(TessBaseAPI* handle,  const char* filename, const char* retry_config,
00242                                                  int timeout_millisec, TessResultRenderer* renderer);
00243 TESS_API BOOL  TESS_CALL TessBaseAPIProcessPage(TessBaseAPI* handle, struct Pix* pix, int page_index, const char* filename,
00244                                                const char* retry_config, int timeout_millisec, TessResultRenderer* renderer);
00245 
00246 TESS_API TessResultIterator*
00247                TESS_CALL TessBaseAPIGetIterator(TessBaseAPI* handle);
00248 TESS_API TessMutableIterator*
00249                TESS_CALL TessBaseAPIGetMutableIterator(TessBaseAPI* handle);
00250 
00251 TESS_API char* TESS_CALL TessBaseAPIGetUTF8Text(TessBaseAPI* handle);
00252 TESS_API char* TESS_CALL TessBaseAPIGetHOCRText(TessBaseAPI* handle, int page_number);
00253 TESS_API char* TESS_CALL TessBaseAPIGetBoxText(TessBaseAPI* handle, int page_number);
00254 TESS_API char* TESS_CALL TessBaseAPIGetUNLVText(TessBaseAPI* handle);
00255 TESS_API int   TESS_CALL TessBaseAPIMeanTextConf(TessBaseAPI* handle);
00256 TESS_API int*  TESS_CALL TessBaseAPIAllWordConfidences(TessBaseAPI* handle);
00257 TESS_API BOOL  TESS_CALL TessBaseAPIAdaptToWordStr(TessBaseAPI* handle, TessPageSegMode mode, const char* wordstr);
00258 
00259 TESS_API void  TESS_CALL TessBaseAPIClear(TessBaseAPI* handle);
00260 TESS_API void  TESS_CALL TessBaseAPIEnd(TessBaseAPI* handle);
00261 
00262 TESS_API int   TESS_CALL TessBaseAPIIsValidWord(TessBaseAPI* handle, const char* word);
00263 TESS_API BOOL  TESS_CALL TessBaseAPIGetTextDirection(TessBaseAPI* handle, int* out_offset, float* out_slope);
00264 
00265 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00266 TESS_API void  TESS_CALL TessBaseAPISetDictFunc(TessBaseAPI* handle, TessDictFunc f);
00267 TESS_API void  TESS_CALL TessBaseAPIClearPersistentCache(TessBaseAPI* handle);
00268 TESS_API void  TESS_CALL TessBaseAPISetProbabilityInContextFunc(TessBaseAPI* handle, TessProbabilityInContextFunc f);
00269 
00270 TESS_API void  TESS_CALL TessBaseAPISetFillLatticeFunc(TessBaseAPI* handle, TessFillLatticeFunc f);
00271 TESS_API BOOL  TESS_CALL TessBaseAPIDetectOS(TessBaseAPI* handle, OSResults* results);
00272 
00273 TESS_API void  TESS_CALL TessBaseAPIGetFeaturesForBlob(TessBaseAPI* handle, TBLOB* blob, INT_FEATURE_STRUCT* int_features,
00274                                                        int* num_features, int* FeatureOutlineIndex);
00275 
00276 TESS_API ROW*  TESS_CALL TessFindRowForBox(BLOCK_LIST* blocks, int left, int top, int right, int bottom);
00277 TESS_API void  TESS_CALL TessBaseAPIRunAdaptiveClassifier(TessBaseAPI* handle, TBLOB* blob, int num_max_matches,
00278                                                           int* unichar_ids, float* ratings, int* num_matches_returned);
00279 #endif
00280 
00281 TESS_API const char*
00282                TESS_CALL TessBaseAPIGetUnichar(TessBaseAPI* handle, int unichar_id);
00283 
00284 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00285 TESS_API const TessDawg*
00286                TESS_CALL TessBaseAPIGetDawg(const TessBaseAPI* handle, int i);
00287 TESS_API int   TESS_CALL TessBaseAPINumDawgs(const TessBaseAPI* handle);
00288 #endif
00289 
00290 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00291 TESS_API ROW*  TESS_CALL TessMakeTessOCRRow(float baseline, float xheight, float descender, float ascender);
00292 TESS_API TBLOB*
00293                TESS_CALL TessMakeTBLOB(Pix* pix);
00294 TESS_API void  TESS_CALL TessNormalizeTBLOB(TBLOB* tblob, ROW* row, BOOL numeric_mode);
00295 
00296 TESS_API TessOcrEngineMode
00297                TESS_CALL TessBaseAPIOem(const TessBaseAPI* handle);
00298 TESS_API void  TESS_CALL TessBaseAPIInitTruthCallback(TessBaseAPI* handle, TessTruthCallback* cb);
00299 
00300 #ifndef NO_CUBE_BUILD
00301 TESS_API TessCubeRecoContext*
00302                TESS_CALL TessBaseAPIGetCubeRecoContext(const TessBaseAPI* handle);
00303 #endif  // NO_CUBE_BUILD
00304 #endif
00305 
00306 TESS_API void  TESS_CALL TessBaseAPISetMinOrientationMargin(TessBaseAPI* handle, double margin);
00307 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00308 TESS_API void  TESS_CALL TessBaseGetBlockTextOrientations(TessBaseAPI* handle, int** block_orientation, BOOL** vertical_writing);
00309 
00310 TESS_API BLOCK_LIST*
00311                TESS_CALL TessBaseAPIFindLinesCreateBlockList(TessBaseAPI* handle);
00312 #endif
00313 
00314 /* Page iterator */
00315 
00316 TESS_API void  TESS_CALL TessPageIteratorDelete(TessPageIterator* handle);
00317 TESS_API TessPageIterator*
00318                TESS_CALL TessPageIteratorCopy(const TessPageIterator* handle);
00319 
00320 TESS_API void  TESS_CALL TessPageIteratorBegin(TessPageIterator* handle);
00321 TESS_API BOOL  TESS_CALL TessPageIteratorNext(TessPageIterator* handle, TessPageIteratorLevel level);
00322 TESS_API BOOL  TESS_CALL TessPageIteratorIsAtBeginningOf(const TessPageIterator* handle, TessPageIteratorLevel level);
00323 TESS_API BOOL  TESS_CALL TessPageIteratorIsAtFinalElement(const TessPageIterator* handle, TessPageIteratorLevel level,
00324                                                           TessPageIteratorLevel element);
00325 
00326 TESS_API BOOL  TESS_CALL TessPageIteratorBoundingBox(const TessPageIterator* handle, TessPageIteratorLevel level,
00327                                                      int* left, int* top, int* right, int* bottom);
00328 TESS_API TessPolyBlockType
00329                TESS_CALL TessPageIteratorBlockType(const TessPageIterator* handle);
00330 
00331 TESS_API struct Pix*
00332                TESS_CALL TessPageIteratorGetBinaryImage(const TessPageIterator* handle, TessPageIteratorLevel level);
00333 TESS_API struct Pix*
00334                TESS_CALL TessPageIteratorGetImage(const TessPageIterator* handle, TessPageIteratorLevel level, int padding,
00335                                                   struct Pix* original_image, int* left, int* top);
00336 
00337 TESS_API BOOL  TESS_CALL TessPageIteratorBaseline(const TessPageIterator* handle, TessPageIteratorLevel level,
00338                                                   int* x1, int* y1, int* x2, int* y2);
00339 
00340 TESS_API void  TESS_CALL TessPageIteratorOrientation(TessPageIterator* handle, TessOrientation* orientation,
00341                                                      TessWritingDirection* writing_direction, TessTextlineOrder* textline_order,
00342                                                      float* deskew_angle);
00343 
00344 TESS_API void  TESS_CALL TessPageIteratorParagraphInfo(TessPageIterator* handle, TessParagraphJustification* justification,
00345                                                        BOOL *is_list_item, BOOL *is_crown, int *first_line_indent);
00346 
00347 /* Result iterator */
00348 
00349 TESS_API void  TESS_CALL TessResultIteratorDelete(TessResultIterator* handle);
00350 TESS_API TessResultIterator*
00351                TESS_CALL TessResultIteratorCopy(const TessResultIterator* handle);
00352 TESS_API TessPageIterator*
00353                TESS_CALL TessResultIteratorGetPageIterator(TessResultIterator* handle);
00354 TESS_API const TessPageIterator*
00355                TESS_CALL TessResultIteratorGetPageIteratorConst(const TessResultIterator* handle);
00356 TESS_API TessChoiceIterator*
00357                TESS_CALL TessResultIteratorGetChoiceIterator(const TessResultIterator* handle);
00358 
00359 TESS_API BOOL  TESS_CALL TessResultIteratorNext(TessResultIterator* handle, TessPageIteratorLevel level);
00360 TESS_API char* TESS_CALL TessResultIteratorGetUTF8Text(const TessResultIterator* handle, TessPageIteratorLevel level);
00361 TESS_API float TESS_CALL TessResultIteratorConfidence(const TessResultIterator* handle, TessPageIteratorLevel level);
00362 TESS_API const char*
00363                TESS_CALL TessResultIteratorWordRecognitionLanguage(const TessResultIterator* handle);
00364 TESS_API const char*
00365                TESS_CALL TessResultIteratorWordFontAttributes(const TessResultIterator* handle, BOOL* is_bold, BOOL* is_italic,
00366                                                               BOOL* is_underlined, BOOL* is_monospace, BOOL* is_serif,
00367                                                               BOOL* is_smallcaps, int* pointsize, int* font_id);
00368 
00369 TESS_API BOOL  TESS_CALL TessResultIteratorWordIsFromDictionary(const TessResultIterator* handle);
00370 TESS_API BOOL  TESS_CALL TessResultIteratorWordIsNumeric(const TessResultIterator* handle);
00371 TESS_API BOOL  TESS_CALL TessResultIteratorSymbolIsSuperscript(const TessResultIterator* handle);
00372 TESS_API BOOL  TESS_CALL TessResultIteratorSymbolIsSubscript(const TessResultIterator* handle);
00373 TESS_API BOOL  TESS_CALL TessResultIteratorSymbolIsDropcap(const TessResultIterator* handle);
00374 
00375 TESS_API void  TESS_CALL TessChoiceIteratorDelete(TessChoiceIterator* handle);
00376 TESS_API BOOL  TESS_CALL TessChoiceIteratorNext(TessChoiceIterator* handle);
00377 TESS_API const char* TESS_CALL TessChoiceIteratorGetUTF8Text(const TessChoiceIterator* handle);
00378 TESS_API float TESS_CALL TessChoiceIteratorConfidence(const TessChoiceIterator* handle);
00379 
00380 #ifdef __cplusplus
00381 }
00382 #endif
00383 
00384 #endif /* TESSERACT_API_CAPI_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines