#ifndef RKNNMANAGER_HPP #define RKNNMANAGER_HPP #include #include #include #include #include "../DataManager/DataPackage.h" static unsigned char *load_model(const char *filename, int *model_size); class PPYOLOE { public: PPYOLOE(); ~PPYOLOE(); int get_index() const { return index; } bool initialize(const std::string &model_path); bool infer(int index, unsigned char *input_data, int width, int height,DataPackage* result); void release(); int width, height, channel; rknn_input_output_num io_num; rknn_tensor_attr *input_attrs; rknn_tensor_attr *output_attrs; bool is_quant; private: PPYOLOE(const PPYOLOE &) = delete; PPYOLOE &operator=(const PPYOLOE &) = delete; rknn_context ctx; unsigned char *model_data; int model_data_size; void *resize_buf; int index{0}; }; #endif // RKNNMANAGER_HPP