#ifndef _AIObjectDet__ #define _AIObjectDet__ #include #include #include class AIObjectDet { public: AIObjectDet(); float eqprocess(cv::Mat *src, cv::Mat *dst, int width, int height); int process(float *output, std::vector &boxes, std::vector &objProbs, std::vector &classId, float *anchor, int grid_h, int grid_w, int stride, int imgsz); int quick_sort_indice_inverse(std::vector &input, int left, int right, std::vector &indices); float CalculateOverlap(float xmin0, float ymin0, float xmax0, float ymax0, float xmin1, float ymin1, float xmax1, float ymax1); int nms(int validCount, std::vector &outputLocations, std::vector classIds, std::vector &order, int filterId, float threshold); ~AIObjectDet(); int UpdateClassNum(int nClassNum); public: float BOX_THRESH; float NMS_THRESH; int m_ClassNum; int m_PROP_BOX_SIZE; }; #endif