| | |
| | | #ifndef BOX_H |
| | | #define BOX_H |
| | | |
| | | #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; |
| | |
| | | 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); |
| | | |