19
19
#include < stdio.h>
20
20
#ifndef USE_STD_NAMESPACE
21
21
#include " base/commandlineflags.h"
22
- #endif
22
+ #endif // USE_STD_NAMESPACE
23
23
#include " baseapi.h"
24
24
#include " commontraining.h"
25
+ #ifndef NO_CUBE_BUILD
25
26
#include " cubeclassifier.h"
27
+ #endif // NO_CUBE_BUILD
26
28
#include " mastertrainer.h"
27
29
#include " params.h"
28
30
#include " strngs.h"
@@ -37,12 +39,18 @@ DECLARE_STRING_PARAM_FLAG(T);
37
39
enum ClassifierName {
38
40
CN_PRUNER,
39
41
CN_FULL,
42
+ #ifndef NO_CUBE_BUILD
40
43
CN_CUBE,
41
44
CN_CUBETESS,
45
+ #endif // NO_CUBE_BUILD
42
46
CN_COUNT
43
47
};
44
48
45
- const char * names[] = {" pruner" , " full" , " cube" , " cubetess" , NULL };
49
+ const char * names[] = {" pruner" , " full" ,
50
+ #ifndef NO_CUBE_BUILD
51
+ " cube" , " cubetess" ,
52
+ #endif // NO_CUBE_BUILD
53
+ NULL };
46
54
47
55
static tesseract::ShapeClassifier* InitializeClassifier (
48
56
const char * classifer_name, const UNICHARSET& unicharset,
@@ -64,13 +72,20 @@ static tesseract::ShapeClassifier* InitializeClassifier(
64
72
// We need to initialize tesseract to test.
65
73
*api = new tesseract::TessBaseAPI;
66
74
tesseract::OcrEngineMode engine_mode = tesseract::OEM_TESSERACT_ONLY;
75
+ #ifndef NO_CUBE_BUILD
67
76
if (classifier == CN_CUBE || classifier == CN_CUBETESS)
68
77
engine_mode = tesseract::OEM_TESSERACT_CUBE_COMBINED;
78
+ #endif // NO_CUBE_BUILD
69
79
tesseract::Tesseract* tesseract = NULL ;
70
80
tesseract::Classify* classify = NULL ;
71
- if (classifier == CN_CUBE || classifier == CN_CUBETESS ||
81
+ if (
82
+ #ifndef NO_CUBE_BUILD
83
+ classifier == CN_CUBE || classifier == CN_CUBETESS ||
84
+ #endif // NO_CUBE_BUILD
72
85
classifier == CN_PRUNER || classifier == CN_FULL) {
86
+ #ifndef NO_CUBE_BUILD
73
87
(*api)->SetVariable (" cube_debug_level" , " 2" );
88
+ #endif // NO_CUBE_BUILD
74
89
if ((*api)->Init (FLAGS_tessdata_dir.c_str (), FLAGS_lang.c_str (),
75
90
engine_mode) < 0 ) {
76
91
fprintf (stderr, " Tesseract initialization failed!\n " );
@@ -96,10 +111,12 @@ static tesseract::ShapeClassifier* InitializeClassifier(
96
111
shape_classifier = new tesseract::TessClassifier (true , classify);
97
112
} else if (classifier == CN_FULL) {
98
113
shape_classifier = new tesseract::TessClassifier (false , classify);
114
+ #ifndef NO_CUBE_BUILD
99
115
} else if (classifier == CN_CUBE) {
100
116
shape_classifier = new tesseract::CubeClassifier (tesseract);
101
117
} else if (classifier == CN_CUBETESS) {
102
118
shape_classifier = new tesseract::CubeTessClassifier (tesseract);
119
+ #endif // NO_CUBE_BUILD
103
120
} else {
104
121
fprintf (stderr, " %s tester not yet implemented\n " , classifer_name);
105
122
return NULL ;
0 commit comments