tea_sorter.h 909 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include <opencv.hpp>
  3. #include "data_def_api.h"
  4. #include "data_def.h"
  5. #include "logger.h"
  6. #include "tea_detect.h"
  7. #include "imstorage_manager.h"
  8. using namespace cv;
  9. namespace graft_cv{
  10. class CTeaSort{
  11. public:
  12. CTeaSort(
  13. ConfigParam& ap,
  14. img_type dtype,
  15. CGcvLogger*pLog = 0
  16. );
  17. ~CTeaSort();
  18. int detect(
  19. ImgInfo*, PositionInfo& posinfo, const char* fn = 0);
  20. int load_data(
  21. ImgInfo*imginfo,
  22. const char* fn = 0);
  23. int load_model();
  24. void set_image_saver(CImStoreManager** ppis) { m_ppImgSaver = ppis; }
  25. private:
  26. img_type m_dtype; // data type: tea_grab, tea_cut
  27. string m_imgId;
  28. string m_dtype_str;
  29. Mat m_raw_img;
  30. ConfigParam& m_cp;
  31. RetinaDrop m_drop_detector;
  32. CImStoreManager** m_ppImgSaver;
  33. CGcvLogger* m_pLogger;
  34. ImgInfo* m_pImginfoRaw;
  35. ImgInfo* m_pImginfoDetected;
  36. void clear_imginfo();
  37. double calalate_angle(Bbox&b);
  38. };
  39. };