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.
423 const char*
lang =
"eng";
424 const char* image = NULL;
425 const char* outputbase = NULL;
426 const char* datapath = NULL;
427 bool list_langs =
false;
428 bool print_parameters =
false;
440 setMsgSeverity(L_SEVERITY_ERROR);
443 #if defined(HAVE_TIFFIO_H) && defined(_WIN32) 445 TIFFSetWarningHandler(Win32WarningHandler);
448 ParseArgs(argc, argv, &lang, &image, &outputbase, &datapath, &list_langs,
449 &print_parameters, &vars_vec, &vars_values, &arg_i, &pagesegmode,
453 if (outputbase != NULL && strcmp(outputbase,
"-") &&
454 strcmp(outputbase,
"stdout")) {
468 api.SetOutputName(outputbase);
470 int init_failed = api.Init(datapath, lang, enginemode, &(argv[arg_i]),
471 argc - arg_i, &vars_vec, &vars_values, false);
473 SetVariablesFromCLArgs(&api, argc, argv);
476 PrintLangsList(&api);
481 fprintf(stderr,
"Could not initialize tesseract.\n");
485 if (print_parameters) {
487 fprintf(stdout,
"Tesseract parameters:\n");
488 api.PrintVariables(fout);
493 FixPageSegMode(&
api, pagesegmode);
496 int ret_val = EXIT_SUCCESS;
498 Pix* pixs = pixRead(image);
500 fprintf(stderr,
"Cannot open input file: %s\n", image);
513 it->
Orientation(&orientation, &direction, &order, &deskew_angle);
515 "Orientation: %d\nWritingDirection: %d\nTextlineOrder: %d\n" 516 "Deskew angle: %.4f\n",
517 orientation, direction, order, deskew_angle);
519 ret_val = EXIT_FAILURE;
531 bool in_training_mode =
532 (
api.GetBoolVariable(
"tessedit_ambigs_training", &b) && b) ||
533 (
api.GetBoolVariable(
"tessedit_resegment_from_boxes", &b) && b) ||
534 (
api.GetBoolVariable(
"tessedit_make_boxes_from_boxes", &b) && b);
539 if (in_training_mode) {
542 PreloadRenderers(&
api, &renderers, pagesegmode, outputbase);
545 if (!renderers.
empty()) {
546 if (banner) PrintBanner();
547 bool succeed =
api.ProcessPages(image, NULL, 0, renderers[0]);
549 fprintf(stderr,
"Error during processing.\n");
Fully automatic page segmentation, but no OSD.
#define PERF_COUNT_START(FUNCT_NAME)
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)
Automatic page segmentation, but no OSD, or OCR.