tesseract  3.03
/usr/local/google/home/jbreiden/tesseract-ocr-read-only/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::OcrEngineMode TessOcrEngineMode;
00044 typedef tesseract::PageSegMode TessPageSegMode;
00045 typedef tesseract::ImageThresholder TessImageThresholder;
00046 typedef tesseract::PageIteratorLevel TessPageIteratorLevel;
00047 typedef tesseract::DictFunc TessDictFunc;
00048 typedef tesseract::ProbabilityInContextFunc TessProbabilityInContextFunc;
00049 // typedef tesseract::ParamsModelClassifyFunc TessParamsModelClassifyFunc;
00050 typedef tesseract::FillLatticeFunc TessFillLatticeFunc;
00051 typedef tesseract::Dawg TessDawg;
00052 typedef tesseract::TruthCallback TessTruthCallback;
00053 typedef tesseract::CubeRecoContext TessCubeRecoContext;
00054 typedef tesseract::Orientation TessOrientation;
00055 typedef tesseract::WritingDirection TessWritingDirection;
00056 typedef tesseract::TextlineOrder TessTextlineOrder;
00057 typedef PolyBlockType TessPolyBlockType;
00058 #else
00059 typedef struct TessResultRenderer TessResultRenderer;
00060 typedef struct TessTextRenderer TessTextRenderer;
00061 typedef struct TessHOcrRenderer TessHOcrRenderer;
00062 typedef struct TessPDFRenderer TessPDFRenderer;
00063 typedef struct TessUnlvRenderer TessUnlvRenderer;
00064 typedef struct TessBoxTextRenderer TessBoxTextRenderer;
00065 typedef struct TessBaseAPI TessBaseAPI;
00066 typedef struct TessPageIterator TessPageIterator;
00067 typedef struct TessResultIterator TessResultIterator;
00068 typedef struct TessMutableIterator TessMutableIterator;
00069 typedef enum TessOcrEngineMode     { OEM_TESSERACT_ONLY, OEM_CUBE_ONLY, OEM_TESSERACT_CUBE_COMBINED, OEM_DEFAULT } TessOcrEngineMode;
00070 typedef enum TessPageSegMode       { PSM_OSD_ONLY, PSM_AUTO_OSD, PSM_AUTO_ONLY, PSM_AUTO, PSM_SINGLE_COLUMN, PSM_SINGLE_BLOCK_VERT_TEXT,
00071                                      PSM_SINGLE_BLOCK, PSM_SINGLE_LINE, PSM_SINGLE_WORD, PSM_CIRCLE_WORD, PSM_SINGLE_CHAR, PSM_SPARSE_TEXT,
00072                                      PSM_SPARSE_TEXT_OSD, PSM_COUNT } TessPageSegMode;
00073 typedef enum TessPageIteratorLevel { RIL_BLOCK, RIL_PARA, RIL_TEXTLINE, RIL_WORD, RIL_SYMBOL} TessPageIteratorLevel;
00074 typedef enum TessPolyBlockType     { PT_UNKNOWN, PT_FLOWING_TEXT, PT_HEADING_TEXT, PT_PULLOUT_TEXT, PT_TABLE, PT_VERTICAL_TEXT,
00075                                      PT_CAPTION_TEXT, PT_FLOWING_IMAGE, PT_HEADING_IMAGE, PT_PULLOUT_IMAGE, PT_HORZ_LINE, PT_VERT_LINE,
00076                                      PT_NOISE, PT_COUNT } TessPolyBlockType;
00077 typedef enum TessOrientation       { ORIENTATION_PAGE_UP, ORIENTATION_PAGE_RIGHT, ORIENTATION_PAGE_DOWN, ORIENTATION_PAGE_LEFT } TessOrientation;
00078 typedef enum TessWritingDirection  { WRITING_DIRECTION_LEFT_TO_RIGHT, WRITING_DIRECTION_RIGHT_TO_LEFT, WRITING_DIRECTION_TOP_TO_BOTTOM } TessWritingDirection;
00079 typedef enum TessTextlineOrder     { TEXTLINE_ORDER_LEFT_TO_RIGHT, TEXTLINE_ORDER_RIGHT_TO_LEFT, TEXTLINE_ORDER_TOP_TO_BOTTOM } TessTextlineOrder;
00080 typedef struct ETEXT_DESC ETEXT_DESC;
00081 #endif
00082 
00083 struct Pix;
00084 struct Boxa;
00085 struct Pixa;
00086 
00087 /* General free functions */
00088 
00089 TESS_API const char*
00090                TESS_CALL TessVersion();
00091 TESS_API void  TESS_CALL TessDeleteText(char* text);
00092 TESS_API void  TESS_CALL TessDeleteTextArray(char** arr);
00093 TESS_API void  TESS_CALL TessDeleteIntArray(int* arr);
00094 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00095 TESS_API void  TESS_CALL TessDeleteBlockList(BLOCK_LIST* block_list);
00096 #endif
00097 
00098 /* Renderer API */
00099 TESS_API TessResultRenderer* TESS_CALL TessTextRendererCreate();
00100 TESS_API TessResultRenderer* TESS_CALL TessHOcrRendererCreate();
00101 TESS_API TessResultRenderer* TESS_CALL TessPDFRendererCreate(const char* datadir);
00102 TESS_API TessResultRenderer* TESS_CALL TessUnlvRendererCreate();
00103 TESS_API TessResultRenderer* TESS_CALL TessBoxTextRendererCreate();
00104 
00105 TESS_API void TESS_CALL TessDeleteResultRenderer(TessResultRenderer* renderer);
00106 TESS_API void TESS_CALL TessResultRendererInsert(TessResultRenderer* renderer, TessResultRenderer* next);
00107 TESS_API TessResultRenderer*
00108               TESS_CALL TessResultRendererNext(TessResultRenderer* renderer);
00109 TESS_API BOOL TESS_CALL TessResultRendererBeginDocument(TessResultRenderer* renderer, const char* title);
00110 TESS_API BOOL TESS_CALL TessResultRendererAddImage(TessResultRenderer* renderer, TessBaseAPI* api);
00111 TESS_API BOOL TESS_CALL TessResultRendererAddError(TessResultRenderer* renderer, TessBaseAPI* api);
00112 TESS_API BOOL TESS_CALL TessResultRendererEndDocument(TessResultRenderer* renderer);
00113 TESS_API BOOL TESS_CALL TessResultRendererGetOutput(TessResultRenderer* renderer, const char** data, int* data_len);
00114 
00115 TESS_API const char* TESS_CALL TessResultRendererTypename(TessResultRenderer* renderer);
00116 TESS_API const char* TESS_CALL TessResultRendererExtention(TessResultRenderer* renderer);
00117 TESS_API const char* TESS_CALL TessResultRendererTitle(TessResultRenderer* renderer);
00118 TESS_API int TESS_CALL TessResultRendererImageNum(TessResultRenderer* renderer);
00119 
00120 /* Base API */
00121 
00122 TESS_API TessBaseAPI*
00123                TESS_CALL TessBaseAPICreate();
00124 TESS_API void  TESS_CALL TessBaseAPIDelete(TessBaseAPI* handle);
00125 
00126 TESS_API size_t TESS_CALL TessBaseAPIGetOpenCLDevice(TessBaseAPI* handle, void **device);
00127 
00128 TESS_API void  TESS_CALL TessBaseAPISetInputName( TessBaseAPI* handle, const char* name);
00129 TESS_API const char* TESS_CALL TessBaseAPIGetInputName(TessBaseAPI* handle);
00130 
00131 TESS_API void  TESS_CALL TessBaseAPISetInputImage(TessBaseAPI* handle, struct Pix* pix);
00132 TESS_API struct Pix*  TESS_CALL TessBaseAPIGetInputImage(TessBaseAPI* handle);
00133 
00134 TESS_API int   TESS_CALL TessBaseAPIGetSourceYResolution(TessBaseAPI* handle);
00135 TESS_API const char* TESS_CALL TessBaseAPIGetDatapath(TessBaseAPI* handle);
00136 
00137 TESS_API void  TESS_CALL TessBaseAPISetOutputName(TessBaseAPI* handle, const char* name);
00138 
00139 TESS_API BOOL  TESS_CALL TessBaseAPISetVariable(TessBaseAPI* handle, const char* name, const char* value);
00140 TESS_API BOOL  TESS_CALL TessBaseAPISetDebugVariable(TessBaseAPI* handle, const char* name, const char* value);
00141 
00142 TESS_API BOOL  TESS_CALL TessBaseAPIGetIntVariable(   const TessBaseAPI* handle, const char* name, int* value);
00143 TESS_API BOOL  TESS_CALL TessBaseAPIGetBoolVariable(  const TessBaseAPI* handle, const char* name, BOOL* value);
00144 TESS_API BOOL  TESS_CALL TessBaseAPIGetDoubleVariable(const TessBaseAPI* handle, const char* name, double* value);
00145 TESS_API const char*
00146                TESS_CALL TessBaseAPIGetStringVariable(const TessBaseAPI* handle, const char* name);
00147 
00148 TESS_API void  TESS_CALL TessBaseAPIPrintVariables(      const TessBaseAPI* handle, FILE* fp);
00149 TESS_API BOOL  TESS_CALL TessBaseAPIPrintVariablesToFile(const TessBaseAPI* handle, const char* filename);
00150 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00151 TESS_API BOOL  TESS_CALL TessBaseAPIGetVariableAsString(TessBaseAPI* handle, const char* name, STRING* val);
00152 #endif
00153 
00154 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00155 TESS_API int   TESS_CALL TessBaseAPIInit(TessBaseAPI* handle, const char* datapath, const char* language,
00156                                          TessOcrEngineMode mode, char** configs, int configs_size,
00157                                          const STRING* vars_vec, size_t vars_vec_size,
00158                                          const STRING* vars_values, size_t vars_values_size, BOOL set_only_init_params);
00159 #endif
00160 TESS_API int   TESS_CALL TessBaseAPIInit1(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode oem,
00161                                           char** configs, int configs_size);
00162 TESS_API int   TESS_CALL TessBaseAPIInit2(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode oem);
00163 TESS_API int   TESS_CALL TessBaseAPIInit3(TessBaseAPI* handle, const char* datapath, const char* language);
00164 
00165 TESS_API int TESS_CALL TessBaseAPIInit4(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode mode, 
00166     char** configs, int configs_size,
00167     char** vars_vec, char** vars_values, size_t vars_vec_size,
00168     BOOL set_only_non_debug_params);
00169 
00170 TESS_API const char*
00171                TESS_CALL TessBaseAPIGetInitLanguagesAsString(const TessBaseAPI* handle);
00172 TESS_API char**
00173                TESS_CALL TessBaseAPIGetLoadedLanguagesAsVector(const TessBaseAPI* handle);
00174 TESS_API char**
00175                TESS_CALL TessBaseAPIGetAvailableLanguagesAsVector(const TessBaseAPI* handle);
00176 
00177 TESS_API int   TESS_CALL TessBaseAPIInitLangMod(TessBaseAPI* handle, const char* datapath, const char* language);
00178 TESS_API void  TESS_CALL TessBaseAPIInitForAnalysePage(TessBaseAPI* handle);
00179 
00180 TESS_API void  TESS_CALL TessBaseAPIReadConfigFile(TessBaseAPI* handle, const char* filename);
00181 TESS_API void  TESS_CALL TessBaseAPIReadDebugConfigFile(TessBaseAPI* handle, const char* filename);
00182 
00183 TESS_API void  TESS_CALL TessBaseAPISetPageSegMode(TessBaseAPI* handle, TessPageSegMode mode);
00184 TESS_API TessPageSegMode
00185                TESS_CALL TessBaseAPIGetPageSegMode(const TessBaseAPI* handle);
00186 
00187 TESS_API char* TESS_CALL TessBaseAPIRect(TessBaseAPI* handle, const unsigned char* imagedata,
00188                                          int bytes_per_pixel, int bytes_per_line,
00189                                          int left, int top, int width, int height);
00190 
00191 TESS_API void  TESS_CALL TessBaseAPIClearAdaptiveClassifier(TessBaseAPI* handle);
00192 
00193 TESS_API void  TESS_CALL TessBaseAPISetImage(TessBaseAPI* handle, const unsigned char* imagedata, int width, int height,
00194                                              int bytes_per_pixel, int bytes_per_line);
00195 TESS_API void  TESS_CALL TessBaseAPISetImage2(TessBaseAPI* handle, const struct Pix* pix);
00196 
00197 TESS_API void TESS_CALL TessBaseAPISetSourceResolution(TessBaseAPI* handle, int ppi);
00198 
00199 TESS_API void  TESS_CALL TessBaseAPISetRectangle(TessBaseAPI* handle, int left, int top, int width, int height);
00200 
00201 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00202 TESS_API void  TESS_CALL TessBaseAPISetThresholder(TessBaseAPI* handle, TessImageThresholder* thresholder);
00203 #endif
00204 
00205 TESS_API struct Pix*
00206                TESS_CALL TessBaseAPIGetThresholdedImage(   TessBaseAPI* handle);
00207 TESS_API struct Boxa*
00208                TESS_CALL TessBaseAPIGetRegions(            TessBaseAPI* handle, struct Pixa** pixa);
00209 TESS_API struct Boxa*
00210                TESS_CALL TessBaseAPIGetTextlines(          TessBaseAPI* handle, struct Pixa** pixa, int** blockids);
00211 TESS_API struct Boxa*
00212                TESS_CALL TessBaseAPIGetTextlines1(         TessBaseAPI* handle, const BOOL raw_image, const int raw_padding,
00213                                                                                 struct Pixa** pixa, int** blockids, int** paraids);
00214 TESS_API struct Boxa*
00215                TESS_CALL TessBaseAPIGetStrips(             TessBaseAPI* handle, struct Pixa** pixa, int** blockids);
00216 TESS_API struct Boxa*
00217                TESS_CALL TessBaseAPIGetWords(              TessBaseAPI* handle, struct Pixa** pixa);
00218 TESS_API struct Boxa*
00219                TESS_CALL TessBaseAPIGetConnectedComponents(TessBaseAPI* handle, struct Pixa** cc);
00220 TESS_API struct Boxa*
00221                TESS_CALL TessBaseAPIGetComponentImages(    TessBaseAPI* handle, const TessPageIteratorLevel level, const BOOL text_only,
00222                                                            struct Pixa** pixa, int** blockids);
00223 TESS_API struct Boxa*
00224                TESS_CALL TessBaseAPIGetComponentImages1(   TessBaseAPI* handle, const TessPageIteratorLevel level, const BOOL text_only,
00225                                                            const BOOL raw_image, const int raw_padding,
00226                                                            struct Pixa** pixa, int** blockids, int** paraids);
00227 
00228 TESS_API int   TESS_CALL TessBaseAPIGetThresholdedImageScaleFactor(const TessBaseAPI* handle);
00229 
00230 TESS_API void  TESS_CALL TessBaseAPIDumpPGM(TessBaseAPI* handle, const char* filename);
00231 
00232 TESS_API TessPageIterator*
00233                TESS_CALL TessBaseAPIAnalyseLayout(TessBaseAPI* handle);
00234 
00235 TESS_API int   TESS_CALL TessBaseAPIRecognize(TessBaseAPI* handle, ETEXT_DESC* monitor);
00236 TESS_API int   TESS_CALL TessBaseAPIRecognizeForChopTest(TessBaseAPI* handle, ETEXT_DESC* monitor);
00237 TESS_API char* TESS_CALL TessBaseAPIProcessPages(TessBaseAPI* handle, const char* filename, const char* retry_config,
00238                                                  int timeout_millisec);
00239 TESS_API BOOL TessBaseAPIProcessPages1(TessBaseAPI* handle,  const char* filename, const char* retry_config,
00240                                                  int timeout_millisec, TessResultRenderer* renderer);
00241 TESS_API char* TESS_CALL TessBaseAPIProcessPage(TessBaseAPI* handle, struct Pix* pix, int page_index, const char* filename,
00242                                                 const char* retry_config, int timeout_millisec);
00243 TESS_API BOOL TessBaseAPIProcessPage1(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 TessBaseAPISetParamsModelClassifyFunc(TessBaseAPI* handle, TessParamsModelClassifyFunc f);
00271 TESS_API const char* TESS_CALL TessBaseAPIGetLastInitLanguage(const TessBaseAPI* handle);
00272 */
00273 TESS_API void  TESS_CALL TessBaseAPISetFillLatticeFunc(TessBaseAPI* handle, TessFillLatticeFunc f);
00274 TESS_API BOOL  TESS_CALL TessBaseAPIDetectOS(TessBaseAPI* handle, OSResults* results);
00275 
00276 TESS_API void  TESS_CALL TessBaseAPIGetFeaturesForBlob(TessBaseAPI* handle, TBLOB* blob, INT_FEATURE_STRUCT* int_features,
00277                                                        int* num_features, int* FeatureOutlineIndex);
00278 
00279 TESS_API ROW*  TESS_CALL TessFindRowForBox(BLOCK_LIST* blocks, int left, int top, int right, int bottom);
00280 TESS_API void  TESS_CALL TessBaseAPIRunAdaptiveClassifier(TessBaseAPI* handle, TBLOB* blob, int num_max_matches,
00281                                                           int* unichar_ids, float* ratings, int* num_matches_returned);
00282 #endif
00283 
00284 TESS_API const char*
00285                TESS_CALL TessBaseAPIGetUnichar(TessBaseAPI* handle, int unichar_id);
00286 
00287 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00288 TESS_API const TessDawg*
00289                TESS_CALL TessBaseAPIGetDawg(const TessBaseAPI* handle, int i);
00290 TESS_API int   TESS_CALL TessBaseAPINumDawgs(const TessBaseAPI* handle);
00291 #endif
00292 
00293 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00294 TESS_API ROW*  TESS_CALL TessMakeTessOCRRow(float baseline, float xheight, float descender, float ascender);
00295 TESS_API TBLOB*
00296                TESS_CALL TessMakeTBLOB(Pix* pix);
00297 TESS_API void  TESS_CALL TessNormalizeTBLOB(TBLOB* tblob, ROW* row, BOOL numeric_mode);
00298 
00299 TESS_API TessOcrEngineMode
00300                TESS_CALL TessBaseAPIOem(const TessBaseAPI* handle);
00301 TESS_API void  TESS_CALL TessBaseAPIInitTruthCallback(TessBaseAPI* handle, TessTruthCallback* cb);
00302 
00303 TESS_API TessCubeRecoContext*
00304                TESS_CALL TessBaseAPIGetCubeRecoContext(const TessBaseAPI* handle);
00305 #endif
00306 
00307 TESS_API void  TESS_CALL TessBaseAPISetMinOrientationMargin(TessBaseAPI* handle, double margin);
00308 #ifdef TESS_CAPI_INCLUDE_BASEAPI
00309 TESS_API void  TESS_CALL TessBaseGetBlockTextOrientations(TessBaseAPI* handle, int** block_orientation, bool** vertical_writing);
00310 
00311 TESS_API BLOCK_LIST*
00312                TESS_CALL TessBaseAPIFindLinesCreateBlockList(TessBaseAPI* handle);
00313 #endif
00314 
00315 /* Page iterator */
00316 
00317 TESS_API void  TESS_CALL TessPageIteratorDelete(TessPageIterator* handle);
00318 TESS_API TessPageIterator*
00319                TESS_CALL TessPageIteratorCopy(const TessPageIterator* handle);
00320 
00321 TESS_API void  TESS_CALL TessPageIteratorBegin(TessPageIterator* handle);
00322 TESS_API BOOL  TESS_CALL TessPageIteratorNext(TessPageIterator* handle, TessPageIteratorLevel level);
00323 TESS_API BOOL  TESS_CALL TessPageIteratorIsAtBeginningOf(const TessPageIterator* handle, TessPageIteratorLevel level);
00324 TESS_API BOOL  TESS_CALL TessPageIteratorIsAtFinalElement(const TessPageIterator* handle, TessPageIteratorLevel level,
00325                                                           TessPageIteratorLevel element);
00326 
00327 TESS_API BOOL  TESS_CALL TessPageIteratorBoundingBox(const TessPageIterator* handle, TessPageIteratorLevel level,
00328                                                      int* left, int* top, int* right, int* bottom);
00329 TESS_API TessPolyBlockType
00330                TESS_CALL TessPageIteratorBlockType(const TessPageIterator* handle);
00331 
00332 TESS_API struct Pix*
00333                TESS_CALL TessPageIteratorGetBinaryImage(const TessPageIterator* handle, TessPageIteratorLevel level);
00334 TESS_API struct Pix*
00335                TESS_CALL TessPageIteratorGetImage(const TessPageIterator* handle, TessPageIteratorLevel level, int padding,
00336                                                   int* left, int* top);
00337 
00338 TESS_API BOOL  TESS_CALL TessPageIteratorBaseline(const TessPageIterator* handle, TessPageIteratorLevel level,
00339                                                   int* x1, int* y1, int* x2, int* y2);
00340 
00341 TESS_API void  TESS_CALL TessPageIteratorOrientation(TessPageIterator* handle, TessOrientation* orientation,
00342                                                      TessWritingDirection* writing_direction, TessTextlineOrder* textline_order,
00343                                                      float* deskew_angle);
00344 
00345 /* Result iterator */
00346 
00347 TESS_API void  TESS_CALL TessResultIteratorDelete(TessResultIterator* handle);
00348 TESS_API TessResultIterator*
00349                TESS_CALL TessResultIteratorCopy(const TessResultIterator* handle);
00350 TESS_API TessPageIterator*
00351                TESS_CALL TessResultIteratorGetPageIterator(TessResultIterator* handle);
00352 TESS_API const TessPageIterator*
00353                TESS_CALL TessResultIteratorGetPageIteratorConst(const TessResultIterator* handle);
00354 
00355 TESS_API char* TESS_CALL TessResultIteratorGetUTF8Text(const TessResultIterator* handle, TessPageIteratorLevel level);
00356 TESS_API float TESS_CALL TessResultIteratorConfidence(const TessResultIterator* handle, TessPageIteratorLevel level);
00357 
00358 TESS_API const char*
00359                TESS_CALL TessResultIteratorWordFontAttributes(const TessResultIterator* handle, BOOL* is_bold, BOOL* is_italic,
00360                                                               BOOL* is_underlined, BOOL* is_monospace, BOOL* is_serif,
00361                                                               BOOL* is_smallcaps, int* pointsize, int* font_id);
00362 
00363 TESS_API BOOL  TESS_CALL TessResultIteratorWordIsFromDictionary(const TessResultIterator* handle);
00364 TESS_API BOOL  TESS_CALL TessResultIteratorWordIsNumeric(const TessResultIterator* handle);
00365 TESS_API BOOL  TESS_CALL TessResultIteratorSymbolIsSuperscript(const TessResultIterator* handle);
00366 TESS_API BOOL  TESS_CALL TessResultIteratorSymbolIsSubscript(const TessResultIterator* handle);
00367 TESS_API BOOL  TESS_CALL TessResultIteratorSymbolIsDropcap(const TessResultIterator* handle);
00368 
00369 #ifdef __cplusplus
00370 }
00371 #endif
00372 
00373 #endif /* TESSERACT_API_CAPI_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines