#pragma once #include #include "data_def_api.h" #include "data_def.h" #include "logger.h" #include "tea_detect.h" #include "imstorage_manager.h" using namespace cv; namespace graft_cv{ class CTeaSort{ public: CTeaSort( ConfigParam& ap, img_type dtype, CGcvLogger*pLog = 0 ); ~CTeaSort(); int detect( ImgInfo*, PositionInfo& posinfo, const char* fn = 0); int load_data( ImgInfo*imginfo, const char* fn = 0); int load_model(); void set_image_saver(CImStoreManager** ppis) { m_ppImgSaver = ppis; } private: img_type m_dtype; // data type: tea_grab, tea_cut string m_imgId; string m_dtype_str; Mat m_raw_img; ConfigParam& m_cp; RetinaDrop m_drop_detector; CImStoreManager** m_ppImgSaver; CGcvLogger* m_pLogger; ImgInfo* m_pImginfoRaw; ImgInfo* m_pImginfoDetected; void clear_imginfo(); double calalate_angle(Bbox&b); }; };