40 lines
943 B
C
40 lines
943 B
C
#ifndef __SVP_NMS_H__
|
|
#define __SVP_NMS_H__
|
|
#include <math.h>
|
|
#include <stdlib.h>
|
|
#include "xmedia_svp_std.h"
|
|
#include "xmedia_svp.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define SVP_EPSILON 0.000001f
|
|
|
|
typedef struct {
|
|
xmedia_svp_rect rect;
|
|
xmedia_float detect_score;
|
|
xmedia_svp_class_type class_type;
|
|
} svp_base_result;
|
|
|
|
typedef struct {
|
|
xmedia_svp_rect rect;
|
|
xmedia_float detect_score;
|
|
xmedia_svp_class_type class_type;
|
|
xmedia_svp_keypoint kpt[MAX_DETECT_KEYPOINT_NUM];
|
|
} svp_base_yolov8_result;
|
|
|
|
xmedia_s32 det_nms(svp_base_result* vec_bbox, xmedia_u32 vec_bbox_len,
|
|
xmedia_float threshold, xmedia_u32* picked_bbox_len);
|
|
|
|
xmedia_float iou(svp_base_result* box1, svp_base_result* box2);
|
|
|
|
xmedia_s32 det_nms_cross(xmedia_svp_detect_result* vec_bbox, xmedia_u32 vec_bbox_len,
|
|
xmedia_float threshold, xmedia_u32* picked_bbox_len);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|