PPYOLOE.hpp 925 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef RKNNMANAGER_HPP
  2. #define RKNNMANAGER_HPP
  3. #include <rknn_api.h>
  4. #include <opencv2/opencv.hpp>
  5. #include <string>
  6. #include <vector>
  7. #include "../DataManager/DataPackage.h"
  8. static unsigned char *load_model(const char *filename, int *model_size);
  9. class PPYOLOE
  10. {
  11. public:
  12. PPYOLOE();
  13. ~PPYOLOE();
  14. int get_index() const { return index; }
  15. bool initialize(const std::string &model_path);
  16. bool infer(int index, unsigned char *input_data, int width, int height,DataPackage* result);
  17. void release();
  18. int width, height, channel;
  19. rknn_input_output_num io_num;
  20. rknn_tensor_attr *input_attrs;
  21. rknn_tensor_attr *output_attrs;
  22. bool is_quant;
  23. private:
  24. PPYOLOE(const PPYOLOE &) = delete;
  25. PPYOLOE &operator=(const PPYOLOE &) = delete;
  26. rknn_context ctx;
  27. unsigned char *model_data;
  28. int model_data_size;
  29. void *resize_buf;
  30. int index{0};
  31. };
  32. #endif // RKNNMANAGER_HPP