All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
capi.cpp
Go to the documentation of this file.
1 #ifndef TESS_CAPI_INCLUDE_BASEAPI
2 # define TESS_CAPI_INCLUDE_BASEAPI
3 #endif
4 #include "capi.h"
5 #include "genericvector.h"
6 #include "strngs.h"
7 
9 {
10  return TessBaseAPI::Version();
11 }
12 
14 {
15  delete [] text;
16 }
17 
19 {
20  for (char** pos = arr; *pos != NULL; ++pos)
21  delete [] *pos;
22  delete [] arr;
23 }
24 
26 {
27  delete [] arr;
28 }
29 
30 TESS_API void TESS_CALL TessDeleteBlockList(BLOCK_LIST* block_list)
31 {
32  TessBaseAPI::DeleteBlockList(block_list);
33 }
34 
36 {
37  return new TessTextRenderer(outputbase);
38 }
39 
41 {
42  return new TessHOcrRenderer(outputbase);
43 }
44 
46 {
47  return new TessHOcrRenderer(outputbase, font_info);
48 }
49 
50 TESS_API TessResultRenderer* TESS_CALL TessPDFRendererCreate(const char* outputbase, const char* datadir)
51 {
52  return new TessPDFRenderer(outputbase, datadir);
53 }
54 
56 {
57  return new TessUnlvRenderer(outputbase);
58 }
59 
61 {
62  return new TessBoxTextRenderer(outputbase);
63 }
64 
66 {
67  delete renderer;
68 }
69 
71 {
72  renderer->insert(next);
73 }
74 
76 {
77  return renderer->next();
78 }
79 
81 {
82  return renderer->BeginDocument(title);
83 }
84 
86 {
87  return renderer->AddImage(api);
88 }
89 
91 {
92  return renderer->EndDocument();
93 }
94 
96 {
97  return renderer->file_extension();
98 }
99 
101 {
102  return renderer->title();
103 }
104 
106 {
107  return renderer->imagenum();
108 }
109 
111 {
112  return new TessBaseAPI;
113 }
114 
116 {
117  delete handle;
118 }
119 
121 {
122  return handle->getOpenCLDevice(device);
123 }
124 
126 {
127  handle->SetInputName(name);
128 }
129 
131 {
132  return handle->GetInputName();
133 }
134 
136 {
137  handle->SetInputImage(pix);
138 }
139 
141 {
142  return handle->GetInputImage();
143 }
144 
146 {
147  return handle->GetSourceYResolution();
148 }
149 
151 {
152  return handle->GetDatapath();
153 }
154 
156 {
157  handle->SetOutputName(name);
158 }
159 
160 TESS_API BOOL TESS_CALL TessBaseAPISetVariable(TessBaseAPI* handle, const char* name, const char* value)
161 {
162  return handle->SetVariable(name, value) ? TRUE : FALSE;
163 }
164 
165 TESS_API BOOL TESS_CALL TessBaseAPISetDebugVariable(TessBaseAPI* handle, const char* name, const char* value)
166 {
167  return handle->SetVariable(name, value) ? TRUE : FALSE;
168 }
169 
170 TESS_API BOOL TESS_CALL TessBaseAPIGetIntVariable(const TessBaseAPI* handle, const char* name, int* value)
171 {
172  return handle->GetIntVariable(name, value) ? TRUE : FALSE;
173 }
174 
176 {
177  bool boolValue;
178  if (handle->GetBoolVariable(name, &boolValue))
179  {
180  *value = boolValue ? TRUE : FALSE;
181  return TRUE;
182  }
183  else
184  {
185  return FALSE;
186  }
187 }
188 
189 TESS_API BOOL TESS_CALL TessBaseAPIGetDoubleVariable(const TessBaseAPI* handle, const char* name, double* value)
190 {
191  return handle->GetDoubleVariable(name, value) ? TRUE : FALSE;
192 }
193 
194 TESS_API const char* TESS_CALL TessBaseAPIGetStringVariable(const TessBaseAPI* handle, const char* name)
195 {
196  return handle->GetStringVariable(name);
197 }
198 
200 {
201  handle->PrintVariables(fp);
202 }
203 
205 {
206  FILE* fp = fopen(filename, "w");
207  if (fp != NULL)
208  {
209  handle->PrintVariables(fp);
210  fclose(fp);
211  return TRUE;
212  }
213  return FALSE;
214 }
215 
217 {
218  return handle->GetVariableAsString(name, val) ? TRUE : FALSE;
219 }
220 
221 TESS_API int TESS_CALL TessBaseAPIInit4(TessBaseAPI* handle, const char* datapath, const char* language,
222  TessOcrEngineMode mode, char** configs, int configs_size,
223  char** vars_vec, char** vars_values, size_t vars_vec_size,
224  BOOL set_only_non_debug_params)
225 {
226  GenericVector<STRING> varNames;
227  GenericVector<STRING> varValues;
228  if (vars_vec != NULL && vars_values != NULL) {
229  for (size_t i = 0; i < vars_vec_size; i++) {
230  varNames.push_back(STRING(vars_vec[i]));
231  varValues.push_back(STRING(vars_values[i]));
232  }
233  }
234 
235  return handle->Init(datapath, language, mode, configs, configs_size, &varNames, &varValues, set_only_non_debug_params);
236 }
237 
238 
239 TESS_API int TESS_CALL TessBaseAPIInit1(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode oem,
240  char** configs, int configs_size)
241 {
242  return handle->Init(datapath, language, oem, configs, configs_size, NULL, NULL, false);
243 }
244 
245 TESS_API int TESS_CALL TessBaseAPIInit2(TessBaseAPI* handle, const char* datapath, const char* language, TessOcrEngineMode oem)
246 {
247  return handle->Init(datapath, language, oem);
248 }
249 
250 TESS_API int TESS_CALL TessBaseAPIInit3(TessBaseAPI* handle, const char* datapath, const char* language)
251 {
252  return handle->Init(datapath, language);
253 }
254 
256 {
257  return handle->GetInitLanguagesAsString();
258 }
259 
261 {
262  GenericVector<STRING> languages;
263  handle->GetLoadedLanguagesAsVector(&languages);
264  char** arr = new char*[languages.size() + 1];
265  for (int index = 0; index < languages.size(); ++index)
266  arr[index] = languages[index].strdup();
267  arr[languages.size()] = NULL;
268  return arr;
269 }
270 
272 {
273  GenericVector<STRING> languages;
274  handle->GetAvailableLanguagesAsVector(&languages);
275  char** arr = new char*[languages.size() + 1];
276  for (int index = 0; index < languages.size(); ++index)
277  arr[index] = languages[index].strdup();
278  arr[languages.size()] = NULL;
279  return arr;
280 }
281 
282 TESS_API int TESS_CALL TessBaseAPIInitLangMod(TessBaseAPI* handle, const char* datapath, const char* language)
283 {
284  return handle->InitLangMod(datapath, language);
285 }
286 
288 {
289  handle->InitForAnalysePage();
290 }
291 
293 {
294  handle->ReadConfigFile(filename);
295 }
296 
298 {
299  handle->ReadDebugConfigFile(filename);
300 }
301 
303 {
304  handle->SetPageSegMode(mode);
305 }
306 
308 {
309  return handle->GetPageSegMode();
310 }
311 
312 TESS_API char* TESS_CALL TessBaseAPIRect(TessBaseAPI* handle, const unsigned char* imagedata,
313  int bytes_per_pixel, int bytes_per_line,
314  int left, int top, int width, int height)
315 {
316  return handle->TesseractRect(imagedata, bytes_per_pixel, bytes_per_line, left, top, width, height);
317 }
318 
320 {
321  handle->ClearAdaptiveClassifier();
322 }
323 
324 TESS_API void TESS_CALL TessBaseAPISetImage(TessBaseAPI* handle, const unsigned char* imagedata, int width, int height,
325  int bytes_per_pixel, int bytes_per_line)
326 {
327  handle->SetImage(imagedata, width, height, bytes_per_pixel, bytes_per_line);
328 }
329 
330 TESS_API void TESS_CALL TessBaseAPISetImage2(TessBaseAPI* handle, struct Pix* pix)
331 {
332  return handle->SetImage(pix);
333 }
334 
336 {
337  handle->SetSourceResolution(ppi);
338 }
339 
340 TESS_API void TESS_CALL TessBaseAPISetRectangle(TessBaseAPI* handle, int left, int top, int width, int height)
341 {
342  handle->SetRectangle(left, top, width, height);
343 }
344 
345 TESS_API void TESS_CALL TessBaseAPISetThresholder(TessBaseAPI* handle, TessImageThresholder* thresholder)
346 {
347  handle->SetThresholder(thresholder);
348 }
349 
351 {
352  return handle->GetThresholdedImage();
353 }
354 
355 TESS_API struct Boxa* TESS_CALL TessBaseAPIGetRegions(TessBaseAPI* handle, struct Pixa** pixa)
356 {
357  return handle->GetRegions(pixa);
358 }
359 
360 TESS_API struct Boxa* TESS_CALL TessBaseAPIGetTextlines(TessBaseAPI* handle, struct Pixa** pixa, int** blockids)
361 {
362  return handle->GetTextlines(pixa, blockids);
363 }
364 
365 TESS_API struct Boxa* TESS_CALL TessBaseAPIGetTextlines1(TessBaseAPI* handle, const BOOL raw_image, const int raw_padding,
366  struct Pixa** pixa, int** blockids, int** paraids)
367 {
368  return handle->GetTextlines(raw_image, raw_padding, pixa, blockids, paraids);
369 }
370 
371 TESS_API struct Boxa* TESS_CALL TessBaseAPIGetStrips(TessBaseAPI* handle, struct Pixa** pixa, int** blockids)
372 {
373  return handle->GetStrips(pixa, blockids);
374 }
375 
376 TESS_API struct Boxa* TESS_CALL TessBaseAPIGetWords(TessBaseAPI* handle, struct Pixa** pixa)
377 {
378  return handle->GetWords(pixa);
379 }
380 
381 TESS_API struct Boxa* TESS_CALL TessBaseAPIGetConnectedComponents(TessBaseAPI* handle, struct Pixa** cc)
382 {
383  return handle->GetConnectedComponents(cc);
384 }
385 
386 TESS_API struct Boxa* TESS_CALL TessBaseAPIGetComponentImages(TessBaseAPI* handle, TessPageIteratorLevel level, BOOL text_only, struct Pixa** pixa, int** blockids)
387 {
388  return handle->GetComponentImages(level, text_only != FALSE, pixa, blockids);
389 }
390 
391 TESS_API struct Boxa*
393  const BOOL raw_image, const int raw_padding,
394  struct Pixa** pixa, int** blockids, int** paraids)
395 {
396  return handle->GetComponentImages(level, text_only != FALSE, raw_image, raw_padding, pixa, blockids, paraids);
397 }
398 
400 {
401  return handle->GetThresholdedImageScaleFactor();
402 }
403 
405 {
406  handle->DumpPGM(filename);
407 }
408 
410 {
411  return handle->AnalyseLayout();
412 }
413 
415 {
416  return handle->Recognize(monitor);
417 }
418 
420 {
421  return handle->RecognizeForChopTest(monitor);
422 }
423 
424 TESS_API BOOL TESS_CALL TessBaseAPIProcessPages(TessBaseAPI* handle, const char* filename, const char* retry_config,
425  int timeout_millisec, TessResultRenderer* renderer)
426 {
427  if (handle->ProcessPages(filename, retry_config, timeout_millisec, renderer))
428  return TRUE;
429  else
430  return FALSE;
431 }
432 
433 TESS_API BOOL TESS_CALL TessBaseAPIProcessPage(TessBaseAPI* handle, struct Pix* pix, int page_index, const char* filename,
434  const char* retry_config, int timeout_millisec, TessResultRenderer* renderer)
435 {
436  if (handle->ProcessPage(pix, page_index, filename, retry_config, timeout_millisec, renderer))
437  return TRUE;
438  else
439  return FALSE;
440 }
441 
443 {
444  return handle->GetIterator();
445 }
446 
448 {
449  return handle->GetMutableIterator();
450 }
451 
453 {
454  return handle->GetUTF8Text();
455 }
456 
457 TESS_API char* TESS_CALL TessBaseAPIGetHOCRText(TessBaseAPI* handle, int page_number)
458 {
459  return handle->GetHOCRText(page_number);
460 }
461 
462 TESS_API char* TESS_CALL TessBaseAPIGetBoxText(TessBaseAPI* handle, int page_number)
463 {
464  return handle->GetBoxText(page_number);
465 }
466 
468 {
469  return handle->GetUNLVText();
470 }
471 
473 {
474  return handle->MeanTextConf();
475 }
476 
478 {
479  return handle->AllWordConfidences();
480 }
481 
483 {
484  return handle->AdaptToWordStr(mode, wordstr) ? TRUE : FALSE;
485 }
486 
488 {
489  handle->Clear();
490 }
491 
493 {
494  handle->End();
495 }
496 
497 TESS_API int TESS_CALL TessBaseAPIIsValidWord(TessBaseAPI* handle, const char* word)
498 {
499  return handle->IsValidWord(word);
500 }
501 
502 TESS_API BOOL TESS_CALL TessBaseAPIGetTextDirection(TessBaseAPI* handle, int* out_offset, float* out_slope)
503 {
504  return handle->GetTextDirection(out_offset, out_slope) ? TRUE : FALSE;
505 }
506 
508 {
509  handle->SetDictFunc(f);
510 }
511 
513 {
514  handle->ClearPersistentCache();
515 }
516 
517 TESS_API void TESS_CALL TessBaseAPISetProbabilityInContextFunc(TessBaseAPI* handle, TessProbabilityInContextFunc f)
518 {
519  handle->SetProbabilityInContextFunc(f);
520 }
521 
523 {
524  return handle->DetectOS(results) ? TRUE : FALSE;
525 }
526 
528  int* num_features, int* FeatureOutlineIndex)
529 {
530  handle->GetFeaturesForBlob(blob, int_features, num_features, FeatureOutlineIndex);
531 }
532 
533 TESS_API ROW* TESS_CALL TessFindRowForBox(BLOCK_LIST* blocks, int left, int top, int right, int bottom)
534 {
535  return TessBaseAPI::FindRowForBox(blocks, left, top, right, bottom);
536 }
537 
538 TESS_API void TESS_CALL TessBaseAPIRunAdaptiveClassifier(TessBaseAPI* handle, TBLOB* blob, int num_max_matches,
539  int* unichar_ids, float* ratings, int* num_matches_returned)
540 {
541  handle->RunAdaptiveClassifier(blob, num_max_matches, unichar_ids, ratings, num_matches_returned);
542 }
543 
544 TESS_API const char* TESS_CALL TessBaseAPIGetUnichar(TessBaseAPI* handle, int unichar_id)
545 {
546  return handle->GetUnichar(unichar_id);
547 }
548 
549 TESS_API const TessDawg* TESS_CALL TessBaseAPIGetDawg(const TessBaseAPI* handle, int i)
550 {
551  return handle->GetDawg(i);
552 }
553 
555 {
556  return handle->NumDawgs();
557 }
558 
559 TESS_API ROW* TESS_CALL TessMakeTessOCRRow(float baseline, float xheight, float descender, float ascender)
560 {
561  return TessBaseAPI::MakeTessOCRRow(baseline, xheight, descender, ascender);
562 }
563 
565 {
566  return TessBaseAPI::MakeTBLOB(pix);
567 }
568 
569 TESS_API void TESS_CALL TessNormalizeTBLOB(TBLOB* tblob, ROW* row, BOOL numeric_mode)
570 {
571  TessBaseAPI::NormalizeTBLOB(tblob, row, numeric_mode != FALSE);
572 }
573 
575 {
576  return handle->oem();
577 }
578 
579 TESS_API void TESS_CALL TessBaseAPIInitTruthCallback(TessBaseAPI* handle, TessTruthCallback* cb)
580 {
581  handle->InitTruthCallback(cb);
582 }
583 
584 TESS_API TessCubeRecoContext* TESS_CALL TessBaseAPIGetCubeRecoContext(const TessBaseAPI* handle)
585 {
586  return handle->GetCubeRecoContext();
587 }
588 
590 {
591  handle->set_min_orientation_margin(margin);
592 }
593 
594 TESS_API void TESS_CALL TessBaseGetBlockTextOrientations(TessBaseAPI* handle, int** block_orientation, bool** vertical_writing)
595 {
596  handle->GetBlockTextOrientations(block_orientation, vertical_writing);
597 }
598 
600 {
601  return handle->FindLinesCreateBlockList();
602 }
603 
605 {
606  delete handle;
607 }
608 
610 {
611  return new TessPageIterator(*handle);
612 }
613 
615 {
616  handle->Begin();
617 }
618 
620 {
621  return handle->Next(level) ? TRUE : FALSE;
622 }
623 
625 {
626  return handle->IsAtBeginningOf(level) ? TRUE : FALSE;
627 }
628 
630  TessPageIteratorLevel element)
631 {
632  return handle->IsAtFinalElement(level, element) ? TRUE : FALSE;
633 }
634 
636  int* left, int* top, int* right, int* bottom)
637 {
638  return handle->BoundingBox(level, left, top, right, bottom) ? TRUE : FALSE;
639 }
640 
642 {
643  return handle->BlockType();
644 }
645 
647 {
648  return handle->GetBinaryImage(level);
649 }
650 
652  struct Pix* original_image, int* left, int* top)
653 {
654  return handle->GetImage(level, padding, original_image, left, top);
655 }
656 
658  int* x1, int* y1, int* x2, int* y2)
659 {
660  return handle->Baseline(level, x1, y1, x2, y2) ? TRUE : FALSE;
661 }
662 
664  TessWritingDirection* writing_direction, TessTextlineOrder* textline_order,
665  float* deskew_angle)
666 {
667  handle->Orientation(orientation, writing_direction, textline_order, deskew_angle);
668 }
669 
671  BOOL *is_list_item, BOOL *is_crown, int *first_line_indent)
672 {
673  bool bool_is_list_item, bool_is_crown;
674  handle->ParagraphInfo(justification, &bool_is_list_item, &bool_is_crown, first_line_indent);
675  if (is_list_item)
676  *is_list_item = bool_is_list_item ? TRUE : FALSE;
677  if (is_crown)
678  *is_crown = bool_is_crown ? TRUE : FALSE;
679 }
680 
681 
683 {
684  delete handle;
685 }
686 
688 {
689  return new TessResultIterator(*handle);
690 }
691 
693 {
694  return handle;
695 }
696 
698 {
699  return handle;
700 }
701 
703 {
704  return new TessChoiceIterator(*handle);
705 }
706 
708 {
709  return handle->Next(level);
710 }
711 
713 {
714  return handle->GetUTF8Text(level);
715 }
716 
718 {
719  return handle->Confidence(level);
720 }
721 
723 {
724  return handle->WordRecognitionLanguage();
725 }
726 
727 TESS_API const char* TESS_CALL TessResultIteratorWordFontAttributes(const TessResultIterator* handle, BOOL* is_bold, BOOL* is_italic,
728  BOOL* is_underlined, BOOL* is_monospace, BOOL* is_serif,
729  BOOL* is_smallcaps, int* pointsize, int* font_id)
730 {
731  bool bool_is_bold, bool_is_italic, bool_is_underlined, bool_is_monospace, bool_is_serif, bool_is_smallcaps;
732  const char* ret = handle->WordFontAttributes(&bool_is_bold, &bool_is_italic, &bool_is_underlined, &bool_is_monospace, &bool_is_serif,
733  &bool_is_smallcaps, pointsize, font_id);
734  if (is_bold)
735  *is_bold = bool_is_bold ? TRUE : FALSE;
736  if (is_italic)
737  *is_italic = bool_is_italic ? TRUE : FALSE;
738  if (is_underlined)
739  *is_underlined = bool_is_underlined ? TRUE : FALSE;
740  if (is_monospace)
741  *is_monospace = bool_is_monospace ? TRUE : FALSE;
742  if (is_serif)
743  *is_serif = bool_is_serif ? TRUE : FALSE;
744  if (is_smallcaps)
745  *is_smallcaps = bool_is_smallcaps ? TRUE : FALSE;
746  return ret;
747 }
748 
750 {
751  return handle->WordIsFromDictionary() ? TRUE : FALSE;
752 }
753 
755 {
756  return handle->WordIsNumeric() ? TRUE : FALSE;
757 }
758 
760 {
761  return handle->SymbolIsSuperscript() ? TRUE : FALSE;
762 }
763 
765 {
766  return handle->SymbolIsSubscript() ? TRUE : FALSE;
767 }
768 
770 {
771  return handle->SymbolIsDropcap() ? TRUE : FALSE;
772 }
773 
775 {
776  delete handle;
777 }
778 
780 {
781  return handle->Next();
782 }
783 
785 {
786  return handle->GetUTF8Text();
787 }
788 
790 {
791  return handle->Confidence();
792 }
Definition: blobs.h:261
TESS_API int TESS_CALL TessBaseAPIInit1(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode oem, char **configs, int configs_size)
Definition: capi.cpp:239
TESS_API ROW *TESS_CALL TessFindRowForBox(BLOCK_LIST *blocks, int left, int top, int right, int bottom)
Definition: capi.cpp:533
TessTextlineOrder
Definition: capi.h:83
TESS_API void TESS_CALL TessBaseAPIPrintVariables(const TessBaseAPI *handle, FILE *fp)
Definition: capi.cpp:199
TESS_API void TESS_CALL TessDeleteIntArray(int *arr)
Definition: capi.cpp:25
TESS_API void TESS_CALL TessBaseAPIInitForAnalysePage(TessBaseAPI *handle)
Definition: capi.cpp:287
TESS_API void TESS_CALL TessBaseAPISetImage2(TessBaseAPI *handle, struct Pix *pix)
Definition: capi.cpp:330
struct TessResultIterator TessResultIterator
Definition: capi.h:69
TESS_API void TESS_CALL TessBaseAPISetDictFunc(TessBaseAPI *handle, TessDictFunc f)
Definition: capi.cpp:507
TESS_API int TESS_CALL TessResultRendererImageNum(TessResultRenderer *renderer)
Definition: capi.cpp:105
TESS_API BOOL TESS_CALL TessResultIteratorSymbolIsSubscript(const TessResultIterator *handle)
Definition: capi.cpp:764
TESS_API void TESS_CALL TessBaseAPISetSourceResolution(TessBaseAPI *handle, int ppi)
Definition: capi.cpp:335
int size() const
Definition: genericvector.h:72
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetComponentImages(TessBaseAPI *handle, TessPageIteratorLevel level, BOOL text_only, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:386
TESS_API BOOL TESS_CALL TessChoiceIteratorNext(TessChoiceIterator *handle)
Definition: capi.cpp:779
TESS_API const char *TESS_CALL TessResultIteratorWordRecognitionLanguage(const TessResultIterator *handle)
Definition: capi.cpp:722
#define BOOL
Definition: capi.h:27
struct TessChoiceIterator TessChoiceIterator
Definition: capi.h:71
TESS_API TessPageIterator *TESS_CALL TessResultIteratorGetPageIterator(TessResultIterator *handle)
Definition: capi.cpp:692
TESS_API int TESS_CALL TessBaseAPIGetThresholdedImageScaleFactor(const TessBaseAPI *handle)
Definition: capi.cpp:399
TESS_API BOOL TESS_CALL TessPageIteratorIsAtBeginningOf(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:624
struct TessResultRenderer TessResultRenderer
Definition: capi.h:61
TESS_API BOOL TESS_CALL TessResultIteratorSymbolIsSuperscript(const TessResultIterator *handle)
Definition: capi.cpp:759
TESS_API const TessDawg *TESS_CALL TessBaseAPIGetDawg(const TessBaseAPI *handle, int i)
Definition: capi.cpp:549
TESS_API BLOCK_LIST *TESS_CALL TessBaseAPIFindLinesCreateBlockList(TessBaseAPI *handle)
Definition: capi.cpp:599
TESS_API void TESS_CALL TessBaseAPISetRectangle(TessBaseAPI *handle, int left, int top, int width, int height)
Definition: capi.cpp:340
TESS_API void TESS_CALL TessPageIteratorOrientation(TessPageIterator *handle, TessOrientation *orientation, TessWritingDirection *writing_direction, TessTextlineOrder *textline_order, float *deskew_angle)
Definition: capi.cpp:663
int push_back(T object)
struct TessUnlvRenderer TessUnlvRenderer
Definition: capi.h:65
TESS_API TessResultIterator *TESS_CALL TessBaseAPIGetIterator(TessBaseAPI *handle)
Definition: capi.cpp:442
TESS_API BOOL TESS_CALL TessPageIteratorBoundingBox(const TessPageIterator *handle, TessPageIteratorLevel level, int *left, int *top, int *right, int *bottom)
Definition: capi.cpp:635
TESS_API struct Pix *TESS_CALL TessPageIteratorGetImage(const TessPageIterator *handle, TessPageIteratorLevel level, int padding, struct Pix *original_image, int *left, int *top)
Definition: capi.cpp:651
TESS_API char *TESS_CALL TessBaseAPIGetUTF8Text(TessBaseAPI *handle)
Definition: capi.cpp:452
TESS_API void TESS_CALL TessChoiceIteratorDelete(TessChoiceIterator *handle)
Definition: capi.cpp:774
TESS_API TessChoiceIterator *TESS_CALL TessResultIteratorGetChoiceIterator(const TessResultIterator *handle)
Definition: capi.cpp:702
TessOrientation
Definition: capi.h:80
TESS_API BOOL TESS_CALL TessBaseAPIGetDoubleVariable(const TessBaseAPI *handle, const char *name, double *value)
Definition: capi.cpp:189
struct TessMutableIterator TessMutableIterator
Definition: capi.h:70
TESS_API char **TESS_CALL TessBaseAPIGetAvailableLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:271
TESS_API int TESS_CALL TessBaseAPIRecognizeForChopTest(TessBaseAPI *handle, ETEXT_DESC *monitor)
Definition: capi.cpp:419
TESS_API struct Pix *TESS_CALL TessBaseAPIGetThresholdedImage(TessBaseAPI *handle)
Definition: capi.cpp:350
TESS_API TessBaseAPI *TESS_CALL TessBaseAPICreate()
Definition: capi.cpp:110
TESS_API void TESS_CALL TessBaseAPIReadDebugConfigFile(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:297
TESS_API BOOL TESS_CALL TessBaseAPIProcessPage(TessBaseAPI *handle, struct Pix *pix, int page_index, const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
Definition: capi.cpp:433
TESS_API void TESS_CALL TessBaseAPISetThresholder(TessBaseAPI *handle, TessImageThresholder *thresholder)
Definition: capi.cpp:345
TESS_API BOOL TESS_CALL TessBaseAPISetDebugVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:165
TESS_API int *TESS_CALL TessBaseAPIAllWordConfidences(TessBaseAPI *handle)
Definition: capi.cpp:477
TESS_API char *TESS_CALL TessBaseAPIGetUNLVText(TessBaseAPI *handle)
Definition: capi.cpp:467
TessPageIteratorLevel
Definition: capi.h:76
TESS_API int TESS_CALL TessBaseAPIGetSourceYResolution(TessBaseAPI *handle)
Definition: capi.cpp:145
TESS_API void TESS_CALL TessDeleteResultRenderer(TessResultRenderer *renderer)
Definition: capi.cpp:65
TESS_API const char *TESS_CALL TessResultRendererExtention(TessResultRenderer *renderer)
Definition: capi.cpp:95
TESS_API void TESS_CALL TessBaseAPIClear(TessBaseAPI *handle)
Definition: capi.cpp:487
TESS_API BOOL TESS_CALL TessBaseAPIGetIntVariable(const TessBaseAPI *handle, const char *name, int *value)
Definition: capi.cpp:170
CMD_EVENTS mode
Definition: pgedit.cpp:116
struct TessTextRenderer TessTextRenderer
Definition: capi.h:62
TESS_API int TESS_CALL TessBaseAPIInitLangMod(TessBaseAPI *handle, const char *datapath, const char *language)
Definition: capi.cpp:282
TESS_API int TESS_CALL TessBaseAPIInit2(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode oem)
Definition: capi.cpp:245
TESS_API void TESS_CALL TessDeleteBlockList(BLOCK_LIST *block_list)
Definition: capi.cpp:30
TESS_API const char *TESS_CALL TessBaseAPIGetUnichar(TessBaseAPI *handle, int unichar_id)
Definition: capi.cpp:544
TESS_API BOOL TESS_CALL TessPageIteratorBaseline(const TessPageIterator *handle, TessPageIteratorLevel level, int *x1, int *y1, int *x2, int *y2)
Definition: capi.cpp:657
TESS_API ROW *TESS_CALL TessMakeTessOCRRow(float baseline, float xheight, float descender, float ascender)
Definition: capi.cpp:559
TESS_API TessCubeRecoContext *TESS_CALL TessBaseAPIGetCubeRecoContext(const TessBaseAPI *handle)
Definition: capi.cpp:584
TESS_API void TESS_CALL TessBaseAPIInitTruthCallback(TessBaseAPI *handle, TessTruthCallback *cb)
Definition: capi.cpp:579
TESS_API TessPolyBlockType TESS_CALL TessPageIteratorBlockType(const TessPageIterator *handle)
Definition: capi.cpp:641
TESS_API TessPageIterator *TESS_CALL TessPageIteratorCopy(const TessPageIterator *handle)
Definition: capi.cpp:609
Definition: ocrrow.h:32
TESS_API void TESS_CALL TessBaseAPISetOutputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:155
TESS_API int TESS_CALL 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:221
TESS_API BOOL TESS_CALL TessResultIteratorNext(TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:707
struct TessBaseAPI TessBaseAPI
Definition: capi.h:67
TESS_API struct Pix *TESS_CALL TessPageIteratorGetBinaryImage(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:646
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetRegions(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:355
TESS_API void TESS_CALL TessResultIteratorDelete(TessResultIterator *handle)
Definition: capi.cpp:682
TESS_API int TESS_CALL TessBaseAPIIsValidWord(TessBaseAPI *handle, const char *word)
Definition: capi.cpp:497
TESS_API size_t TESS_CALL TessBaseAPIGetOpenCLDevice(TessBaseAPI *handle, void **device)
Definition: capi.cpp:120
TESS_API void TESS_CALL TessBaseAPIGetFeaturesForBlob(TessBaseAPI *handle, TBLOB *blob, INT_FEATURE_STRUCT *int_features, int *num_features, int *FeatureOutlineIndex)
Definition: capi.cpp:527
struct TessBoxTextRenderer TessBoxTextRenderer
Definition: capi.h:66
TESS_API void TESS_CALL TessBaseAPIDelete(TessBaseAPI *handle)
Definition: capi.cpp:115
TESS_API TessPageIterator *TESS_CALL TessBaseAPIAnalyseLayout(TessBaseAPI *handle)
Definition: capi.cpp:409
TESS_API TessResultRenderer *TESS_CALL TessBoxTextRendererCreate(const char *outputbase)
Definition: capi.cpp:60
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetWords(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:376
TESS_API TessMutableIterator *TESS_CALL TessBaseAPIGetMutableIterator(TessBaseAPI *handle)
Definition: capi.cpp:447
TESS_API BOOL TESS_CALL TessBaseAPIGetVariableAsString(TessBaseAPI *handle, const char *name, STRING *val)
Definition: capi.cpp:216
TESS_API char *TESS_CALL TessBaseAPIGetHOCRText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:457
TESS_API int TESS_CALL TessBaseAPINumDawgs(const TessBaseAPI *handle)
Definition: capi.cpp:554
name_table name
TESS_API void TESS_CALL TessBaseAPIClearPersistentCache(TessBaseAPI *handle)
Definition: capi.cpp:512
TESS_API TessResultRenderer *TESS_CALL TessHOcrRendererCreate2(const char *outputbase, BOOL font_info)
Definition: capi.cpp:45
TESS_API BOOL TESS_CALL TessResultIteratorSymbolIsDropcap(const TessResultIterator *handle)
Definition: capi.cpp:769
TESS_API BOOL TESS_CALL TessResultIteratorWordIsNumeric(const TessResultIterator *handle)
Definition: capi.cpp:754
TESS_API void TESS_CALL TessPageIteratorBegin(TessPageIterator *handle)
Definition: capi.cpp:614
TESS_API TessResultRenderer *TESS_CALL TessPDFRendererCreate(const char *outputbase, const char *datadir)
Definition: capi.cpp:50
TESS_API void TESS_CALL TessDeleteText(char *text)
Definition: capi.cpp:13
TESS_API void TESS_CALL TessBaseAPISetMinOrientationMargin(TessBaseAPI *handle, double margin)
Definition: capi.cpp:589
TESS_API float TESS_CALL TessChoiceIteratorConfidence(const TessChoiceIterator *handle)
Definition: capi.cpp:789
TessWritingDirection
Definition: capi.h:82
TESS_API void TESS_CALL TessBaseAPISetImage(TessBaseAPI *handle, const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line)
Definition: capi.cpp:324
TESS_API BOOL TESS_CALL TessBaseAPIGetBoolVariable(const TessBaseAPI *handle, const char *name, BOOL *value)
Definition: capi.cpp:175
TESS_API TessPageSegMode TESS_CALL TessBaseAPIGetPageSegMode(const TessBaseAPI *handle)
Definition: capi.cpp:307
TESS_API float TESS_CALL TessResultIteratorConfidence(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:717
TESS_API char *TESS_CALL TessBaseAPIGetBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:462
TESS_API TessResultIterator *TESS_CALL TessResultIteratorCopy(const TessResultIterator *handle)
Definition: capi.cpp:687
TESS_API void TESS_CALL TessPageIteratorDelete(TessPageIterator *handle)
Definition: capi.cpp:604
TESS_API void TESS_CALL TessPageIteratorParagraphInfo(TessPageIterator *handle, TessParagraphJustification *justification, BOOL *is_list_item, BOOL *is_crown, int *first_line_indent)
Definition: capi.cpp:670
TESS_API BOOL TESS_CALL TessPageIteratorNext(TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:619
TESS_API Pix *TESS_CALL TessBaseAPIGetInputImage(TessBaseAPI *handle)
Definition: capi.cpp:140
TessPageSegMode
Definition: capi.h:73
TESS_API BOOL TESS_CALL TessBaseAPIDetectOS(TessBaseAPI *handle, OSResults *results)
Definition: capi.cpp:522
TESS_API BOOL TESS_CALL TessResultIteratorWordIsFromDictionary(const TessResultIterator *handle)
Definition: capi.cpp:749
TESS_API BOOL TESS_CALL TessBaseAPIAdaptToWordStr(TessBaseAPI *handle, TessPageSegMode mode, const char *wordstr)
Definition: capi.cpp:482
TESS_API char *TESS_CALL TessResultIteratorGetUTF8Text(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:712
#define TESS_API
Definition: platform.h:73
TESS_API BOOL TESS_CALL TessResultRendererEndDocument(TessResultRenderer *renderer)
Definition: capi.cpp:90
TESS_API TessOcrEngineMode TESS_CALL TessBaseAPIOem(const TessBaseAPI *handle)
Definition: capi.cpp:574
TESS_API int TESS_CALL TessBaseAPIInit3(TessBaseAPI *handle, const char *datapath, const char *language)
Definition: capi.cpp:250
TESS_API int TESS_CALL TessBaseAPIRecognize(TessBaseAPI *handle, ETEXT_DESC *monitor)
Definition: capi.cpp:414
struct TessHOcrRenderer TessHOcrRenderer
Definition: capi.h:63
TESS_API const char *TESS_CALL 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:727
TESS_API void TESS_CALL TessBaseGetBlockTextOrientations(TessBaseAPI *handle, int **block_orientation, bool **vertical_writing)
Definition: capi.cpp:594
TessOcrEngineMode
Definition: capi.h:72
TESS_API void TESS_CALL TessDeleteTextArray(char **arr)
Definition: capi.cpp:18
TESS_API void TESS_CALL TessBaseAPIRunAdaptiveClassifier(TessBaseAPI *handle, TBLOB *blob, int num_max_matches, int *unichar_ids, float *ratings, int *num_matches_returned)
Definition: capi.cpp:538
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetTextlines(TessBaseAPI *handle, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:360
TESS_API void TESS_CALL TessBaseAPISetInputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:125
TESS_API void TESS_CALL TessBaseAPISetPageSegMode(TessBaseAPI *handle, TessPageSegMode mode)
Definition: capi.cpp:302
struct TessPDFRenderer TessPDFRenderer
Definition: capi.h:64
TESS_API BOOL TESS_CALL TessBaseAPIPrintVariablesToFile(const TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:204
#define FALSE
Definition: capi.h:29
TESS_API BOOL TESS_CALL TessPageIteratorIsAtFinalElement(const TessPageIterator *handle, TessPageIteratorLevel level, TessPageIteratorLevel element)
Definition: capi.cpp:629
TESS_API void TESS_CALL TessBaseAPIEnd(TessBaseAPI *handle)
Definition: capi.cpp:492
TESS_API void TESS_CALL TessBaseAPIDumpPGM(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:404
TessParagraphJustification
Definition: capi.h:81
#define TESS_CALL
Definition: capi.h:22
TESS_API TessResultRenderer *TESS_CALL TessResultRendererNext(TessResultRenderer *renderer)
Definition: capi.cpp:75
TESS_API BOOL TESS_CALL TessResultRendererAddImage(TessResultRenderer *renderer, TessBaseAPI *api)
Definition: capi.cpp:85
TESS_API BOOL TESS_CALL TessBaseAPIProcessPages(TessBaseAPI *handle, const char *filename, const char *retry_config, int timeout_millisec, TessResultRenderer *renderer)
Definition: capi.cpp:424
TESS_API const char *TESS_CALL TessBaseAPIGetInputName(TessBaseAPI *handle)
Definition: capi.cpp:130
#define TRUE
Definition: capi.h:28
TESS_API const char *TESS_CALL TessVersion()
Definition: capi.cpp:8
TESS_API char **TESS_CALL TessBaseAPIGetLoadedLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:260
TESS_API const char *TESS_CALL TessChoiceIteratorGetUTF8Text(const TessChoiceIterator *handle)
Definition: capi.cpp:784
TessPolyBlockType
Definition: capi.h:77
TESS_API TBLOB *TESS_CALL TessMakeTBLOB(struct Pix *pix)
Definition: capi.cpp:564
TESS_API char *TESS_CALL 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:312
Definition: strngs.h:44
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetStrips(TessBaseAPI *handle, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:371
#define NULL
Definition: host.h:144
TESS_API void TESS_CALL TessResultRendererInsert(TessResultRenderer *renderer, TessResultRenderer *next)
Definition: capi.cpp:70
TESS_API const char *TESS_CALL TessBaseAPIGetInitLanguagesAsString(const TessBaseAPI *handle)
Definition: capi.cpp:255
struct TessPageIterator TessPageIterator
Definition: capi.h:68
TESS_API TessResultRenderer *TESS_CALL TessTextRendererCreate(const char *outputbase)
Definition: capi.cpp:35
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetTextlines1(TessBaseAPI *handle, const BOOL raw_image, const int raw_padding, struct Pixa **pixa, int **blockids, int **paraids)
Definition: capi.cpp:365
TESS_API struct Boxa *TESS_CALL 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:392
TESS_API BOOL TESS_CALL TessResultRendererBeginDocument(TessResultRenderer *renderer, const char *title)
Definition: capi.cpp:80
TESS_API const char *TESS_CALL TessResultRendererTitle(TessResultRenderer *renderer)
Definition: capi.cpp:100
TESS_API void TESS_CALL TessBaseAPIClearAdaptiveClassifier(TessBaseAPI *handle)
Definition: capi.cpp:319
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetConnectedComponents(TessBaseAPI *handle, struct Pixa **cc)
Definition: capi.cpp:381
TESS_API void TESS_CALL TessBaseAPISetProbabilityInContextFunc(TessBaseAPI *handle, TessProbabilityInContextFunc f)
Definition: capi.cpp:517
TESS_API void TESS_CALL TessBaseAPIReadConfigFile(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:292
TESS_API const TessPageIterator *TESS_CALL TessResultIteratorGetPageIteratorConst(const TessResultIterator *handle)
Definition: capi.cpp:697
TESS_API TessResultRenderer *TESS_CALL TessUnlvRendererCreate(const char *outputbase)
Definition: capi.cpp:55
TESS_API void TESS_CALL TessNormalizeTBLOB(TBLOB *tblob, ROW *row, BOOL numeric_mode)
Definition: capi.cpp:569
TESS_API const char *TESS_CALL TessBaseAPIGetStringVariable(const TessBaseAPI *handle, const char *name)
Definition: capi.cpp:194
TESS_API BOOL TESS_CALL TessBaseAPISetVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:160
TESS_API BOOL TESS_CALL TessBaseAPIGetTextDirection(TessBaseAPI *handle, int *out_offset, float *out_slope)
Definition: capi.cpp:502
TESS_API const char *TESS_CALL TessBaseAPIGetDatapath(TessBaseAPI *handle)
Definition: capi.cpp:150
TESS_API void TESS_CALL TessBaseAPISetInputImage(TessBaseAPI *handle, Pix *pix)
Definition: capi.cpp:135
TESS_API TessResultRenderer *TESS_CALL TessHOcrRendererCreate(const char *outputbase)
Definition: capi.cpp:40
TESS_API int TESS_CALL TessBaseAPIMeanTextConf(TessBaseAPI *handle)
Definition: capi.cpp:472