12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef RKNNMANAGER_HPP
- #define RKNNMANAGER_HPP
- #include <rknn_api.h>
- #include <opencv2/opencv.hpp>
- #include <string>
- #include <vector>
- #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
|