#include "include.h" #include "../village_inc.h" #include "road_seg.h" #include using namespace std; struct RoadInfo{ std::vector vec_line; std::vector vec_road; cv::Mat direct_mask; }; class RoadSegAnalysis { public: RoadSegAnalysis(/* args */); ~RoadSegAnalysis(); int init(int devId); std::vector detect(vector vec_img); int check_reverse_driving(cv::Mat direct_mask, sy_rect rc, int src_width, int src_height, int head_or_tail); int check_cross_line(std::vector& vec_line, sy_rect rc); int check_cross_region(std::vector& vec_reg, sy_rect rc, int region_type); private: int release(); std::vector parse_seg(rs_result one_result, sy_img src); cv::Mat parse_direct(rs_result one_result, sy_img src); void post_direct(rs_result one_result, sy_img src); private: void* m_handle{nullptr}; aclrtContext ctx{nullptr}; };