This program reads in a text file consisting of feature samples from a training page in the following format:
The result of this program is a binary inttemp file used by the OCR engine.
429 const char*
lang =
"eng";
430 const char* image = NULL;
431 const char* outputbase = NULL;
432 const char* datapath = NULL;
433 bool list_langs =
false;
434 bool print_parameters =
false;
446 setMsgSeverity(L_SEVERITY_ERROR);
449 #if defined(HAVE_TIFFIO_H) && defined(_WIN32) 451 TIFFSetWarningHandler(Win32WarningHandler);
454 ParseArgs(argc, argv, &lang, &image, &outputbase, &datapath, &list_langs,
455 &print_parameters, &vars_vec, &vars_values, &arg_i, &pagesegmode,
459 if (outputbase != NULL && strcmp(outputbase,
"-") &&
460 strcmp(outputbase,
"stdout")) {
474 api.SetOutputName(outputbase);
476 int init_failed = api.Init(datapath, lang, enginemode, &(argv[arg_i]),
477 argc - arg_i, &vars_vec, &vars_values, false);
479 SetVariablesFromCLArgs(&api, argc, argv);
482 PrintLangsList(&api);
487 fprintf(stderr,
"Could not initialize tesseract.\n");
491 if (print_parameters) {
493 fprintf(stdout,
"Tesseract parameters:\n");
494 api.PrintVariables(fout);
499 FixPageSegMode(&
api, pagesegmode);
502 int ret_val = EXIT_SUCCESS;
504 Pix* pixs = pixRead(image);
506 fprintf(stderr,
"Cannot open input file: %s\n", image);
519 it->
Orientation(&orientation, &direction, &order, &deskew_angle);
521 "Orientation: %d\nWritingDirection: %d\nTextlineOrder: %d\n" 522 "Deskew angle: %.4f\n",
523 orientation, direction, order, deskew_angle);
525 ret_val = EXIT_FAILURE;
537 bool in_training_mode =
538 (
api.GetBoolVariable(
"tessedit_ambigs_training", &b) && b) ||
539 (
api.GetBoolVariable(
"tessedit_resegment_from_boxes", &b) && b) ||
540 (
api.GetBoolVariable(
"tessedit_make_boxes_from_boxes", &b) && b);
545 if (in_training_mode) {
548 PreloadRenderers(&
api, &renderers, pagesegmode, outputbase);
551 if (!renderers.
empty()) {
552 if (banner) PrintBanner();
553 bool succeed =
api.ProcessPages(image, NULL, 0, renderers[0]);
555 fprintf(stderr,
"Error during processing.\n");
struct TessBaseAPI TessBaseAPI
void Orientation(tesseract::Orientation *orientation, tesseract::WritingDirection *writing_direction, tesseract::TextlineOrder *textline_order, float *deskew_angle) const
int direction(EDGEPT *point)
int push_back(T * object)
#define PERF_COUNT_START(FUNCT_NAME)
Automatic page segmentation, but no OSD, or OCR.
Fully automatic page segmentation, but no OSD.