diff --git a/src/openalpr/regiondetector.cpp b/src/openalpr/detection/detector.cpp similarity index 100% rename from src/openalpr/regiondetector.cpp rename to src/openalpr/detection/detector.cpp diff --git a/src/openalpr/regiondetector.h b/src/openalpr/detection/detector.h similarity index 73% rename from src/openalpr/regiondetector.h rename to src/openalpr/detection/detector.h index f9829a6..451f578 100644 --- a/src/openalpr/regiondetector.h +++ b/src/openalpr/detection/detector.h @@ -23,10 +23,6 @@ #include #include -#include "opencv2/objdetect/objdetect.hpp" -#include "opencv2/imgproc/imgproc.hpp" -#include "opencv2/core/core.hpp" -#include "opencv2/ml/ml.hpp" #include "utility.h" #include "support/timing.h" @@ -38,28 +34,28 @@ struct PlateRegion std::vector children; }; -class RegionDetector + +class Detector { public: - RegionDetector(Config* config); - virtual ~RegionDetector(); + Detector(Config* config); + virtual ~Detector(); bool isLoaded(); std::vector detect(cv::Mat frame); - std::vector detect(cv::Mat frame, std::vector regionsOfInterest); + virtual std::vector detect(cv::Mat frame, std::vector regionsOfInterest); - private: + protected: Config* config; - float scale_factor; - cv::CascadeClassifier* plate_cascade; - bool loaded; - - std::vector doCascade(cv::Mat frame, std::vector regionsOfInterest); - + float scale_factor; + std::vector aggregateRegions(std::vector regions); + + + }; #endif // OPENALPR_REGIONDETECTOR_H