/* * Copyright (C) 2022 Rockchip Electronics Co., Ltd. * Authors: * raul.rao * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RK_YOLOV5_DEMO_POST_PROCESS_H #define RK_YOLOV5_DEMO_POST_PROCESS_H #include #include #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, "rkyolo4j", ##__VA_ARGS__); #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, "rkyolo4j", ##__VA_ARGS__); #define OBJ_NAME_MAX_SIZE 16 #define OBJ_NUMB_MAX_SIZE 64 #define OBJ_CLASS_NUM 80 #define NMS_THRESH 0.6 #define BOX_THRESH 0.5 #define PROP_BOX_SIZE (5+OBJ_CLASS_NUM) #define BOX_LEN 4 typedef struct _BOX_RECT { int left; int right; int top; int bottom; } BOX_RECT; typedef struct __detect_result_t { char name[OBJ_NAME_MAX_SIZE]; int class_id; BOX_RECT box; float prop; } detect_result_t; typedef struct _detect_result_group_t { int id; int count; detect_result_t results[OBJ_NUMB_MAX_SIZE]; } detect_result_group_t; int post_process(int8_t *input0, int8_t *input1, int8_t *input2, int model_in_h, int model_in_w, float conf_threshold, float nms_threshold, float scale_w, float scale_h, std::vector &qnt_zps, std::vector &qnt_scales, detect_result_group_t *group); void deinitPostProcess(); #endif //RK_YOLOV5_DEMO_POST_PROCESS_H