Added variable to control plate detection size increase.

Adjusting it to a smaller value means slower detection but higher probability that the plate will be found (and vice versa)
This commit is contained in:
Matt Hill
2014-03-24 10:10:55 -05:00
parent 3669ce0021
commit b90566585a
4 changed files with 11 additions and 4 deletions

View File

@@ -6,6 +6,8 @@ state_id_img_size_percent = 2.0
max_plate_width_percent = 100
max_plate_height_percent = 100
detection_iteration_increase = 1.1
opencl_enabled = 0
ocr_min_font_point = 6
@@ -25,7 +27,7 @@ postprocess_min_characters = 4
postprocess_max_characters = 8
[debug]
general = 0
general = 1
timing = 0
state_id = 0
plate_lines = 0
@@ -36,7 +38,7 @@ char_analysis = 0
color_filter = 0
ocr = 0
postprocess = 0
show_images = 0
show_images = 1
;;; Country Specific variables ;;;;

View File

@@ -71,6 +71,9 @@ void Config::loadValues(string country)
{
opencl_enabled = getBoolean("common", "opencl_enabled", false);
detection_iteration_increase = getFloat("common", "detection_iteration_increase", 1.1);
maxPlateWidthPercent = getFloat("common", "max_plate_width_percent", 100);
maxPlateHeightPercent = getFloat("common", "max_plate_height_percent", 100);

View File

@@ -45,6 +45,8 @@ class Config
bool opencl_enabled;
float detection_iteration_increase;
float maxPlateWidthPercent;
float maxPlateHeightPercent;

View File

@@ -90,12 +90,12 @@ vector<Rect> RegionDetector::doCascade(Mat frame)
if (config->opencl_enabled)
{
ocl::oclMat openclFrame(frame);
((ocl::OclCascadeClassifier*) plate_cascade)->detectMultiScale(openclFrame, plates, 1.1, 3, 0, minSize, maxSize);
((ocl::OclCascadeClassifier*) plate_cascade)->detectMultiScale(openclFrame, plates, config->detection_iteration_increase, 3, 0, minSize, maxSize);
}
else
{
plate_cascade->detectMultiScale( frame, plates, 1.1, 3,
plate_cascade->detectMultiScale( frame, plates, config->detection_iteration_increase, 3,
0,
//0|CV_HAAR_SCALE_IMAGE,
minSize, maxSize );