#ifndef BOX_H #define BOX_H #ifdef _DEBUG #include #include #endif #ifdef YOLODLL_EXPORTS #if defined(_MSC_VER) #define YOLODLL_API __declspec(dllexport) #else #define YOLODLL_API __attribute__((visibility("default"))) #endif #else #if defined(_MSC_VER) #define YOLODLL_API #else #define YOLODLL_API #endif #endif typedef struct{ float x, y, w, h; } box; typedef struct{ float dx, dy, dw, dh; } dbox; typedef struct detection { box bbox; int classes; float *prob; float *mask; float objectness; int sort_class; } detection; box float_to_box(float *f); float box_iou(box a, box b); float box_rmse(box a, box b); dbox diou(box a, box b); void do_nms(box *boxes, float **probs, int total, int classes, float thresh); void do_nms_sort_v2(box *boxes, float **probs, int total, int classes, float thresh); YOLODLL_API void do_nms_sort(detection *dets, int total, int classes, float thresh); YOLODLL_API void do_nms_obj(detection *dets, int total, int classes, float thresh); box decode_box(box b, box anchor); box encode_box(box b, box anchor); #endif