Replaced GPU config mode option with detector

This commit is contained in:
Matt Hill
2015-03-18 18:09:53 -04:00
parent 51c0cf8eb2
commit c46bd446f2
3 changed files with 25 additions and 10 deletions

View File

@@ -31,10 +31,11 @@ detection_strictness = 3
max_detection_input_width = 1280 max_detection_input_width = 1280
max_detection_input_height = 720 max_detection_input_height = 720
; gpu_mode can be set to ; detector is the technique used to find license plate regions in an image. Value can be set to
; 0=OFF ; lbpcpu - default LBP-based detector uses the system CPU
; 1=CUDA ; lbpcuda - LBP-based detector that uses Nvidia GPU to increase recognition speed.
gpu_mode = 0 ; morphcpu - Experimental detector that detects white rectangles in an image. Does not require training.
detector = lbpcpu
; Bypasses plate detection. If this is set to 1, the library assumes that each region provided is a likely plate area. ; Bypasses plate detection. If this is set to 1, the library assumes that each region provided is a likely plate area.
skip_detection = 0 skip_detection = 0

View File

@@ -130,7 +130,21 @@ namespace alpr
runtimeBaseDir = getString("common", "runtime_dir", "/usr/share/openalpr/runtime_data"); runtimeBaseDir = getString("common", "runtime_dir", "/usr/share/openalpr/runtime_data");
gpu_mode = getInt("common", "gpu_mode", GPU_OFF); std::string detectorString = getString("common", "detector", "lbpcpu");
std::transform(detectorString.begin(), detectorString.end(), detectorString.begin(), ::tolower);
if (detectorString.compare("lbpcpu") == 0)
detector = DETECTOR_LBP_CPU;
else if (detectorString.compare("lbpgpu") == 0)
detector = DETECTOR_LBP_GPU;
else if (detectorString.compare("morphcpu") == 0)
detector = DETECTOR_MORPH_CPU;
else
{
std::cerr << "Invalid detector specified: " << detectorString << ". Using default" << std::endl;
detector = DETECTOR_LBP_CPU;
}
detection_iteration_increase = getFloat("common", "detection_iteration_increase", 1.1); detection_iteration_increase = getFloat("common", "detection_iteration_increase", 1.1);
detectionStrictness = getInt("common", "detection_strictness", 3); detectionStrictness = getInt("common", "detection_strictness", 3);
maxPlateWidthPercent = getFloat("common", "max_plate_width_percent", 100); maxPlateWidthPercent = getFloat("common", "max_plate_width_percent", 100);

View File

@@ -47,7 +47,7 @@ namespace alpr
std::string country; std::string country;
int gpu_mode; int detector;
float detection_iteration_increase; float detection_iteration_increase;
int detectionStrictness; int detectionStrictness;
@@ -138,11 +138,11 @@ namespace alpr
}; };
enum GPU_MODE enum DETECTOR_TYPE
{ {
GPU_OFF=0, DETECTOR_LBP_CPU=0,
GPU_CUDA=1, DETECTOR_LBP_GPU=1,
GPU_OPENCL=2 DETECTOR_MORPH_CPU=2
}; };
} }