From be061ad4521e7831d6a3fb6d596251c637074eac Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 19 May 2014 19:41:48 -0500 Subject: [PATCH] Added runtime data dir parameter just in case it's not possible to configure the runtime directory via config file (i.e., if the location is only known at runtime) --- src/openalpr/alpr.cpp | 4 ++-- src/openalpr/alpr.h | 2 +- src/openalpr/alpr_impl.cpp | 4 ++-- src/openalpr/alpr_impl.h | 2 +- src/openalpr/config.cpp | 7 ++++++- src/openalpr/config.h | 2 +- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/openalpr/alpr.cpp b/src/openalpr/alpr.cpp index e087352..72aec82 100644 --- a/src/openalpr/alpr.cpp +++ b/src/openalpr/alpr.cpp @@ -22,9 +22,9 @@ // ALPR code -Alpr::Alpr(const std::string country, const std::string configFile) +Alpr::Alpr(const std::string country, const std::string configFile, const std::string runtimeDir) { - impl = new AlprImpl(country, configFile); + impl = new AlprImpl(country, configFile, runtimeDir); } Alpr::~Alpr() diff --git a/src/openalpr/alpr.h b/src/openalpr/alpr.h index 97f2e7d..364a4c1 100644 --- a/src/openalpr/alpr.h +++ b/src/openalpr/alpr.h @@ -63,7 +63,7 @@ class Alpr { public: - Alpr(const std::string country, const std::string configFile = ""); + Alpr(const std::string country, const std::string configFile = "", const std::string runtimeDir = ""); virtual ~Alpr(); void setDetectRegion(bool detectRegion); diff --git a/src/openalpr/alpr_impl.cpp b/src/openalpr/alpr_impl.cpp index 8e09f23..76977e7 100644 --- a/src/openalpr/alpr_impl.cpp +++ b/src/openalpr/alpr_impl.cpp @@ -21,9 +21,9 @@ void plateAnalysisThread(void* arg); -AlprImpl::AlprImpl(const std::string country, const std::string configFile) +AlprImpl::AlprImpl(const std::string country, const std::string configFile, const std::string runtimeDir) { - config = new Config(country, configFile); + config = new Config(country, configFile, runtimeDir); // Config file or runtime dir not found. Don't process any further. if (config->loaded == false) diff --git a/src/openalpr/alpr_impl.h b/src/openalpr/alpr_impl.h index 2c8665d..da805f1 100644 --- a/src/openalpr/alpr_impl.h +++ b/src/openalpr/alpr_impl.h @@ -51,7 +51,7 @@ class AlprImpl { public: - AlprImpl(const std::string country, const std::string configFile = ""); + AlprImpl(const std::string country, const std::string configFile = "", const std::string runtimeDir = ""); virtual ~AlprImpl(); std::vector recognize(cv::Mat img); diff --git a/src/openalpr/config.cpp b/src/openalpr/config.cpp index 1443220..bdce12a 100644 --- a/src/openalpr/config.cpp +++ b/src/openalpr/config.cpp @@ -20,7 +20,7 @@ #include "config.h" -Config::Config(const std::string country, const std::string config_file) +Config::Config(const std::string country, const std::string config_file, const std::string runtime_dir) { string debug_message = ""; @@ -76,6 +76,11 @@ Config::Config(const std::string country, const std::string config_file) loadValues(country); + if (runtime_dir.compare("") != 0) + { + // User provided a runtime directory directly into the library. Use this. + this->runtimeBaseDir = runtime_dir; + } if (DirectoryExists(this->runtimeBaseDir.c_str()) == false) { diff --git a/src/openalpr/config.h b/src/openalpr/config.h index f1d083b..28a4d94 100644 --- a/src/openalpr/config.h +++ b/src/openalpr/config.h @@ -38,7 +38,7 @@ class Config { public: - Config(const std::string country, const std::string config_file = ""); + Config(const std::string country, const std::string config_file = "", const std::string runtime_dir = ""); virtual ~Config(); bool loaded;