Added always/never/auto invert config property to country config

This commit is contained in:
Matt Hill
2015-09-11 20:04:56 -04:00
parent 6a09b13c90
commit 83d6e06e14
8 changed files with 58 additions and 5 deletions

View File

@@ -219,6 +219,24 @@ namespace alpr
multiline = getBoolean(ini, "", "multiline", false);
string invert_val = getString(ini, "", "invert", "auto");
if (invert_val == "always")
{
auto_invert = false;
always_invert = true;
}
else if (invert_val == "never")
{
auto_invert = false;
always_invert = false;
}
else
{
auto_invert = true;
always_invert = false;
}
plateWidthMM = getFloat(ini, "", "plate_width_mm", 100);
plateHeightMM = getFloat(ini, "", "plate_height_mm", 100);

View File

@@ -54,6 +54,9 @@ namespace alpr
bool skipDetection;
bool auto_invert;
bool always_invert;
std::string prewarp;
int maxPlateAngleDegrees;

View File

@@ -51,6 +51,9 @@ namespace alpr
timespec startTime;
getTimeMonotonic(&startTime);
if (config->always_invert)
bitwise_not(pipeline_data->crop_gray, pipeline_data->crop_gray);
pipeline_data->clearThresholds();
pipeline_data->thresholds = produceThresholds(pipeline_data->crop_gray, config);
@@ -177,7 +180,13 @@ namespace alpr
}
pipeline_data->plate_inverted = isPlateInverted();
if (config->auto_invert)
pipeline_data->plate_inverted = isPlateInverted();
else
pipeline_data->plate_inverted = config->always_invert;
if (config->debugGeneral)
cout << "Plate inverted: " << pipeline_data->plate_inverted << endl;
if (pipeline_data->textLines.size() > 0)