#ifndef AUTO_BUFF__TRACK_HPP #define AUTO_BUFF__TRACK_HPP #include #include #include #include "buff_type.hpp" #include "tools/img_tools.hpp" #include "yolo11_buff.hpp" const int LOSE_MAX = 20; // 丢失的阙值 namespace auto_buff { class Buff_Detector { public: Buff_Detector(const std::string & config); std::optional detect_24(cv::Mat & bgr_img); std::optional detect(cv::Mat & bgr_img); std::optional detect_debug(cv::Mat & bgr_img, cv::Point2f v); private: void handle_img(const cv::Mat & bgr_img, cv::Mat & dilated_img); cv::Point2f get_r_center(std::vector & fanblades, cv::Mat & bgr_img); void handle_lose(); YOLO11_BUFF MODE_; Track_status status_; int lose_; // 丢失的次数 double lastlen_; std::optional last_powerrune_ = std::nullopt; }; } // namespace auto_buff #endif // DETECTOR_HPP