23 #include "leptonica/allheaders.h" 29 class TestClass :
public testing::Test {
33 void OSDTester(
int expected_deg,
const char* imgname,
const char* tessdatadir) {
34 log.info() << tessdatadir <<
" for image: " << imgname << std::endl;
36 ASSERT_FALSE(api->
Init(tessdatadir,
"osd")) <<
"Could not initialize tesseract.";
37 Pix *image = pixRead(imgname);
38 ASSERT_TRUE(image !=
nullptr) <<
"Failed to read test image.";
42 const char* script_name;
45 ASSERT_FALSE(!detected) <<
"Failed to detect OSD.";
46 printf(
"************ Orientation in degrees: %d, Orientation confidence: %.2f\n" 47 " Script: %s, Script confidence: %.2f\n",
48 orient_deg, orient_conf,
49 script_name, script_conf);
50 EXPECT_EQ(expected_deg, orient_deg);
55 class OSDTest :
public TestClass ,
56 public ::testing::WithParamInterface<std::tuple<int, const char*, const char*>> {};
58 TEST_P(OSDTest, MatchOrientationDegrees) {
59 OSDTester(std::get<0>(GetParam()), std::get<1>(GetParam()), std::get<2>(GetParam()));
62 INSTANTIATE_TEST_CASE_P( TessdataEngEuroHebrew, OSDTest,
65 ::testing::Values(TESTING_DIR
"/phototest.tif",
66 TESTING_DIR
"/eurotext.tif",
67 TESTING_DIR
"/hebrew.png"),
68 ::testing::Values(TESSDATA_DIR)));
70 INSTANTIATE_TEST_CASE_P( TessdataBestEngEuroHebrew, OSDTest,
73 ::testing::Values(TESTING_DIR
"/phototest.tif",
74 TESTING_DIR
"/eurotext.tif",
75 TESTING_DIR
"/hebrew.png"),
76 ::testing::Values(TESSDATA_DIR
"_best")));
78 INSTANTIATE_TEST_CASE_P( TessdataFastEngEuroHebrew, OSDTest,
81 ::testing::Values(TESTING_DIR
"/phototest.tif",
82 TESTING_DIR
"/eurotext.tif",
83 TESTING_DIR
"/hebrew.png"),
84 ::testing::Values(TESSDATA_DIR
"_fast")));
86 INSTANTIATE_TEST_CASE_P( TessdataFastRotated90, OSDTest,
88 ::testing::Values(90),
89 ::testing::Values(TESTING_DIR
"/phototest-rotated-R.png"),
90 ::testing::Values(TESSDATA_DIR
"_fast")));
92 INSTANTIATE_TEST_CASE_P( TessdataFastRotated180, OSDTest,
94 ::testing::Values(180),
95 ::testing::Values(TESTING_DIR
"/phototest-rotated-180.png"),
96 ::testing::Values(TESSDATA_DIR
"_fast")));
98 INSTANTIATE_TEST_CASE_P( TessdataFastRotated270, OSDTest,
100 ::testing::Values(270),
101 ::testing::Values(TESTING_DIR
"/phototest-rotated-L.png"),
102 ::testing::Values(TESSDATA_DIR
"_fast")));
104 INSTANTIATE_TEST_CASE_P( TessdataFastDevaRotated270, OSDTest,
106 ::testing::Values(270),
107 ::testing::Values(TESTING_DIR
"/devatest-rotated-270.png"),
108 ::testing::Values(TESSDATA_DIR
"_fast")));
110 INSTANTIATE_TEST_CASE_P( TessdataFastDeva, OSDTest,
112 ::testing::Values(0),
113 ::testing::Values(TESTING_DIR
"/devatest.png"),
114 ::testing::Values(TESSDATA_DIR
"_fast")));
struct TessBaseAPI TessBaseAPI
int Init(const char *datapath, const char *language, OcrEngineMode mode, char **configs, int configs_size, const GenericVector< STRING > *vars_vec, const GenericVector< STRING > *vars_values, bool set_only_non_debug_params)
void SetImage(const unsigned char *imagedata, int width, int height, int bytes_per_pixel, int bytes_per_line)
bool DetectOrientationScript(int *orient_deg, float *orient_conf, const char **script_name, float *script_conf)