tesseract  5.0.0
capi.h
Go to the documentation of this file.
1 // File: capi.h
3 // Description: C-API TessBaseAPI
4 //
5 // (C) Copyright 2012, Google Inc.
6 // Licensed under the Apache License, Version 2.0 (the "License");
7 // you may not use this file except in compliance with the License.
8 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
17 
18 #ifndef API_CAPI_H_
19 #define API_CAPI_H_
20 
21 #include "export.h"
22 
23 #ifdef __cplusplus
24 # include <tesseract/baseapi.h>
25 # include <tesseract/ocrclass.h>
26 # include <tesseract/pageiterator.h>
27 # include <tesseract/renderer.h>
29 #endif
30 
31 #include <stdbool.h>
32 #include <stdio.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 #ifndef BOOL
39 # define BOOL int
40 # define TRUE 1
41 # define FALSE 0
42 #endif
43 
44 #ifdef __cplusplus
60 #else
62 typedef struct TessBaseAPI TessBaseAPI;
63 typedef struct TessPageIterator TessPageIterator;
67 typedef enum TessOcrEngineMode {
73 typedef enum TessPageSegMode {
88  PSM_COUNT
90 typedef enum TessPageIteratorLevel {
97 typedef enum TessPolyBlockType {
113  PT_COUNT
115 typedef enum TessOrientation {
127 typedef enum TessWritingDirection {
132 typedef enum TessTextlineOrder {
137 typedef struct ETEXT_DESC ETEXT_DESC;
138 #endif
139 
140 typedef bool (*TessCancelFunc)(void *cancel_this, int words);
141 typedef bool (*TessProgressFunc)(ETEXT_DESC *ths, int left, int right, int top,
142  int bottom);
143 
144 struct Pix;
145 struct Boxa;
146 struct Pixa;
147 
148 /* General free functions */
149 
150 TESS_API const char *TessVersion();
151 TESS_API void TessDeleteText(const char *text);
152 TESS_API void TessDeleteTextArray(char **arr);
153 TESS_API void TessDeleteIntArray(const int *arr);
154 
155 /* Renderer API */
156 TESS_API TessResultRenderer *TessTextRendererCreate(const char *outputbase);
157 TESS_API TessResultRenderer *TessHOcrRendererCreate(const char *outputbase);
158 TESS_API TessResultRenderer *TessHOcrRendererCreate2(const char *outputbase,
159  BOOL font_info);
160 TESS_API TessResultRenderer *TessAltoRendererCreate(const char *outputbase);
161 TESS_API TessResultRenderer *TessTsvRendererCreate(const char *outputbase);
162 TESS_API TessResultRenderer *TessPDFRendererCreate(const char *outputbase,
163  const char *datadir,
164  BOOL textonly);
165 TESS_API TessResultRenderer *TessUnlvRendererCreate(const char *outputbase);
166 TESS_API TessResultRenderer *TessBoxTextRendererCreate(const char *outputbase);
167 TESS_API TessResultRenderer *TessLSTMBoxRendererCreate(const char *outputbase);
169  const char *outputbase);
170 
173  TessResultRenderer *next);
175  TessResultRenderer *renderer);
177  const char *title);
179  TessBaseAPI *api);
181 
185 
186 /* Base API */
187 
190 
191 TESS_API size_t TessBaseAPIGetOpenCLDevice(TessBaseAPI *handle, void **device);
192 
193 TESS_API void TessBaseAPISetInputName(TessBaseAPI *handle, const char *name);
194 TESS_API const char *TessBaseAPIGetInputName(TessBaseAPI *handle);
195 
196 TESS_API void TessBaseAPISetInputImage(TessBaseAPI *handle, struct Pix *pix);
197 TESS_API struct Pix *TessBaseAPIGetInputImage(TessBaseAPI *handle);
198 
200 TESS_API const char *TessBaseAPIGetDatapath(TessBaseAPI *handle);
201 
202 TESS_API void TessBaseAPISetOutputName(TessBaseAPI *handle, const char *name);
203 
204 TESS_API BOOL TessBaseAPISetVariable(TessBaseAPI *handle, const char *name,
205  const char *value);
206 TESS_API BOOL TessBaseAPISetDebugVariable(TessBaseAPI *handle, const char *name,
207  const char *value);
208 
210  const char *name, int *value);
212  const char *name, BOOL *value);
214  const char *name, double *value);
215 TESS_API const char *TessBaseAPIGetStringVariable(const TessBaseAPI *handle,
216  const char *name);
217 
218 TESS_API void TessBaseAPIPrintVariables(const TessBaseAPI *handle, FILE *fp);
220  const char *filename);
221 
222 TESS_API int TessBaseAPIInit1(TessBaseAPI *handle, const char *datapath,
223  const char *language, TessOcrEngineMode oem,
224  char **configs, int configs_size);
225 TESS_API int TessBaseAPIInit2(TessBaseAPI *handle, const char *datapath,
226  const char *language, TessOcrEngineMode oem);
227 TESS_API int TessBaseAPIInit3(TessBaseAPI *handle, const char *datapath,
228  const char *language);
229 
230 TESS_API int TessBaseAPIInit4(TessBaseAPI *handle, const char *datapath,
231  const char *language, TessOcrEngineMode mode,
232  char **configs, int configs_size, char **vars_vec,
233  char **vars_values, size_t vars_vec_size,
234  BOOL set_only_non_debug_params);
235 
237  const TessBaseAPI *handle);
239  const TessBaseAPI *handle);
241  const TessBaseAPI *handle);
242 
244 
246  const char *filename);
248  const char *filename);
249 
251  TessPageSegMode mode);
253 
254 TESS_API char *TessBaseAPIRect(TessBaseAPI *handle,
255  const unsigned char *imagedata,
256  int bytes_per_pixel, int bytes_per_line,
257  int left, int top, int width, int height);
258 
260 
262  const unsigned char *imagedata, int width,
263  int height, int bytes_per_pixel,
264  int bytes_per_line);
265 TESS_API void TessBaseAPISetImage2(TessBaseAPI *handle, struct Pix *pix);
266 
268 
269 TESS_API void TessBaseAPISetRectangle(TessBaseAPI *handle, int left, int top,
270  int width, int height);
271 
273 TESS_API struct Boxa *TessBaseAPIGetRegions(TessBaseAPI *handle,
274  struct Pixa **pixa);
275 TESS_API struct Boxa *TessBaseAPIGetTextlines(TessBaseAPI *handle,
276  struct Pixa **pixa,
277  int **blockids);
278 TESS_API struct Boxa *TessBaseAPIGetTextlines1(TessBaseAPI *handle,
279  BOOL raw_image, int raw_padding,
280  struct Pixa **pixa,
281  int **blockids, int **paraids);
282 TESS_API struct Boxa *TessBaseAPIGetStrips(TessBaseAPI *handle,
283  struct Pixa **pixa, int **blockids);
284 TESS_API struct Boxa *TessBaseAPIGetWords(TessBaseAPI *handle,
285  struct Pixa **pixa);
287  struct Pixa **cc);
289  TessPageIteratorLevel level,
290  BOOL text_only,
291  struct Pixa **pixa,
292  int **blockids);
294  TessBaseAPI *handle, TessPageIteratorLevel level, BOOL text_only,
295  BOOL raw_image, int raw_padding, struct Pixa **pixa, int **blockids,
296  int **paraids);
297 
299  const TessBaseAPI *handle);
300 
302 
303 TESS_API int TessBaseAPIRecognize(TessBaseAPI *handle, ETEXT_DESC *monitor);
304 
305 TESS_API BOOL TessBaseAPIProcessPages(TessBaseAPI *handle, const char *filename,
306  const char *retry_config,
307  int timeout_millisec,
308  TessResultRenderer *renderer);
309 TESS_API BOOL TessBaseAPIProcessPage(TessBaseAPI *handle, struct Pix *pix,
310  int page_index, const char *filename,
311  const char *retry_config,
312  int timeout_millisec,
313  TessResultRenderer *renderer);
314 
317  TessBaseAPI *handle);
318 
320 TESS_API char *TessBaseAPIGetHOCRText(TessBaseAPI *handle, int page_number);
321 
322 TESS_API char *TessBaseAPIGetAltoText(TessBaseAPI *handle, int page_number);
323 TESS_API char *TessBaseAPIGetTsvText(TessBaseAPI *handle, int page_number);
324 
325 TESS_API char *TessBaseAPIGetBoxText(TessBaseAPI *handle, int page_number);
326 TESS_API char *TessBaseAPIGetLSTMBoxText(TessBaseAPI *handle, int page_number);
328  int page_number);
329 
332 
334 
335 #ifndef DISABLED_LEGACY_ENGINE
337  TessPageSegMode mode,
338  const char *wordstr);
339 #endif // #ifndef DISABLED_LEGACY_ENGINE
340 
342 TESS_API void TessBaseAPIEnd(TessBaseAPI *handle);
343 
344 TESS_API int TessBaseAPIIsValidWord(TessBaseAPI *handle, const char *word);
345 TESS_API BOOL TessBaseAPIGetTextDirection(TessBaseAPI *handle, int *out_offset,
346  float *out_slope);
347 
348 TESS_API const char *TessBaseAPIGetUnichar(TessBaseAPI *handle, int unichar_id);
349 
351 
352 #ifndef DISABLED_LEGACY_ENGINE
353 
354 // Call TessDeleteText(*best_script_name) to free memory allocated by this
355 // function
357  int *orient_deg,
358  float *orient_conf,
359  const char **script_name,
360  float *script_conf);
361 #endif // #ifndef DISABLED_LEGACY_ENGINE
362 
364  double margin);
365 
366 TESS_API int TessBaseAPINumDawgs(const TessBaseAPI *handle);
367 
369 
371  int **block_orientation,
372  bool **vertical_writing);
373 
374 /* Page iterator */
375 
377 
379 
381 
383  TessPageIteratorLevel level);
384 
386  TessPageIteratorLevel level);
387 
389  TessPageIteratorLevel level,
390  TessPageIteratorLevel element);
391 
393  TessPageIteratorLevel level,
394  int *left, int *top, int *right,
395  int *bottom);
396 
399 
401  const TessPageIterator *handle, TessPageIteratorLevel level);
402 
403 TESS_API struct Pix *TessPageIteratorGetImage(const TessPageIterator *handle,
404  TessPageIteratorLevel level,
405  int padding,
406  struct Pix *original_image,
407  int *left, int *top);
408 
410  TessPageIteratorLevel level, int *x1,
411  int *y1, int *x2, int *y2);
412 
414  TessPageIterator *handle, TessOrientation *orientation,
415  TessWritingDirection *writing_direction, TessTextlineOrder *textline_order,
416  float *deskew_angle);
417 
419  TessPageIterator *handle, TessParagraphJustification *justification,
420  BOOL *is_list_item, BOOL *is_crown, int *first_line_indent);
421 
422 /* Result iterator */
423 
426  const TessResultIterator *handle);
428  TessResultIterator *handle);
430  const TessResultIterator *handle);
432  const TessResultIterator *handle);
433 
435  TessPageIteratorLevel level);
437  TessPageIteratorLevel level);
439  TessPageIteratorLevel level);
441  const TessResultIterator *handle);
443  const TessResultIterator *handle, BOOL *is_bold, BOOL *is_italic,
444  BOOL *is_underlined, BOOL *is_monospace, BOOL *is_serif, BOOL *is_smallcaps,
445  int *pointsize, int *font_id);
446 
456 
460  const TessChoiceIterator *handle);
462 
463 /* Progress monitor */
464 
466 TESS_API void TessMonitorDelete(ETEXT_DESC *monitor);
468  TessCancelFunc cancelFunc);
469 TESS_API void TessMonitorSetCancelThis(ETEXT_DESC *monitor, void *cancelThis);
472  TessProgressFunc progressFunc);
474 TESS_API void TessMonitorSetDeadlineMSecs(ETEXT_DESC *monitor, int deadline);
475 
476 #ifdef __cplusplus
477 }
478 #endif
479 
480 #endif // API_CAPI_H_
TESS_API void TessDeleteText(const char *text)
Definition: capi.cpp:26
TESS_API struct Boxa * TessBaseAPIGetTextlines(TessBaseAPI *handle, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:328
TESS_API BOOL TessPageIteratorIsAtFinalElement(const TessPageIterator *handle, TessPageIteratorLevel level, TessPageIteratorLevel element)
Definition: capi.cpp:498
TessPolyBlockType
Definition: capi.h:97
@ PT_VERT_LINE
Definition: capi.h:111
@ PT_PULLOUT_TEXT
Definition: capi.h:101
@ PT_COUNT
Definition: capi.h:113
@ PT_HEADING_TEXT
Definition: capi.h:100
@ PT_TABLE
Definition: capi.h:104
@ PT_NOISE
Definition: capi.h:112
@ PT_PULLOUT_IMAGE
Definition: capi.h:109
@ PT_HEADING_IMAGE
Definition: capi.h:108
@ PT_INLINE_EQUATION
Definition: capi.h:103
@ PT_FLOWING_TEXT
Definition: capi.h:99
@ PT_UNKNOWN
Definition: capi.h:98
@ PT_HORZ_LINE
Definition: capi.h:110
@ PT_VERTICAL_TEXT
Definition: capi.h:105
@ PT_EQUATION
Definition: capi.h:102
@ PT_FLOWING_IMAGE
Definition: capi.h:107
@ PT_CAPTION_TEXT
Definition: capi.h:106
TESS_API const char * TessBaseAPIGetStringVariable(const TessBaseAPI *handle, const char *name)
Definition: capi.cpp:183
TESS_API BOOL TessResultRendererBeginDocument(TessResultRenderer *renderer, const char *title)
Definition: capi.cpp:94
TESS_API int TessBaseAPIInit2(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode oem)
Definition: capi.cpp:222
TESS_API BOOL TessBaseAPIGetBoolVariable(const TessBaseAPI *handle, const char *name, BOOL *value)
Definition: capi.cpp:170
TessParagraphJustification
Definition: capi.h:121
@ JUSTIFICATION_LEFT
Definition: capi.h:123
@ JUSTIFICATION_RIGHT
Definition: capi.h:125
@ JUSTIFICATION_CENTER
Definition: capi.h:124
@ JUSTIFICATION_UNKNOWN
Definition: capi.h:122
TESS_API size_t TessBaseAPIGetOpenCLDevice(TessBaseAPI *handle, void **device)
Definition: capi.cpp:126
TESS_API const char * TessResultRendererExtention(TessResultRenderer *renderer)
Definition: capi.cpp:106
TESS_API TessOcrEngineMode TessBaseAPIOem(const TessBaseAPI *handle)
Definition: capi.cpp:469
TESS_API void TessBaseAPIReadConfigFile(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:261
TESS_API int TessBaseAPIGetThresholdedImageScaleFactor(const TessBaseAPI *handle)
Definition: capi.cpp:363
TESS_API TessResultIterator * TessBaseAPIGetIterator(TessBaseAPI *handle)
Definition: capi.cpp:387
struct TessMutableIterator TessMutableIterator
Definition: capi.h:65
TESS_API TessResultRenderer * TessResultRendererNext(TessResultRenderer *renderer)
Definition: capi.cpp:90
TESS_API BOOL TessBaseAPIProcessPage(TessBaseAPI *handle, struct Pix *pix, int page_index, const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
Definition: capi.cpp:380
TESS_API BOOL TessBaseAPISetDebugVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:162
TESS_API int TessBaseAPIMeanTextConf(TessBaseAPI *handle)
Definition: capi.cpp:427
TESS_API BOOL TessResultIteratorWordIsNumeric(const TessResultIterator *handle)
Definition: capi.cpp:621
TESS_API struct Pix * TessPageIteratorGetImage(const TessPageIterator *handle, TessPageIteratorLevel level, int padding, struct Pix *original_image, int *left, int *top)
Definition: capi.cpp:517
TESS_API const char * TessChoiceIteratorGetUTF8Text(const TessChoiceIterator *handle)
Definition: capi.cpp:645
TESS_API const char * TessVersion()
Definition: capi.cpp:22
TESS_API int TessBaseAPIGetSourceYResolution(TessBaseAPI *handle)
Definition: capi.cpp:146
TESS_API TessPageSegMode TessBaseAPIGetPageSegMode(const TessBaseAPI *handle)
Definition: capi.cpp:273
TESS_API char * TessBaseAPIGetUTF8Text(TessBaseAPI *handle)
Definition: capi.cpp:395
TESS_API TessResultRenderer * TessLSTMBoxRendererCreate(const char *outputbase)
Definition: capi.cpp:78
TESS_API void TessBaseAPISetInputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:130
bool(* TessProgressFunc)(ETEXT_DESC *ths, int left, int right, int top, int bottom)
Definition: capi.h:141
TESS_API char ** TessBaseAPIGetAvailableLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:246
TESS_API void TessPageIteratorDelete(TessPageIterator *handle)
Definition: capi.cpp:478
TESS_API void TessPageIteratorBegin(TessPageIterator *handle)
Definition: capi.cpp:486
TESS_API char * TessBaseAPIGetAltoText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:403
TESS_API BOOL TessBaseAPIGetDoubleVariable(const TessBaseAPI *handle, const char *name, double *value)
Definition: capi.cpp:179
TESS_API struct Boxa * TessBaseAPIGetStrips(TessBaseAPI *handle, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:338
TESS_API char * TessBaseAPIGetUNLVText(TessBaseAPI *handle)
Definition: capi.cpp:423
TESS_API struct Boxa * TessBaseAPIGetComponentImages1(TessBaseAPI *handle, TessPageIteratorLevel level, BOOL text_only, BOOL raw_image, int raw_padding, struct Pixa **pixa, int **blockids, int **paraids)
Definition: capi.cpp:355
TESS_API char * TessBaseAPIRect(TessBaseAPI *handle, const unsigned char *imagedata, int bytes_per_pixel, int bytes_per_line, int left, int top, int width, int height)
Definition: capi.cpp:277
TESS_API BOOL TessResultIteratorNext(TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:567
TESS_API struct Boxa * TessBaseAPIGetRegions(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:324
TESS_API BOOL TessPageIteratorBoundingBox(const TessPageIterator *handle, TessPageIteratorLevel level, int *left, int *top, int *right, int *bottom)
Definition: capi.cpp:503
TESS_API void TessBaseAPIClearAdaptiveClassifier(TessBaseAPI *handle)
Definition: capi.cpp:284
TESS_API BOOL TessResultRendererAddImage(TessResultRenderer *renderer, TessBaseAPI *api)
Definition: capi.cpp:98
struct TessBaseAPI TessBaseAPI
Definition: capi.h:62
TESS_API BOOL TessBaseAPIProcessPages(TessBaseAPI *handle, const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
Definition: capi.cpp:375
TESS_API char * TessBaseAPIGetHOCRText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:399
TessPageSegMode
Definition: capi.h:73
@ PSM_AUTO
Definition: capi.h:77
@ PSM_OSD_ONLY
Definition: capi.h:74
@ PSM_SINGLE_CHAR
Definition: capi.h:84
@ PSM_AUTO_OSD
Definition: capi.h:75
@ PSM_CIRCLE_WORD
Definition: capi.h:83
@ PSM_SINGLE_BLOCK_VERT_TEXT
Definition: capi.h:79
@ PSM_SINGLE_COLUMN
Definition: capi.h:78
@ PSM_SPARSE_TEXT
Definition: capi.h:85
@ PSM_COUNT
Definition: capi.h:88
@ PSM_SINGLE_LINE
Definition: capi.h:81
@ PSM_SINGLE_BLOCK
Definition: capi.h:80
@ PSM_RAW_LINE
Definition: capi.h:87
@ PSM_AUTO_ONLY
Definition: capi.h:76
@ PSM_SINGLE_WORD
Definition: capi.h:82
@ PSM_SPARSE_TEXT_OSD
Definition: capi.h:86
TESS_API struct Boxa * TessBaseAPIGetWords(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:342
TESS_API int TessBaseAPIInit4(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode mode, char **configs, int configs_size, char **vars_vec, char **vars_values, size_t vars_vec_size, BOOL set_only_non_debug_params)
Definition: capi.cpp:201
TESS_API const char * TessBaseAPIGetUnichar(TessBaseAPI *handle, int unichar_id)
Definition: capi.cpp:457
TESS_API int TessBaseAPIIsValidWord(TessBaseAPI *handle, const char *word)
Definition: capi.cpp:449
TESS_API char * TessBaseAPIGetBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:411
TESS_API TessPageIterator * TessResultIteratorGetPageIterator(TessResultIterator *handle)
Definition: capi.cpp:555
TESS_API BOOL TessBaseAPIPrintVariablesToFile(const TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:191
TESS_API int TessBaseAPIInit3(TessBaseAPI *handle, const char *datapath, const char *language)
Definition: capi.cpp:227
TESS_API void TessMonitorSetCancelThis(ETEXT_DESC *monitor, void *cancelThis)
Definition: capi.cpp:665
TESS_API void TessBaseAPIReadDebugConfigFile(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:265
TESS_API void TessBaseAPIInitForAnalysePage(TessBaseAPI *handle)
Definition: capi.cpp:257
TESS_API void TessMonitorSetProgressFunc(ETEXT_DESC *monitor, TessProgressFunc progressFunc)
Definition: capi.cpp:673
TESS_API TessResultRenderer * TessUnlvRendererCreate(const char *outputbase)
Definition: capi.cpp:66
TESS_API char * TessBaseAPIGetLSTMBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:419
TESS_API TessMutableIterator * TessBaseAPIGetMutableIterator(TessBaseAPI *handle)
Definition: capi.cpp:391
TESS_API void TessBaseAPISetImage2(TessBaseAPI *handle, struct Pix *pix)
Definition: capi.cpp:294
TESS_API void TessMonitorSetDeadlineMSecs(ETEXT_DESC *monitor, int deadline)
Definition: capi.cpp:681
TESS_API void TessMonitorSetCancelFunc(ETEXT_DESC *monitor, TessCancelFunc cancelFunc)
Definition: capi.cpp:661
TESS_API const char * TessBaseAPIGetDatapath(TessBaseAPI *handle)
Definition: capi.cpp:150
TESS_API const TessPageIterator * TessResultIteratorGetPageIteratorConst(const TessResultIterator *handle)
Definition: capi.cpp:559
TESS_API const char * TessResultIteratorWordRecognitionLanguage(const TessResultIterator *handle)
Definition: capi.cpp:579
TESS_API TessResultRenderer * TessPDFRendererCreate(const char *outputbase, const char *datadir, BOOL textonly)
Definition: capi.cpp:61
TESS_API TessResultRenderer * TessTextRendererCreate(const char *outputbase)
Definition: capi.cpp:41
TESS_API char ** TessBaseAPIGetLoadedLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:235
TESS_API void TessBaseAPISetPageSegMode(TessBaseAPI *handle, TessPageSegMode mode)
Definition: capi.cpp:269
TESS_API int TessBaseAPIInit1(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode oem, char **configs, int configs_size)
Definition: capi.cpp:217
struct TessResultRenderer TessResultRenderer
Definition: capi.h:61
TESS_API void TessPageIteratorOrientation(TessPageIterator *handle, TessOrientation *orientation, TessWritingDirection *writing_direction, TessTextlineOrder *textline_order, float *deskew_angle)
Definition: capi.cpp:527
struct TessChoiceIterator TessChoiceIterator
Definition: capi.h:66
TESS_API BOOL TessResultRendererEndDocument(TessResultRenderer *renderer)
Definition: capi.cpp:102
TESS_API int * TessBaseAPIAllWordConfidences(TessBaseAPI *handle)
Definition: capi.cpp:431
TESS_API TessResultRenderer * TessWordStrBoxRendererCreate(const char *outputbase)
Definition: capi.cpp:74
TESS_API TessResultRenderer * TessBoxTextRendererCreate(const char *outputbase)
Definition: capi.cpp:70
TESS_API BOOL TessResultIteratorWordIsFromDictionary(const TessResultIterator *handle)
Definition: capi.cpp:617
TESS_API BOOL TessBaseAPIDetectOrientationScript(TessBaseAPI *handle, int *orient_deg, float *orient_conf, const char **script_name, float *script_conf)
Definition: capi.cpp:316
TESS_API void TessBaseAPISetInputImage(TessBaseAPI *handle, struct Pix *pix)
Definition: capi.cpp:138
TESS_API struct Boxa * TessBaseAPIGetConnectedComponents(TessBaseAPI *handle, struct Pixa **cc)
Definition: capi.cpp:346
TESS_API void TessResultIteratorDelete(TessResultIterator *handle)
Definition: capi.cpp:547
TESS_API struct Boxa * TessBaseAPIGetTextlines1(TessBaseAPI *handle, BOOL raw_image, int raw_padding, struct Pixa **pixa, int **blockids, int **paraids)
Definition: capi.cpp:332
TESS_API BOOL TessPageIteratorNext(TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:490
TESS_API ETEXT_DESC * TessMonitorCreate()
Definition: capi.cpp:653
TESS_API void TessBaseAPISetMinOrientationMargin(TessBaseAPI *handle, double margin)
Definition: capi.cpp:461
TESS_API void TessBaseAPIClearPersistentCache(TessBaseAPI *handle)
Definition: capi.cpp:310
TESS_API TessPolyBlockType TessPageIteratorBlockType(const TessPageIterator *handle)
Definition: capi.cpp:508
struct TessPageIterator TessPageIterator
Definition: capi.h:63
TESS_API void TessBaseAPISetSourceResolution(TessBaseAPI *handle, int ppi)
Definition: capi.cpp:298
TESS_API const char * TessBaseAPIGetInputName(TessBaseAPI *handle)
Definition: capi.cpp:134
TESS_API int TessMonitorGetProgress(ETEXT_DESC *monitor)
Definition: capi.cpp:677
TESS_API BOOL TessChoiceIteratorNext(TessChoiceIterator *handle)
Definition: capi.cpp:641
TESS_API BOOL TessBaseAPIAdaptToWordStr(TessBaseAPI *handle, TessPageSegMode mode, const char *wordstr)
Definition: capi.cpp:436
bool(* TessCancelFunc)(void *cancel_this, int words)
Definition: capi.h:140
struct TessResultIterator TessResultIterator
Definition: capi.h:64
TESS_API TessBaseAPI * TessBaseAPICreate()
Definition: capi.cpp:118
TESS_API struct Pix * TessPageIteratorGetBinaryImage(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:512
TESS_API int TessBaseAPINumDawgs(const TessBaseAPI *handle)
Definition: capi.cpp:465
TESS_API void TessBaseAPIClear(TessBaseAPI *handle)
Definition: capi.cpp:441
TESS_API struct Pix * TessBaseAPIGetThresholdedImage(TessBaseAPI *handle)
Definition: capi.cpp:306
TESS_API TessResultRenderer * TessAltoRendererCreate(const char *outputbase)
Definition: capi.cpp:53
TESS_API TessResultIterator * TessResultIteratorCopy(const TessResultIterator *handle)
Definition: capi.cpp:551
TESS_API void TessDeleteResultRenderer(TessResultRenderer *renderer)
Definition: capi.cpp:82
TESS_API void TessBaseAPIPrintVariables(const TessBaseAPI *handle, FILE *fp)
Definition: capi.cpp:187
TESS_API int TessBaseAPIRecognize(TessBaseAPI *handle, ETEXT_DESC *monitor)
Definition: capi.cpp:371
TESS_API BOOL TessBaseAPIGetIntVariable(const TessBaseAPI *handle, const char *name, int *value)
Definition: capi.cpp:166
TESS_API char * TessResultIteratorGetUTF8Text(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:571
TESS_API TessResultRenderer * TessTsvRendererCreate(const char *outputbase)
Definition: capi.cpp:57
TESS_API BOOL TessPageIteratorBaseline(const TessPageIterator *handle, TessPageIteratorLevel level, int *x1, int *y1, int *x2, int *y2)
Definition: capi.cpp:522
struct ETEXT_DESC ETEXT_DESC
Definition: capi.h:137
TESS_API char * TessBaseAPIGetWordStrBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:415
TESS_API void TessBaseAPISetImage(TessBaseAPI *handle, const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line)
Definition: capi.cpp:289
TESS_API char * TessBaseAPIGetTsvText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:407
TESS_API void TessResultRendererInsert(TessResultRenderer *renderer, TessResultRenderer *next)
Definition: capi.cpp:86
TESS_API const char * TessBaseAPIGetInitLanguagesAsString(const TessBaseAPI *handle)
Definition: capi.cpp:231
TESS_API const char * TessResultIteratorWordFontAttributes(const TessResultIterator *handle, BOOL *is_bold, BOOL *is_italic, BOOL *is_underlined, BOOL *is_monospace, BOOL *is_serif, BOOL *is_smallcaps, int *pointsize, int *font_id)
Definition: capi.cpp:583
TESS_API TessPageIterator * TessPageIteratorCopy(const TessPageIterator *handle)
Definition: capi.cpp:482
TESS_API void TessBaseAPISetOutputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:154
TessTextlineOrder
Definition: capi.h:132
@ TEXTLINE_ORDER_TOP_TO_BOTTOM
Definition: capi.h:135
@ TEXTLINE_ORDER_RIGHT_TO_LEFT
Definition: capi.h:134
@ TEXTLINE_ORDER_LEFT_TO_RIGHT
Definition: capi.h:133
TESS_API BOOL TessResultIteratorSymbolIsSuperscript(const TessResultIterator *handle)
Definition: capi.cpp:625
TESS_API TessPageIterator * TessBaseAPIAnalyseLayout(TessBaseAPI *handle)
Definition: capi.cpp:367
TESS_API struct Pix * TessBaseAPIGetInputImage(TessBaseAPI *handle)
Definition: capi.cpp:142
TESS_API TessResultRenderer * TessHOcrRendererCreate2(const char *outputbase, BOOL font_info)
Definition: capi.cpp:49
TESS_API TessChoiceIterator * TessResultIteratorGetChoiceIterator(const TessResultIterator *handle)
Definition: capi.cpp:563
TESS_API BOOL TessBaseAPISetVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:158
TESS_API void TessBaseAPIEnd(TessBaseAPI *handle)
Definition: capi.cpp:445
TESS_API int TessResultRendererImageNum(TessResultRenderer *renderer)
Definition: capi.cpp:114
TESS_API BOOL TessPageIteratorIsAtBeginningOf(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:494
TESS_API const char * TessResultRendererTitle(TessResultRenderer *renderer)
Definition: capi.cpp:110
TESS_API void TessDeleteTextArray(char **arr)
Definition: capi.cpp:30
TessOcrEngineMode
Definition: capi.h:67
@ OEM_DEFAULT
Definition: capi.h:71
@ OEM_TESSERACT_ONLY
Definition: capi.h:68
@ OEM_LSTM_ONLY
Definition: capi.h:69
@ OEM_TESSERACT_LSTM_COMBINED
Definition: capi.h:70
TESS_API BOOL TessResultIteratorSymbolIsDropcap(const TessResultIterator *handle)
Definition: capi.cpp:633
#define BOOL
Definition: capi.h:39
TESS_API BOOL TessBaseAPIGetTextDirection(TessBaseAPI *handle, int *out_offset, float *out_slope)
Definition: capi.cpp:453
TessOrientation
Definition: capi.h:115
@ ORIENTATION_PAGE_DOWN
Definition: capi.h:118
@ ORIENTATION_PAGE_RIGHT
Definition: capi.h:117
@ ORIENTATION_PAGE_UP
Definition: capi.h:116
@ ORIENTATION_PAGE_LEFT
Definition: capi.h:119
TESS_API struct Boxa * TessBaseAPIGetComponentImages(TessBaseAPI *handle, TessPageIteratorLevel level, BOOL text_only, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:350
TESS_API void TessDeleteIntArray(const int *arr)
Definition: capi.cpp:37
TESS_API TessResultRenderer * TessHOcrRendererCreate(const char *outputbase)
Definition: capi.cpp:45
TessPageIteratorLevel
Definition: capi.h:90
@ RIL_TEXTLINE
Definition: capi.h:93
@ RIL_PARA
Definition: capi.h:92
@ RIL_BLOCK
Definition: capi.h:91
@ RIL_WORD
Definition: capi.h:94
@ RIL_SYMBOL
Definition: capi.h:95
TESS_API void * TessMonitorGetCancelThis(ETEXT_DESC *monitor)
Definition: capi.cpp:669
TESS_API float TessResultIteratorConfidence(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:575
TESS_API void TessBaseAPISetRectangle(TessBaseAPI *handle, int left, int top, int width, int height)
Definition: capi.cpp:302
TessWritingDirection
Definition: capi.h:127
@ WRITING_DIRECTION_RIGHT_TO_LEFT
Definition: capi.h:129
@ WRITING_DIRECTION_TOP_TO_BOTTOM
Definition: capi.h:130
@ WRITING_DIRECTION_LEFT_TO_RIGHT
Definition: capi.h:128
TESS_API void TessChoiceIteratorDelete(TessChoiceIterator *handle)
Definition: capi.cpp:637
TESS_API BOOL TessResultIteratorSymbolIsSubscript(const TessResultIterator *handle)
Definition: capi.cpp:629
TESS_API void TessBaseGetBlockTextOrientations(TessBaseAPI *handle, int **block_orientation, bool **vertical_writing)
Definition: capi.cpp:473
TESS_API void TessPageIteratorParagraphInfo(TessPageIterator *handle, TessParagraphJustification *justification, BOOL *is_list_item, BOOL *is_crown, int *first_line_indent)
Definition: capi.cpp:533
TESS_API void TessMonitorDelete(ETEXT_DESC *monitor)
Definition: capi.cpp:657
TESS_API float TessChoiceIteratorConfidence(const TessChoiceIterator *handle)
Definition: capi.cpp:649
TESS_API void TessBaseAPIDelete(TessBaseAPI *handle)
Definition: capi.cpp:122
ParagraphJustification
Definition: publictypes.h:248
#define TESS_API
Definition: export.h:34