#ifndef AUTO_AIM__YOLO_HPP #define AUTO_AIM__YOLO_HPP #include #include "armor.hpp" namespace auto_aim { class YOLOBase { public: virtual std::list detect(const cv::Mat & img, int frame_count) = 0; virtual std::list postprocess( double scale, cv::Mat & output, const cv::Mat & bgr_img, int frame_count) = 0; }; class YOLO { public: YOLO(const std::string & config_path, bool debug = true); std::list detect(const cv::Mat & img, int frame_count = -1); std::list postprocess( double scale, cv::Mat & output, const cv::Mat & bgr_img, int frame_count); private: std::unique_ptr yolo_; }; } // namespace auto_aim #endif // AUTO_AIM__YOLO_HPP