Skip to content

Commit 6be9d7a

Browse files
committed
Fix #64. Make box training work
This commit is better than 06fc053. Hopefully, this is the last fix to box training issue.
1 parent 1826ac1 commit 6be9d7a

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

api/tesseractmain.cpp

+10-6
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,7 @@ void ParseArgs(const int argc, char** argv,
286286
void PreloadRenderers(tesseract::TessBaseAPI* api,
287287
tesseract::PointerVector<tesseract::TessResultRenderer>* renderers,
288288
tesseract::PageSegMode pagesegmode,
289-
const char* outputbase,
290-
bool in_training_mode) {
289+
const char* outputbase) {
291290
if (pagesegmode == tesseract::PSM_OSD_ONLY) {
292291
renderers->push_back(new tesseract::TessOsdRenderer(outputbase));
293292
} else {
@@ -317,7 +316,7 @@ void PreloadRenderers(tesseract::TessBaseAPI* api,
317316
}
318317

319318
api->GetBoolVariable("tessedit_create_txt", &b);
320-
if (b || (renderers->empty() && !in_training_mode)) {
319+
if (b || renderers->empty()) {
321320
renderers->push_back(new tesseract::TessTextRenderer(outputbase));
322321
}
323322
}
@@ -422,16 +421,21 @@ int main(int argc, char **argv) {
422421
(api.GetBoolVariable("tessedit_make_boxes_from_boxes", &b) && b);
423422

424423
tesseract::PointerVector<tesseract::TessResultRenderer> renderers;
425-
PreloadRenderers(&api, &renderers, pagesegmode, outputbase,
426-
in_training_mode);
427424

428-
if (!renderers.empty() || in_training_mode) {
425+
if (in_training_mode) {
426+
renderers.push_back(NULL);
427+
} else {
428+
PreloadRenderers(&api, &renderers, pagesegmode, outputbase);
429+
}
430+
431+
if (!renderers.empty()) {
429432
bool succeed = api.ProcessPages(image, NULL, 0, renderers[0]);
430433
if (!succeed) {
431434
fprintf(stderr, "Error during processing.\n");
432435
exit(1);
433436
}
434437
}
438+
435439
PERF_COUNT_END
436440
return 0; // Normal exit
437441
}

0 commit comments

Comments
 (0)