tesseract v5.3.3.20231005
capi.cpp
Go to the documentation of this file.
1
2// File: capi.cpp
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#include <tesseract/capi.h>
19
20const char *TessVersion() {
21 return TessBaseAPI::Version();
22}
23
24static char *MakeText(const std::string& srcText) {
25 auto *text = new char[srcText.size() + 1];
26 srcText.copy(text, srcText.size());
27 text[srcText.size()] = 0;
28 return text;
29}
30
31void TessDeleteText(const char *text) {
32 delete[] text;
33}
34
35static char **MakeTextArray(const std::vector<std::string>& srcArr) {
36 auto **arr = new char *[srcArr.size() + 1];
37 for (size_t i = 0; i < srcArr.size(); ++i) {
38 arr[i] = MakeText(srcArr[i]);
39 }
40 arr[srcArr.size()] = nullptr;
41 return arr;
42}
43
44void TessDeleteTextArray(char **arr) {
45 for (char **pos = arr; *pos != nullptr; ++pos) {
46 delete[] * pos;
47 }
48 delete[] arr;
49}
50
51void TessDeleteIntArray(const int *arr) {
52 delete[] arr;
53}
54
56 return new tesseract::TessTextRenderer(outputbase);
57}
58
60 return new tesseract::TessHOcrRenderer(outputbase);
61}
62
63TessResultRenderer *TessHOcrRendererCreate2(const char *outputbase, BOOL font_info) {
64 return new tesseract::TessHOcrRenderer(outputbase, font_info != 0);
65}
66
68 return new tesseract::TessAltoRenderer(outputbase);
69}
70
71TessResultRenderer *TessTsvRendererCreate(const char *outputbase) {
72 return new tesseract::TessTsvRenderer(outputbase);
73}
74
75TessResultRenderer *TessPDFRendererCreate(const char *outputbase, const char *datadir,
76 BOOL textonly) {
77 return new tesseract::TessPDFRenderer(outputbase, datadir, textonly != 0);
78}
79
81 return new tesseract::TessUnlvRenderer(outputbase);
82}
83
85 return new tesseract::TessBoxTextRenderer(outputbase);
86}
87
89 return new tesseract::TessWordStrBoxRenderer(outputbase);
90}
91
93 return new tesseract::TessLSTMBoxRenderer(outputbase);
94}
95
97 delete renderer;
98}
99
101 renderer->insert(next);
102}
103
105 return renderer->next();
106}
107
109 return static_cast<int>(renderer->BeginDocument(title));
110}
111
113 return static_cast<int>(renderer->AddImage(api));
114}
115
117 return static_cast<int>(renderer->EndDocument());
118}
119
121 return renderer->file_extension();
122}
123
125 return renderer->title();
126}
127
129 return renderer->imagenum();
130}
131
133 return new TessBaseAPI;
134}
135
137 delete handle;
138}
139
140size_t TessBaseAPIGetOpenCLDevice(TessBaseAPI * /*handle*/, void **device) {
141 return TessBaseAPI::getOpenCLDevice(device);
142}
143
144void TessBaseAPISetInputName(TessBaseAPI *handle, const char *name) {
145 handle->SetInputName(name);
146}
147
149 return handle->GetInputName();
150}
151
152void TessBaseAPISetInputImage(TessBaseAPI *handle, Pix *pix) {
153 handle->SetInputImage(pix);
154}
155
157 return handle->GetInputImage();
158}
159
161 return handle->GetSourceYResolution();
162}
163
165 return handle->GetDatapath();
166}
167
168void TessBaseAPISetOutputName(TessBaseAPI *handle, const char *name) {
169 handle->SetOutputName(name);
170}
171
172BOOL TessBaseAPISetVariable(TessBaseAPI *handle, const char *name, const char *value) {
173 return static_cast<int>(handle->SetVariable(name, value));
174}
175
176BOOL TessBaseAPISetDebugVariable(TessBaseAPI *handle, const char *name, const char *value) {
177 return static_cast<int>(handle->SetDebugVariable(name, value));
178}
179
180BOOL TessBaseAPIGetIntVariable(const TessBaseAPI *handle, const char *name, int *value) {
181 return static_cast<int>(handle->GetIntVariable(name, value));
182}
183
184BOOL TessBaseAPIGetBoolVariable(const TessBaseAPI *handle, const char *name, BOOL *value) {
185 bool boolValue;
186 bool result = handle->GetBoolVariable(name, &boolValue);
187 if (result) {
188 *value = static_cast<int>(boolValue);
189 }
190 return static_cast<int>(result);
191}
192
193BOOL TessBaseAPIGetDoubleVariable(const TessBaseAPI *handle, const char *name, double *value) {
194 return static_cast<int>(handle->GetDoubleVariable(name, value));
195}
196
197const char *TessBaseAPIGetStringVariable(const TessBaseAPI *handle, const char *name) {
198 return handle->GetStringVariable(name);
199}
200
201void TessBaseAPIPrintVariables(const TessBaseAPI *handle, FILE *fp) {
202 handle->PrintVariables(fp);
203}
204
205BOOL TessBaseAPIPrintVariablesToFile(const TessBaseAPI *handle, const char *filename) {
206 FILE *fp = fopen(filename, "w");
207 if (fp != nullptr) {
208 handle->PrintVariables(fp);
209 fclose(fp);
210 return TRUE;
211 }
212 return FALSE;
213}
214
215int TessBaseAPIInit4(TessBaseAPI *handle, const char *datapath, const char *language,
216 TessOcrEngineMode mode, char **configs, int configs_size, char **vars_vec,
217 char **vars_values, size_t vars_vec_size, BOOL set_only_non_debug_params) {
218 std::vector<std::string> varNames;
219 std::vector<std::string> varValues;
220 if (vars_vec != nullptr && vars_values != nullptr) {
221 for (size_t i = 0; i < vars_vec_size; i++) {
222 varNames.emplace_back(vars_vec[i]);
223 varValues.emplace_back(vars_values[i]);
224 }
225 }
226
227 return handle->Init(datapath, language, mode, configs, configs_size, &varNames, &varValues,
228 set_only_non_debug_params != 0);
229}
230
231int TessBaseAPIInit1(TessBaseAPI *handle, const char *datapath, const char *language,
232 TessOcrEngineMode oem, char **configs, int configs_size) {
233 return handle->Init(datapath, language, oem, configs, configs_size, nullptr, nullptr, false);
234}
235
236int TessBaseAPIInit2(TessBaseAPI *handle, const char *datapath, const char *language,
237 TessOcrEngineMode oem) {
238 return handle->Init(datapath, language, oem);
239}
240
241int TessBaseAPIInit3(TessBaseAPI *handle, const char *datapath, const char *language) {
242 return handle->Init(datapath, language);
243}
244
245int TessBaseAPIInit5(TessBaseAPI *handle, const char *data, int data_size, const char *language,
246 TessOcrEngineMode mode, char **configs, int configs_size, char **vars_vec,
247 char **vars_values, size_t vars_vec_size, BOOL set_only_non_debug_params) {
248 std::vector<std::string> varNames;
249 std::vector<std::string> varValues;
250 if (vars_vec != nullptr && vars_values != nullptr) {
251 for (size_t i = 0; i < vars_vec_size; i++) {
252 varNames.emplace_back(vars_vec[i]);
253 varValues.emplace_back(vars_values[i]);
254 }
255 }
256
257 return handle->Init(data, data_size, language, mode, configs, configs_size, &varNames, &varValues,
258 set_only_non_debug_params != 0, nullptr);
259}
260
262 return handle->GetInitLanguagesAsString();
263}
264
266 std::vector<std::string> languages;
267 handle->GetLoadedLanguagesAsVector(&languages);
268 return MakeTextArray(languages);
269}
270
272 std::vector<std::string> languages;
273 handle->GetAvailableLanguagesAsVector(&languages);
274 return MakeTextArray(languages);
275}
276
278 handle->InitForAnalysePage();
279}
280
281void TessBaseAPIReadConfigFile(TessBaseAPI *handle, const char *filename) {
282 handle->ReadConfigFile(filename);
283}
284
285void TessBaseAPIReadDebugConfigFile(TessBaseAPI *handle, const char *filename) {
286 handle->ReadDebugConfigFile(filename);
287}
288
290 handle->SetPageSegMode(mode);
291}
292
294 return handle->GetPageSegMode();
295}
296
297char *TessBaseAPIRect(TessBaseAPI *handle, const unsigned char *imagedata, int bytes_per_pixel,
298 int bytes_per_line, int left, int top, int width, int height) {
299 return handle->TesseractRect(imagedata, bytes_per_pixel, bytes_per_line, left, top, width,
300 height);
301}
302
303#ifndef DISABLED_LEGACY_ENGINE
305 handle->ClearAdaptiveClassifier();
306}
307#endif
308
309void TessBaseAPISetImage(TessBaseAPI *handle, const unsigned char *imagedata, int width, int height,
310 int bytes_per_pixel, int bytes_per_line) {
311 handle->SetImage(imagedata, width, height, bytes_per_pixel, bytes_per_line);
312}
313
314void TessBaseAPISetImage2(TessBaseAPI *handle, struct Pix *pix) {
315 return handle->SetImage(pix);
316}
317
319 handle->SetSourceResolution(ppi);
320}
321
322void TessBaseAPISetRectangle(TessBaseAPI *handle, int left, int top, int width, int height) {
323 handle->SetRectangle(left, top, width, height);
324}
325
327 return handle->GetThresholdedImage();
328}
329
331 TessBaseAPI::ClearPersistentCache();
332}
333
334#ifndef DISABLED_LEGACY_ENGINE
335
336BOOL TessBaseAPIDetectOrientationScript(TessBaseAPI *handle, int *orient_deg, float *orient_conf,
337 const char **script_name, float *script_conf) {
338 auto success = handle->DetectOrientationScript(orient_deg, orient_conf, script_name, script_conf);
339 return static_cast<BOOL>(success);
340}
341
342#endif
343
344struct Boxa *TessBaseAPIGetRegions(TessBaseAPI *handle, struct Pixa **pixa) {
345 return handle->GetRegions(pixa);
346}
347
348struct Boxa *TessBaseAPIGetTextlines(TessBaseAPI *handle, struct Pixa **pixa, int **blockids) {
349 return handle->GetTextlines(pixa, blockids);
350}
351
352struct Boxa *TessBaseAPIGetTextlines1(TessBaseAPI *handle, const BOOL raw_image,
353 const int raw_padding, struct Pixa **pixa, int **blockids,
354 int **paraids) {
355 return handle->GetTextlines(raw_image != 0, raw_padding, pixa, blockids, paraids);
356}
357
358struct Boxa *TessBaseAPIGetStrips(TessBaseAPI *handle, struct Pixa **pixa, int **blockids) {
359 return handle->GetStrips(pixa, blockids);
360}
361
362struct Boxa *TessBaseAPIGetWords(TessBaseAPI *handle, struct Pixa **pixa) {
363 return handle->GetWords(pixa);
364}
365
366struct Boxa *TessBaseAPIGetConnectedComponents(TessBaseAPI *handle, struct Pixa **cc) {
367 return handle->GetConnectedComponents(cc);
368}
369
371 BOOL text_only, struct Pixa **pixa, int **blockids) {
372 return handle->GetComponentImages(level, static_cast<bool>(text_only), pixa, blockids);
373}
374
376 const BOOL text_only, const BOOL raw_image,
377 const int raw_padding, struct Pixa **pixa,
378 int **blockids, int **paraids) {
379 return handle->GetComponentImages(level, static_cast<bool>(text_only), raw_image != 0,
380 raw_padding, pixa, blockids, paraids);
381}
382
384 return handle->GetThresholdedImageScaleFactor();
385}
386
388 return handle->AnalyseLayout();
389}
390
392 return handle->Recognize(monitor);
393}
394
395BOOL TessBaseAPIProcessPages(TessBaseAPI *handle, const char *filename, const char *retry_config,
396 int timeout_millisec, TessResultRenderer *renderer) {
397 return static_cast<int>(handle->ProcessPages(filename, retry_config, timeout_millisec, renderer));
398}
399
400BOOL TessBaseAPIProcessPage(TessBaseAPI *handle, struct Pix *pix, int page_index,
401 const char *filename, const char *retry_config, int timeout_millisec,
402 TessResultRenderer *renderer) {
403 return static_cast<int>(
404 handle->ProcessPage(pix, page_index, filename, retry_config, timeout_millisec, renderer));
405}
406
408 return handle->GetIterator();
409}
410
412 return handle->GetMutableIterator();
413}
414
416 return handle->GetUTF8Text();
417}
418
419char *TessBaseAPIGetHOCRText(TessBaseAPI *handle, int page_number) {
420 return handle->GetHOCRText(nullptr, page_number);
421}
422
423char *TessBaseAPIGetAltoText(TessBaseAPI *handle, int page_number) {
424 return handle->GetAltoText(page_number);
425}
426
427char *TessBaseAPIGetTsvText(TessBaseAPI *handle, int page_number) {
428 return handle->GetTSVText(page_number);
429}
430
431char *TessBaseAPIGetBoxText(TessBaseAPI *handle, int page_number) {
432 return handle->GetBoxText(page_number);
433}
434
435char *TessBaseAPIGetWordStrBoxText(TessBaseAPI *handle, int page_number) {
436 return handle->GetWordStrBoxText(page_number);
437}
438
439char *TessBaseAPIGetLSTMBoxText(TessBaseAPI *handle, int page_number) {
440 return handle->GetLSTMBoxText(page_number);
441}
442
444 return handle->GetUNLVText();
445}
446
448 return handle->MeanTextConf();
449}
450
452 return handle->AllWordConfidences();
453}
454
455#ifndef DISABLED_LEGACY_ENGINE
456BOOL TessBaseAPIAdaptToWordStr(TessBaseAPI *handle, TessPageSegMode mode, const char *wordstr) {
457 return static_cast<int>(handle->AdaptToWordStr(mode, wordstr));
458}
459#endif
460
462 handle->Clear();
463}
464
466 handle->End();
467}
468
469int TessBaseAPIIsValidWord(TessBaseAPI *handle, const char *word) {
470 return handle->IsValidWord(word);
471}
472
473BOOL TessBaseAPIGetTextDirection(TessBaseAPI *handle, int *out_offset, float *out_slope) {
474 return static_cast<int>(handle->GetTextDirection(out_offset, out_slope));
475}
476
477const char *TessBaseAPIGetUnichar(TessBaseAPI *handle, int unichar_id) {
478 return handle->GetUnichar(unichar_id);
479}
480
482 handle->set_min_orientation_margin(margin);
483}
484
486 return handle->NumDawgs();
487}
488
490 return handle->oem();
491}
492
493void TessBaseGetBlockTextOrientations(TessBaseAPI *handle, int **block_orientation,
494 bool **vertical_writing) {
495 handle->GetBlockTextOrientations(block_orientation, vertical_writing);
496}
497
499 delete handle;
500}
501
503 return new TessPageIterator(*handle);
504}
505
507 handle->Begin();
508}
509
511 return static_cast<int>(handle->Next(level));
512}
513
515 return static_cast<int>(handle->IsAtBeginningOf(level));
516}
517
519 TessPageIteratorLevel element) {
520 return static_cast<int>(handle->IsAtFinalElement(level, element));
521}
522
524 int *left, int *top, int *right, int *bottom) {
525 return static_cast<int>(handle->BoundingBox(level, left, top, right, bottom));
526}
527
529 return handle->BlockType();
530}
531
533 TessPageIteratorLevel level) {
534 return handle->GetBinaryImage(level);
535}
536
538 int padding, struct Pix *original_image, int *left, int *top) {
539 return handle->GetImage(level, padding, original_image, left, top);
540}
541
543 int *y1, int *x2, int *y2) {
544 return static_cast<int>(handle->Baseline(level, x1, y1, x2, y2));
545}
546
548 TessWritingDirection *writing_direction,
549 TessTextlineOrder *textline_order, float *deskew_angle) {
550 handle->Orientation(orientation, writing_direction, textline_order, deskew_angle);
551}
552
554 TessParagraphJustification *justification, BOOL *is_list_item,
555 BOOL *is_crown, int *first_line_indent) {
556 bool bool_is_list_item;
557 bool bool_is_crown;
558 handle->ParagraphInfo(justification, &bool_is_list_item, &bool_is_crown, first_line_indent);
559 if (is_list_item != nullptr) {
560 *is_list_item = static_cast<int>(bool_is_list_item);
561 }
562 if (is_crown != nullptr) {
563 *is_crown = static_cast<int>(bool_is_crown);
564 }
565}
566
568 delete handle;
569}
570
572 return new TessResultIterator(*handle);
573}
574
576 return handle;
577}
578
580 return handle;
581}
582
584 return new TessChoiceIterator(*handle);
585}
586
588 return static_cast<int>(handle->Next(level));
589}
590
592 return handle->GetUTF8Text(level);
593}
594
596 return handle->Confidence(level);
597}
598
600 return handle->WordRecognitionLanguage();
601}
602
604 BOOL *is_italic, BOOL *is_underlined,
605 BOOL *is_monospace, BOOL *is_serif,
606 BOOL *is_smallcaps, int *pointsize, int *font_id) {
607 bool bool_is_bold;
608 bool bool_is_italic;
609 bool bool_is_underlined;
610 bool bool_is_monospace;
611 bool bool_is_serif;
612 bool bool_is_smallcaps;
613 const char *ret = handle->WordFontAttributes(&bool_is_bold, &bool_is_italic, &bool_is_underlined,
614 &bool_is_monospace, &bool_is_serif,
615 &bool_is_smallcaps, pointsize, font_id);
616 if (is_bold != nullptr) {
617 *is_bold = static_cast<int>(bool_is_bold);
618 }
619 if (is_italic != nullptr) {
620 *is_italic = static_cast<int>(bool_is_italic);
621 }
622 if (is_underlined != nullptr) {
623 *is_underlined = static_cast<int>(bool_is_underlined);
624 }
625 if (is_monospace != nullptr) {
626 *is_monospace = static_cast<int>(bool_is_monospace);
627 }
628 if (is_serif != nullptr) {
629 *is_serif = static_cast<int>(bool_is_serif);
630 }
631 if (is_smallcaps != nullptr) {
632 *is_smallcaps = static_cast<int>(bool_is_smallcaps);
633 }
634 return ret;
635}
636
638 return static_cast<int>(handle->WordIsFromDictionary());
639}
640
642 return static_cast<int>(handle->WordIsNumeric());
643}
644
646 return static_cast<int>(handle->SymbolIsSuperscript());
647}
648
650 return static_cast<int>(handle->SymbolIsSubscript());
651}
652
654 return static_cast<int>(handle->SymbolIsDropcap());
655}
656
658 delete handle;
659}
660
662 return static_cast<int>(handle->Next());
663}
664
666 return handle->GetUTF8Text();
667}
668
670 return handle->Confidence();
671}
672
674 return new ETEXT_DESC();
675}
676
678 delete monitor;
679}
680
682 monitor->cancel = cancelFunc;
683}
684
685void TessMonitorSetCancelThis(ETEXT_DESC *monitor, void *cancelThis) {
686 monitor->cancel_this = cancelThis;
687}
688
690 return monitor->cancel_this;
691}
692
694 monitor->progress_callback2 = progressFunc;
695}
696
698 return monitor->progress;
699}
700
701void TessMonitorSetDeadlineMSecs(ETEXT_DESC *monitor, int deadline) {
702 monitor->set_deadline_msecs(deadline);
703}
TessPolyBlockType
Definition: capi.h:95
TessParagraphJustification
Definition: capi.h:119
struct TessMutableIterator TessMutableIterator
Definition: capi.h:63
bool(* TessProgressFunc)(ETEXT_DESC *ths, int left, int right, int top, int bottom)
Definition: capi.h:139
struct TessBaseAPI TessBaseAPI
Definition: capi.h:60
TessPageSegMode
Definition: capi.h:71
struct TessResultRenderer TessResultRenderer
Definition: capi.h:59
struct TessChoiceIterator TessChoiceIterator
Definition: capi.h:64
struct TessPageIterator TessPageIterator
Definition: capi.h:61
bool(* TessCancelFunc)(void *cancel_this, int words)
Definition: capi.h:138
struct TessResultIterator TessResultIterator
Definition: capi.h:62
#define TRUE
Definition: capi.h:38
#define FALSE
Definition: capi.h:39
struct ETEXT_DESC ETEXT_DESC
Definition: capi.h:135
TessTextlineOrder
Definition: capi.h:130
TessOcrEngineMode
Definition: capi.h:65
#define BOOL
Definition: capi.h:37
TessOrientation
Definition: capi.h:113
TessPageIteratorLevel
Definition: capi.h:88
TessWritingDirection
Definition: capi.h:125
BOOL TessBaseAPIDetectOrientationScript(TessBaseAPI *handle, int *orient_deg, float *orient_conf, const char **script_name, float *script_conf)
Definition: capi.cpp:336
BOOL TessBaseAPIPrintVariablesToFile(const TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:205
int TessBaseAPIMeanTextConf(TessBaseAPI *handle)
Definition: capi.cpp:447
BOOL TessBaseAPIGetDoubleVariable(const TessBaseAPI *handle, const char *name, double *value)
Definition: capi.cpp:193
BOOL TessResultIteratorSymbolIsSuperscript(const TessResultIterator *handle)
Definition: capi.cpp:645
char * TessBaseAPIGetWordStrBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:435
BOOL TessResultIteratorWordIsFromDictionary(const TessResultIterator *handle)
Definition: capi.cpp:637
void TessBaseAPIClear(TessBaseAPI *handle)
Definition: capi.cpp:461
BOOL TessResultIteratorSymbolIsDropcap(const TessResultIterator *handle)
Definition: capi.cpp:653
struct Pix * TessPageIteratorGetImage(const TessPageIterator *handle, TessPageIteratorLevel level, int padding, struct Pix *original_image, int *left, int *top)
Definition: capi.cpp:537
TessResultRenderer * TessBoxTextRendererCreate(const char *outputbase)
Definition: capi.cpp:84
void TessDeleteIntArray(const int *arr)
Definition: capi.cpp:51
void TessBaseAPISetImage(TessBaseAPI *handle, const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line)
Definition: capi.cpp:309
TessPageIterator * TessBaseAPIAnalyseLayout(TessBaseAPI *handle)
Definition: capi.cpp:387
BOOL TessBaseAPIGetBoolVariable(const TessBaseAPI *handle, const char *name, BOOL *value)
Definition: capi.cpp:184
int TessBaseAPIInit1(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode oem, char **configs, int configs_size)
Definition: capi.cpp:231
void TessMonitorDelete(ETEXT_DESC *monitor)
Definition: capi.cpp:677
void TessPageIteratorOrientation(TessPageIterator *handle, TessOrientation *orientation, TessWritingDirection *writing_direction, TessTextlineOrder *textline_order, float *deskew_angle)
Definition: capi.cpp:547
void TessChoiceIteratorDelete(TessChoiceIterator *handle)
Definition: capi.cpp:657
int * TessBaseAPIAllWordConfidences(TessBaseAPI *handle)
Definition: capi.cpp:451
struct Boxa * TessBaseAPIGetTextlines(TessBaseAPI *handle, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:348
const char * TessVersion()
Definition: capi.cpp:20
int TessResultRendererImageNum(TessResultRenderer *renderer)
Definition: capi.cpp:128
BOOL TessPageIteratorNext(TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:510
TessPageSegMode TessBaseAPIGetPageSegMode(const TessBaseAPI *handle)
Definition: capi.cpp:293
Pix * TessBaseAPIGetInputImage(TessBaseAPI *handle)
Definition: capi.cpp:156
struct Boxa * TessBaseAPIGetConnectedComponents(TessBaseAPI *handle, struct Pixa **cc)
Definition: capi.cpp:366
void TessBaseAPIPrintVariables(const TessBaseAPI *handle, FILE *fp)
Definition: capi.cpp:201
const char * TessBaseAPIGetUnichar(TessBaseAPI *handle, int unichar_id)
Definition: capi.cpp:477
void TessBaseAPIInitForAnalysePage(TessBaseAPI *handle)
Definition: capi.cpp:277
TessPageIterator * TessResultIteratorGetPageIterator(TessResultIterator *handle)
Definition: capi.cpp:575
void TessBaseAPISetImage2(TessBaseAPI *handle, struct Pix *pix)
Definition: capi.cpp:314
char * TessBaseAPIGetAltoText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:423
BOOL TessBaseAPIGetTextDirection(TessBaseAPI *handle, int *out_offset, float *out_slope)
Definition: capi.cpp:473
const char * TessChoiceIteratorGetUTF8Text(const TessChoiceIterator *handle)
Definition: capi.cpp:665
void TessResultIteratorDelete(TessResultIterator *handle)
Definition: capi.cpp:567
char * TessBaseAPIGetLSTMBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:439
void TessPageIteratorDelete(TessPageIterator *handle)
Definition: capi.cpp:498
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:297
struct Pix * TessBaseAPIGetThresholdedImage(TessBaseAPI *handle)
Definition: capi.cpp:326
TessMutableIterator * TessBaseAPIGetMutableIterator(TessBaseAPI *handle)
Definition: capi.cpp:411
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:603
TessResultRenderer * TessUnlvRendererCreate(const char *outputbase)
Definition: capi.cpp:80
char * TessBaseAPIGetUNLVText(TessBaseAPI *handle)
Definition: capi.cpp:443
TessResultRenderer * TessLSTMBoxRendererCreate(const char *outputbase)
Definition: capi.cpp:92
BOOL TessResultRendererEndDocument(TessResultRenderer *renderer)
Definition: capi.cpp:116
void * TessMonitorGetCancelThis(ETEXT_DESC *monitor)
Definition: capi.cpp:689
int TessBaseAPIGetThresholdedImageScaleFactor(const TessBaseAPI *handle)
Definition: capi.cpp:383
char * TessResultIteratorGetUTF8Text(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:591
struct Pix * TessPageIteratorGetBinaryImage(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:532
TessResultIterator * TessBaseAPIGetIterator(TessBaseAPI *handle)
Definition: capi.cpp:407
BOOL TessBaseAPIProcessPages(TessBaseAPI *handle, const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
Definition: capi.cpp:395
const char * TessResultRendererExtention(TessResultRenderer *renderer)
Definition: capi.cpp:120
void TessBaseAPISetMinOrientationMargin(TessBaseAPI *handle, double margin)
Definition: capi.cpp:481
struct Boxa * TessBaseAPIGetComponentImages1(TessBaseAPI *handle, const TessPageIteratorLevel level, const BOOL text_only, const BOOL raw_image, const int raw_padding, struct Pixa **pixa, int **blockids, int **paraids)
Definition: capi.cpp:375
struct Boxa * TessBaseAPIGetTextlines1(TessBaseAPI *handle, const BOOL raw_image, const int raw_padding, struct Pixa **pixa, int **blockids, int **paraids)
Definition: capi.cpp:352
void TessBaseAPISetSourceResolution(TessBaseAPI *handle, int ppi)
Definition: capi.cpp:318
void TessBaseAPIReadConfigFile(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:281
int TessBaseAPINumDawgs(const TessBaseAPI *handle)
Definition: capi.cpp:485
TessChoiceIterator * TessResultIteratorGetChoiceIterator(const TessResultIterator *handle)
Definition: capi.cpp:583
struct Boxa * TessBaseAPIGetRegions(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:344
int TessBaseAPIIsValidWord(TessBaseAPI *handle, const char *word)
Definition: capi.cpp:469
void TessBaseAPISetRectangle(TessBaseAPI *handle, int left, int top, int width, int height)
Definition: capi.cpp:322
int TessBaseAPIInit3(TessBaseAPI *handle, const char *datapath, const char *language)
Definition: capi.cpp:241
float TessChoiceIteratorConfidence(const TessChoiceIterator *handle)
Definition: capi.cpp:669
TessPageIterator * TessPageIteratorCopy(const TessPageIterator *handle)
Definition: capi.cpp:502
void TessBaseAPIClearPersistentCache(TessBaseAPI *)
Definition: capi.cpp:330
BOOL TessPageIteratorBaseline(const TessPageIterator *handle, TessPageIteratorLevel level, int *x1, int *y1, int *x2, int *y2)
Definition: capi.cpp:542
const TessPageIterator * TessResultIteratorGetPageIteratorConst(const TessResultIterator *handle)
Definition: capi.cpp:579
const char * TessBaseAPIGetDatapath(TessBaseAPI *handle)
Definition: capi.cpp:164
BOOL TessPageIteratorBoundingBox(const TessPageIterator *handle, TessPageIteratorLevel level, int *left, int *top, int *right, int *bottom)
Definition: capi.cpp:523
TessResultRenderer * TessTsvRendererCreate(const char *outputbase)
Definition: capi.cpp:71
char * TessBaseAPIGetBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:431
void TessMonitorSetCancelFunc(ETEXT_DESC *monitor, TessCancelFunc cancelFunc)
Definition: capi.cpp:681
const char * TessBaseAPIGetInitLanguagesAsString(const TessBaseAPI *handle)
Definition: capi.cpp:261
BOOL TessResultIteratorWordIsNumeric(const TessResultIterator *handle)
Definition: capi.cpp:641
struct Boxa * TessBaseAPIGetWords(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:362
char ** TessBaseAPIGetAvailableLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:271
TessResultRenderer * TessHOcrRendererCreate(const char *outputbase)
Definition: capi.cpp:59
void TessBaseAPIDelete(TessBaseAPI *handle)
Definition: capi.cpp:136
BOOL TessBaseAPIAdaptToWordStr(TessBaseAPI *handle, TessPageSegMode mode, const char *wordstr)
Definition: capi.cpp:456
const char * TessResultRendererTitle(TessResultRenderer *renderer)
Definition: capi.cpp:124
void TessPageIteratorParagraphInfo(TessPageIterator *handle, TessParagraphJustification *justification, BOOL *is_list_item, BOOL *is_crown, int *first_line_indent)
Definition: capi.cpp:553
BOOL TessResultRendererAddImage(TessResultRenderer *renderer, TessBaseAPI *api)
Definition: capi.cpp:112
void TessMonitorSetProgressFunc(ETEXT_DESC *monitor, TessProgressFunc progressFunc)
Definition: capi.cpp:693
void TessBaseAPISetOutputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:168
TessResultRenderer * TessHOcrRendererCreate2(const char *outputbase, BOOL font_info)
Definition: capi.cpp:63
void TessBaseAPIReadDebugConfigFile(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:285
BOOL TessBaseAPIGetIntVariable(const TessBaseAPI *handle, const char *name, int *value)
Definition: capi.cpp:180
void TessBaseAPISetInputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:144
int TessBaseAPIInit2(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode oem)
Definition: capi.cpp:236
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:215
int TessMonitorGetProgress(ETEXT_DESC *monitor)
Definition: capi.cpp:697
void TessMonitorSetCancelThis(ETEXT_DESC *monitor, void *cancelThis)
Definition: capi.cpp:685
BOOL TessResultIteratorNext(TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:587
char * TessBaseAPIGetTsvText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:427
TessResultRenderer * TessPDFRendererCreate(const char *outputbase, const char *datadir, BOOL textonly)
Definition: capi.cpp:75
BOOL TessBaseAPISetDebugVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:176
float TessResultIteratorConfidence(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:595
void TessResultRendererInsert(TessResultRenderer *renderer, TessResultRenderer *next)
Definition: capi.cpp:100
TessResultIterator * TessResultIteratorCopy(const TessResultIterator *handle)
Definition: capi.cpp:571
void TessPageIteratorBegin(TessPageIterator *handle)
Definition: capi.cpp:506
void TessBaseGetBlockTextOrientations(TessBaseAPI *handle, int **block_orientation, bool **vertical_writing)
Definition: capi.cpp:493
BOOL TessPageIteratorIsAtFinalElement(const TessPageIterator *handle, TessPageIteratorLevel level, TessPageIteratorLevel element)
Definition: capi.cpp:518
void TessMonitorSetDeadlineMSecs(ETEXT_DESC *monitor, int deadline)
Definition: capi.cpp:701
TessResultRenderer * TessWordStrBoxRendererCreate(const char *outputbase)
Definition: capi.cpp:88
BOOL TessChoiceIteratorNext(TessChoiceIterator *handle)
Definition: capi.cpp:661
TessResultRenderer * TessResultRendererNext(TessResultRenderer *renderer)
Definition: capi.cpp:104
ETEXT_DESC * TessMonitorCreate()
Definition: capi.cpp:673
const char * TessBaseAPIGetStringVariable(const TessBaseAPI *handle, const char *name)
Definition: capi.cpp:197
TessResultRenderer * TessAltoRendererCreate(const char *outputbase)
Definition: capi.cpp:67
TessResultRenderer * TessTextRendererCreate(const char *outputbase)
Definition: capi.cpp:55
BOOL TessPageIteratorIsAtBeginningOf(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:514
void TessBaseAPIEnd(TessBaseAPI *handle)
Definition: capi.cpp:465
TessPolyBlockType TessPageIteratorBlockType(const TessPageIterator *handle)
Definition: capi.cpp:528
int TessBaseAPIInit5(TessBaseAPI *handle, const char *data, int data_size, 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:245
const char * TessBaseAPIGetInputName(TessBaseAPI *handle)
Definition: capi.cpp:148
void TessBaseAPISetPageSegMode(TessBaseAPI *handle, TessPageSegMode mode)
Definition: capi.cpp:289
void TessBaseAPISetInputImage(TessBaseAPI *handle, Pix *pix)
Definition: capi.cpp:152
BOOL TessBaseAPISetVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:172
TessBaseAPI * TessBaseAPICreate()
Definition: capi.cpp:132
const char * TessResultIteratorWordRecognitionLanguage(const TessResultIterator *handle)
Definition: capi.cpp:599
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:400
char * TessBaseAPIGetUTF8Text(TessBaseAPI *handle)
Definition: capi.cpp:415
void TessDeleteText(const char *text)
Definition: capi.cpp:31
int TessBaseAPIGetSourceYResolution(TessBaseAPI *handle)
Definition: capi.cpp:160
char ** TessBaseAPIGetLoadedLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:265
struct Boxa * TessBaseAPIGetStrips(TessBaseAPI *handle, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:358
size_t TessBaseAPIGetOpenCLDevice(TessBaseAPI *, void **device)
Definition: capi.cpp:140
char * TessBaseAPIGetHOCRText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:419
BOOL TessResultRendererBeginDocument(TessResultRenderer *renderer, const char *title)
Definition: capi.cpp:108
int TessBaseAPIRecognize(TessBaseAPI *handle, ETEXT_DESC *monitor)
Definition: capi.cpp:391
struct Boxa * TessBaseAPIGetComponentImages(TessBaseAPI *handle, TessPageIteratorLevel level, BOOL text_only, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:370
void TessBaseAPIClearAdaptiveClassifier(TessBaseAPI *handle)
Definition: capi.cpp:304
BOOL TessResultIteratorSymbolIsSubscript(const TessResultIterator *handle)
Definition: capi.cpp:649
void TessDeleteTextArray(char **arr)
Definition: capi.cpp:44
void TessDeleteResultRenderer(TessResultRenderer *renderer)
Definition: capi.cpp:96
TessOcrEngineMode TessBaseAPIOem(const TessBaseAPI *handle)
Definition: capi.cpp:489
int value
def next(obj)
Definition: ast.py:56