chessboard.h 751 B

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