1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| #ifndef BOX_H
| #define BOX_H
|
| #ifdef _DEBUG
| #include <stdlib.h>
| #include <crtdbg.h>
| #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
|
|