tesseract  3.04.01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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 #ifndef NO_CUBE_BUILD
585 TESS_API TessCubeRecoContext* TESS_CALL TessBaseAPIGetCubeRecoContext(const TessBaseAPI* handle)
586 {
587  return handle->GetCubeRecoContext();
588 }
589 #endif // NO_CUBE_BUILD
590 
592 {
593  handle->set_min_orientation_margin(margin);
594 }
595 
596 TESS_API void TESS_CALL TessBaseGetBlockTextOrientations(TessBaseAPI* handle, int** block_orientation, bool** vertical_writing)
597 {
598  handle->GetBlockTextOrientations(block_orientation, vertical_writing);
599 }
600 
602 {
603  return handle->FindLinesCreateBlockList();
604 }
605 
607 {
608  delete handle;
609 }
610 
612 {
613  return new TessPageIterator(*handle);
614 }
615 
617 {
618  handle->Begin();
619 }
620 
622 {
623  return handle->Next(level) ? TRUE : FALSE;
624 }
625 
627 {
628  return handle->IsAtBeginningOf(level) ? TRUE : FALSE;
629 }
630 
632  TessPageIteratorLevel element)
633 {
634  return handle->IsAtFinalElement(level, element) ? TRUE : FALSE;
635 }
636 
638  int* left, int* top, int* right, int* bottom)
639 {
640  return handle->BoundingBox(level, left, top, right, bottom) ? TRUE : FALSE;
641 }
642 
644 {
645  return handle->BlockType();
646 }
647 
649 {
650  return handle->GetBinaryImage(level);
651 }
652 
654  struct Pix* original_image, int* left, int* top)
655 {
656  return handle->GetImage(level, padding, original_image, left, top);
657 }
658 
660  int* x1, int* y1, int* x2, int* y2)
661 {
662  return handle->Baseline(level, x1, y1, x2, y2) ? TRUE : FALSE;
663 }
664 
666  TessWritingDirection* writing_direction, TessTextlineOrder* textline_order,
667  float* deskew_angle)
668 {
669  handle->Orientation(orientation, writing_direction, textline_order, deskew_angle);
670 }
671 
673  BOOL *is_list_item, BOOL *is_crown, int *first_line_indent)
674 {
675  bool bool_is_list_item, bool_is_crown;
676  handle->ParagraphInfo(justification, &bool_is_list_item, &bool_is_crown, first_line_indent);
677  if (is_list_item)
678  *is_list_item = bool_is_list_item ? TRUE : FALSE;
679  if (is_crown)
680  *is_crown = bool_is_crown ? TRUE : FALSE;
681 }
682 
683 
685 {
686  delete handle;
687 }
688 
690 {
691  return new TessResultIterator(*handle);
692 }
693 
695 {
696  return handle;
697 }
698 
700 {
701  return handle;
702 }
703 
705 {
706  return new TessChoiceIterator(*handle);
707 }
708 
710 {
711  return handle->Next(level);
712 }
713 
715 {
716  return handle->GetUTF8Text(level);
717 }
718 
720 {
721  return handle->Confidence(level);
722 }
723 
725 {
726  return handle->WordRecognitionLanguage();
727 }
728 
729 TESS_API const char* TESS_CALL TessResultIteratorWordFontAttributes(const TessResultIterator* handle, BOOL* is_bold, BOOL* is_italic,
730  BOOL* is_underlined, BOOL* is_monospace, BOOL* is_serif,
731  BOOL* is_smallcaps, int* pointsize, int* font_id)
732 {
733  bool bool_is_bold, bool_is_italic, bool_is_underlined, bool_is_monospace, bool_is_serif, bool_is_smallcaps;
734  const char* ret = handle->WordFontAttributes(&bool_is_bold, &bool_is_italic, &bool_is_underlined, &bool_is_monospace, &bool_is_serif,
735  &bool_is_smallcaps, pointsize, font_id);
736  if (is_bold)
737  *is_bold = bool_is_bold ? TRUE : FALSE;
738  if (is_italic)
739  *is_italic = bool_is_italic ? TRUE : FALSE;
740  if (is_underlined)
741  *is_underlined = bool_is_underlined ? TRUE : FALSE;
742  if (is_monospace)
743  *is_monospace = bool_is_monospace ? TRUE : FALSE;
744  if (is_serif)
745  *is_serif = bool_is_serif ? TRUE : FALSE;
746  if (is_smallcaps)
747  *is_smallcaps = bool_is_smallcaps ? TRUE : FALSE;
748  return ret;
749 }
750 
752 {
753  return handle->WordIsFromDictionary() ? TRUE : FALSE;
754 }
755 
757 {
758  return handle->WordIsNumeric() ? TRUE : FALSE;
759 }
760 
762 {
763  return handle->SymbolIsSuperscript() ? TRUE : FALSE;
764 }
765 
767 {
768  return handle->SymbolIsSubscript() ? TRUE : FALSE;
769 }
770 
772 {
773  return handle->SymbolIsDropcap() ? TRUE : FALSE;
774 }
775 
777 {
778  delete handle;
779 }
780 
782 {
783  return handle->Next();
784 }
785 
787 {
788  return handle->GetUTF8Text();
789 }
790 
792 {
793  return handle->Confidence();
794 }
TESS_API int TESS_CALL TessBaseAPINumDawgs(const TessBaseAPI *handle)
Definition: capi.cpp:554
Definition: blobs.h:261
TESS_API int *TESS_CALL TessBaseAPIAllWordConfidences(TessBaseAPI *handle)
Definition: capi.cpp:477
TESS_API BOOL TESS_CALL TessResultIteratorWordIsNumeric(const TessResultIterator *handle)
Definition: capi.cpp:756
#define TESS_API
Definition: platform.h:75
int size() const
Definition: genericvector.h:72
struct TessResultIterator TessResultIterator
Definition: capi.h:71
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
struct TessChoiceIterator TessChoiceIterator
Definition: capi.h:73
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 const char *TESS_CALL TessResultRendererExtention(TessResultRenderer *renderer)
Definition: capi.cpp:95
TESS_API void TESS_CALL TessBaseAPISetMinOrientationMargin(TessBaseAPI *handle, double margin)
Definition: capi.cpp:591
TESS_API void TESS_CALL TessDeleteIntArray(int *arr)
Definition: capi.cpp:25
TESS_API BOOL TESS_CALL TessBaseAPIPrintVariablesToFile(const TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:204
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 TessPageSegMode TESS_CALL TessBaseAPIGetPageSegMode(const TessBaseAPI *handle)
Definition: capi.cpp:307
TESS_API char *TESS_CALL TessBaseAPIGetBoxText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:462
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetRegions(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:355
struct TessTextRenderer TessTextRenderer
Definition: capi.h:64
TESS_API TessResultIterator *TESS_CALL TessResultIteratorCopy(const TessResultIterator *handle)
Definition: capi.cpp:689
TESS_API void TESS_CALL TessPageIteratorDelete(TessPageIterator *handle)
Definition: capi.cpp:606
TESS_API BOOL TESS_CALL TessPageIteratorBoundingBox(const TessPageIterator *handle, TessPageIteratorLevel level, int *left, int *top, int *right, int *bottom)
Definition: capi.cpp:637
TESS_API BOOL TESS_CALL TessResultIteratorWordIsFromDictionary(const TessResultIterator *handle)
Definition: capi.cpp:751
TESS_API char *TESS_CALL TessResultIteratorGetUTF8Text(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:714
TESS_API void TESS_CALL TessChoiceIteratorDelete(TessChoiceIterator *handle)
Definition: capi.cpp:776
int push_back(T object)
TESS_API int TESS_CALL TessBaseAPIRecognize(TessBaseAPI *handle, ETEXT_DESC *monitor)
Definition: capi.cpp:414
TESS_API const char *TESS_CALL TessChoiceIteratorGetUTF8Text(const TessChoiceIterator *handle)
Definition: capi.cpp:786
TESS_API TBLOB *TESS_CALL TessMakeTBLOB(struct Pix *pix)
Definition: capi.cpp:564
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:729
TESS_API TessBaseAPI *TESS_CALL TessBaseAPICreate()
Definition: capi.cpp:110
TESS_API void TESS_CALL TessNormalizeTBLOB(TBLOB *tblob, ROW *row, BOOL numeric_mode)
Definition: capi.cpp:569
struct TessUnlvRenderer TessUnlvRenderer
Definition: capi.h:67
TESS_API void TESS_CALL TessBaseGetBlockTextOrientations(TessBaseAPI *handle, int **block_orientation, bool **vertical_writing)
Definition: capi.cpp:596
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 const char *TESS_CALL TessBaseAPIGetInitLanguagesAsString(const TessBaseAPI *handle)
Definition: capi.cpp:255
TESS_API void TESS_CALL TessBaseAPISetThresholder(TessBaseAPI *handle, TessImageThresholder *thresholder)
Definition: capi.cpp:345
TESS_API void TESS_CALL TessDeleteTextArray(char **arr)
Definition: capi.cpp:18
TESS_API void TESS_CALL TessBaseAPIClearPersistentCache(TessBaseAPI *handle)
Definition: capi.cpp:512
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 int TESS_CALL TessBaseAPIGetSourceYResolution(TessBaseAPI *handle)
Definition: capi.cpp:145
TESS_API TessPageIterator *TESS_CALL TessBaseAPIAnalyseLayout(TessBaseAPI *handle)
Definition: capi.cpp:409
#define BOOL
Definition: capi.h:27
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 void TESS_CALL TessBaseAPIDumpPGM(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:404
TESS_API int TESS_CALL TessBaseAPIInitLangMod(TessBaseAPI *handle, const char *datapath, const char *language)
Definition: capi.cpp:282
TESS_API float TESS_CALL TessResultIteratorConfidence(const TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:719
TESS_API void TESS_CALL TessBaseAPISetSourceResolution(TessBaseAPI *handle, int ppi)
Definition: capi.cpp:335
TESS_API const char *TESS_CALL TessBaseAPIGetStringVariable(const TessBaseAPI *handle, const char *name)
Definition: capi.cpp:194
TESS_API BOOL TESS_CALL TessResultRendererAddImage(TessResultRenderer *renderer, TessBaseAPI *api)
Definition: capi.cpp:85
TESS_API void TESS_CALL TessDeleteBlockList(BLOCK_LIST *block_list)
Definition: capi.cpp:30
TESS_API void TESS_CALL TessBaseAPIInitTruthCallback(TessBaseAPI *handle, TessTruthCallback *cb)
Definition: capi.cpp:579
TESS_API BOOL TESS_CALL TessBaseAPIDetectOS(TessBaseAPI *handle, OSResults *results)
Definition: capi.cpp:522
TESS_API BOOL TESS_CALL TessBaseAPIAdaptToWordStr(TessBaseAPI *handle, TessPageSegMode mode, const char *wordstr)
Definition: capi.cpp:482
TESS_API void TESS_CALL TessPageIteratorBegin(TessPageIterator *handle)
Definition: capi.cpp:616
TESS_API TessPageIterator *TESS_CALL TessPageIteratorCopy(const TessPageIterator *handle)
Definition: capi.cpp:611
#define FALSE
Definition: capi.h:29
TESS_API ROW *TESS_CALL TessFindRowForBox(BLOCK_LIST *blocks, int left, int top, int right, int bottom)
Definition: capi.cpp:533
TESS_API void TESS_CALL TessBaseAPIClear(TessBaseAPI *handle)
Definition: capi.cpp:487
TESS_API void TESS_CALL TessBaseAPIInitForAnalysePage(TessBaseAPI *handle)
Definition: capi.cpp:287
TessPolyBlockType
Definition: capi.h:79
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetStrips(TessBaseAPI *handle, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:371
Definition: ocrrow.h:32
TESS_API void TESS_CALL TessBaseAPISetRectangle(TessBaseAPI *handle, int left, int top, int width, int height)
Definition: capi.cpp:340
TESS_API const char *TESS_CALL TessBaseAPIGetUnichar(TessBaseAPI *handle, int unichar_id)
Definition: capi.cpp:544
TESS_API BOOL TESS_CALL TessChoiceIteratorNext(TessChoiceIterator *handle)
Definition: capi.cpp:781
struct TessBoxTextRenderer TessBoxTextRenderer
Definition: capi.h:68
TESS_API TessResultRenderer *TESS_CALL TessTextRendererCreate(const char *outputbase)
Definition: capi.cpp:35
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 void TESS_CALL TessBaseAPISetPageSegMode(TessBaseAPI *handle, TessPageSegMode mode)
Definition: capi.cpp:302
TESS_API BOOL TESS_CALL TessResultRendererEndDocument(TessResultRenderer *renderer)
Definition: capi.cpp:90
TESS_API const TessPageIterator *TESS_CALL TessResultIteratorGetPageIteratorConst(const TessResultIterator *handle)
Definition: capi.cpp:699
TESS_API struct Pix *TESS_CALL TessPageIteratorGetBinaryImage(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:648
TESS_API BOOL TESS_CALL TessPageIteratorIsAtBeginningOf(const TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:626
TessOrientation
Definition: capi.h:82
TESS_API BLOCK_LIST *TESS_CALL TessBaseAPIFindLinesCreateBlockList(TessBaseAPI *handle)
Definition: capi.cpp:601
TESS_API void TESS_CALL TessBaseAPIReadDebugConfigFile(TessBaseAPI *handle, const char *filename)
Definition: capi.cpp:297
TESS_API BOOL TESS_CALL TessBaseAPISetDebugVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:165
TESS_API BOOL TESS_CALL TessBaseAPIGetTextDirection(TessBaseAPI *handle, int *out_offset, float *out_slope)
Definition: capi.cpp:502
TESS_API TessResultRenderer *TESS_CALL TessHOcrRendererCreate2(const char *outputbase, BOOL font_info)
Definition: capi.cpp:45
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:653
TESS_API TessResultRenderer *TESS_CALL TessBoxTextRendererCreate(const char *outputbase)
Definition: capi.cpp:60
TESS_API TessResultRenderer *TESS_CALL TessPDFRendererCreate(const char *outputbase, const char *datadir)
Definition: capi.cpp:50
TESS_API void TESS_CALL TessBaseAPIPrintVariables(const TessBaseAPI *handle, FILE *fp)
Definition: capi.cpp:199
TESS_API char **TESS_CALL TessBaseAPIGetAvailableLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:271
TESS_API void TESS_CALL TessBaseAPIEnd(TessBaseAPI *handle)
Definition: capi.cpp:492
TESS_API void TESS_CALL TessBaseAPISetDictFunc(TessBaseAPI *handle, TessDictFunc f)
Definition: capi.cpp:507
TESS_API TessResultRenderer *TESS_CALL TessResultRendererNext(TessResultRenderer *renderer)
Definition: capi.cpp:75
TESS_API char *TESS_CALL TessBaseAPIGetHOCRText(TessBaseAPI *handle, int page_number)
Definition: capi.cpp:457
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 Pix *TESS_CALL TessBaseAPIGetInputImage(TessBaseAPI *handle)
Definition: capi.cpp:140
TESS_API const char *TESS_CALL TessVersion()
Definition: capi.cpp:8
TESS_API TessPageIterator *TESS_CALL TessResultIteratorGetPageIterator(TessResultIterator *handle)
Definition: capi.cpp:694
TESS_API BOOL TESS_CALL TessResultRendererBeginDocument(TessResultRenderer *renderer, const char *title)
Definition: capi.cpp:80
TESS_API void TESS_CALL TessBaseAPIClearAdaptiveClassifier(TessBaseAPI *handle)
Definition: capi.cpp:319
struct TessResultRenderer TessResultRenderer
Definition: capi.h:63
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetConnectedComponents(TessBaseAPI *handle, struct Pixa **cc)
Definition: capi.cpp:381
TESS_API int TESS_CALL TessBaseAPIGetThresholdedImageScaleFactor(const TessBaseAPI *handle)
Definition: capi.cpp:399
TESS_API void TESS_CALL TessDeleteText(char *text)
Definition: capi.cpp:13
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
TESS_API BOOL TESS_CALL TessBaseAPIGetBoolVariable(const TessBaseAPI *handle, const char *name, BOOL *value)
Definition: capi.cpp:175
TESS_API const TessDawg *TESS_CALL TessBaseAPIGetDawg(const TessBaseAPI *handle, int i)
Definition: capi.cpp:549
TESS_API void TESS_CALL TessResultRendererInsert(TessResultRenderer *renderer, TessResultRenderer *next)
Definition: capi.cpp:70
TESS_API void TESS_CALL TessPageIteratorOrientation(TessPageIterator *handle, TessOrientation *orientation, TessWritingDirection *writing_direction, TessTextlineOrder *textline_order, float *deskew_angle)
Definition: capi.cpp:665
TESS_API void TESS_CALL TessResultIteratorDelete(TessResultIterator *handle)
Definition: capi.cpp:684
TESS_API int TESS_CALL TessBaseAPIIsValidWord(TessBaseAPI *handle, const char *word)
Definition: capi.cpp:497
TESS_API TessResultIterator *TESS_CALL TessBaseAPIGetIterator(TessBaseAPI *handle)
Definition: capi.cpp:442
TESS_API void TESS_CALL TessBaseAPIGetFeaturesForBlob(TessBaseAPI *handle, TBLOB *blob, INT_FEATURE_STRUCT *int_features, int *num_features, int *FeatureOutlineIndex)
Definition: capi.cpp:527
TESS_API BOOL TESS_CALL TessPageIteratorBaseline(const TessPageIterator *handle, TessPageIteratorLevel level, int *x1, int *y1, int *x2, int *y2)
Definition: capi.cpp:659
TESS_API BOOL TESS_CALL TessPageIteratorNext(TessPageIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:621
TESS_API void TESS_CALL TessBaseAPISetInputImage(TessBaseAPI *handle, Pix *pix)
Definition: capi.cpp:135
TESS_API void TESS_CALL TessBaseAPIDelete(TessBaseAPI *handle)
Definition: capi.cpp:115
TESS_API int TESS_CALL TessBaseAPIMeanTextConf(TessBaseAPI *handle)
Definition: capi.cpp:472
TESS_API char *TESS_CALL TessBaseAPIGetUTF8Text(TessBaseAPI *handle)
Definition: capi.cpp:452
TESS_API const char *TESS_CALL TessResultRendererTitle(TessResultRenderer *renderer)
Definition: capi.cpp:100
TESS_API BOOL TESS_CALL TessResultIteratorNext(TessResultIterator *handle, TessPageIteratorLevel level)
Definition: capi.cpp:709
TESS_API int TESS_CALL TessBaseAPIRecognizeForChopTest(TessBaseAPI *handle, ETEXT_DESC *monitor)
Definition: capi.cpp:419
TESS_API TessMutableIterator *TESS_CALL TessBaseAPIGetMutableIterator(TessBaseAPI *handle)
Definition: capi.cpp:447
CMD_EVENTS mode
Definition: pgedit.cpp:116
TESS_API int TESS_CALL TessResultRendererImageNum(TessResultRenderer *renderer)
Definition: capi.cpp:105
TESS_API BOOL TESS_CALL TessResultIteratorSymbolIsSubscript(const TessResultIterator *handle)
Definition: capi.cpp:766
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetComponentImages(TessBaseAPI *handle, TessPageIteratorLevel level, BOOL text_only, struct Pixa **pixa, int **blockids)
Definition: capi.cpp:386
#define TRUE
Definition: capi.h:28
TESS_API const char *TESS_CALL TessResultIteratorWordRecognitionLanguage(const TessResultIterator *handle)
Definition: capi.cpp:724
TESS_API char *TESS_CALL TessBaseAPIGetUNLVText(TessBaseAPI *handle)
Definition: capi.cpp:467
TESS_API BOOL TESS_CALL TessResultIteratorSymbolIsDropcap(const TessResultIterator *handle)
Definition: capi.cpp:771
TESS_API TessResultRenderer *TESS_CALL TessHOcrRendererCreate(const char *outputbase)
Definition: capi.cpp:40
TessWritingDirection
Definition: capi.h:84
TESS_API BOOL TESS_CALL TessBaseAPIGetIntVariable(const TessBaseAPI *handle, const char *name, int *value)
Definition: capi.cpp:170
struct TessMutableIterator TessMutableIterator
Definition: capi.h:72
struct TessHOcrRenderer TessHOcrRenderer
Definition: capi.h:65
TESS_API int TESS_CALL TessBaseAPIInit2(TessBaseAPI *handle, const char *datapath, const char *language, TessOcrEngineMode oem)
Definition: capi.cpp:245
TESS_API BOOL TESS_CALL TessBaseAPIGetVariableAsString(TessBaseAPI *handle, const char *name, STRING *val)
Definition: capi.cpp:216
name_table name
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:585
TessPageSegMode
Definition: capi.h:75
Definition: strngs.h:44
TESS_API TessPolyBlockType TESS_CALL TessPageIteratorBlockType(const TessPageIterator *handle)
Definition: capi.cpp:643
TESS_API const char *TESS_CALL TessBaseAPIGetInputName(TessBaseAPI *handle)
Definition: capi.cpp:130
struct TessPageIterator TessPageIterator
Definition: capi.h:70
TessParagraphJustification
Definition: capi.h:83
TESS_API void TESS_CALL TessBaseAPISetOutputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:155
struct TessPDFRenderer TessPDFRenderer
Definition: capi.h:66
TESS_API char **TESS_CALL TessBaseAPIGetLoadedLanguagesAsVector(const TessBaseAPI *handle)
Definition: capi.cpp:260
TESS_API int TESS_CALL TessBaseAPIInit3(TessBaseAPI *handle, const char *datapath, const char *language)
Definition: capi.cpp:250
TESS_API float TESS_CALL TessChoiceIteratorConfidence(const TessChoiceIterator *handle)
Definition: capi.cpp:791
TESS_API struct Pix *TESS_CALL TessBaseAPIGetThresholdedImage(TessBaseAPI *handle)
Definition: capi.cpp:350
TESS_API BOOL TESS_CALL TessResultIteratorSymbolIsSuperscript(const TessResultIterator *handle)
Definition: capi.cpp:761
TessOcrEngineMode
Definition: capi.h:74
TESS_API TessResultRenderer *TESS_CALL TessUnlvRendererCreate(const char *outputbase)
Definition: capi.cpp:55
#define TESS_CALL
Definition: capi.h:22
TESS_API void TESS_CALL TessPageIteratorParagraphInfo(TessPageIterator *handle, TessParagraphJustification *justification, BOOL *is_list_item, BOOL *is_crown, int *first_line_indent)
Definition: capi.cpp:672
TESS_API size_t TESS_CALL TessBaseAPIGetOpenCLDevice(TessBaseAPI *handle, void **device)
Definition: capi.cpp:120
TESS_API BOOL TESS_CALL TessBaseAPISetVariable(TessBaseAPI *handle, const char *name, const char *value)
Definition: capi.cpp:160
TESS_API const char *TESS_CALL TessBaseAPIGetDatapath(TessBaseAPI *handle)
Definition: capi.cpp:150
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 void TESS_CALL TessBaseAPISetInputName(TessBaseAPI *handle, const char *name)
Definition: capi.cpp:125
TessPageIteratorLevel
Definition: capi.h:78
TESS_API TessChoiceIterator *TESS_CALL TessResultIteratorGetChoiceIterator(const TessResultIterator *handle)
Definition: capi.cpp:704
TESS_API TessOcrEngineMode TESS_CALL TessBaseAPIOem(const TessBaseAPI *handle)
Definition: capi.cpp:574
TESS_API void TESS_CALL TessDeleteResultRenderer(TessResultRenderer *renderer)
Definition: capi.cpp:65
TESS_API BOOL TESS_CALL TessBaseAPIGetDoubleVariable(const TessBaseAPI *handle, const char *name, double *value)
Definition: capi.cpp:189
TESS_API struct Boxa *TESS_CALL TessBaseAPIGetWords(TessBaseAPI *handle, struct Pixa **pixa)
Definition: capi.cpp:376
TESS_API void TESS_CALL TessBaseAPISetImage2(TessBaseAPI *handle, struct Pix *pix)
Definition: capi.cpp:330
TESS_API BOOL TESS_CALL TessPageIteratorIsAtFinalElement(const TessPageIterator *handle, TessPageIteratorLevel level, TessPageIteratorLevel element)
Definition: capi.cpp:631
TessTextlineOrder
Definition: capi.h:85
struct TessBaseAPI TessBaseAPI
Definition: capi.h:69