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)
This commit is contained in:
Matt Hill
2014-05-19 19:41:48 -05:00
parent 0e1d0aae8b
commit be061ad452
6 changed files with 13 additions and 8 deletions

View File

@@ -22,9 +22,9 @@
// ALPR code // 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() Alpr::~Alpr()

View File

@@ -63,7 +63,7 @@ class Alpr
{ {
public: 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(); virtual ~Alpr();
void setDetectRegion(bool detectRegion); void setDetectRegion(bool detectRegion);

View File

@@ -21,9 +21,9 @@
void plateAnalysisThread(void* arg); 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. // Config file or runtime dir not found. Don't process any further.
if (config->loaded == false) if (config->loaded == false)

View File

@@ -51,7 +51,7 @@ class AlprImpl
{ {
public: 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(); virtual ~AlprImpl();
std::vector<AlprResult> recognize(cv::Mat img); std::vector<AlprResult> recognize(cv::Mat img);

View File

@@ -20,7 +20,7 @@
#include "config.h" #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 = ""; string debug_message = "";
@@ -76,6 +76,11 @@ Config::Config(const std::string country, const std::string config_file)
loadValues(country); 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) if (DirectoryExists(this->runtimeBaseDir.c_str()) == false)
{ {

View File

@@ -38,7 +38,7 @@ class Config
{ {
public: 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(); virtual ~Config();
bool loaded; bool loaded;