#ifndef ImageDetBase_H_ #define ImageDetBase_H_ #include #include #define INTERFACE_Det_VERSION 4 /*******************一般调用流程*************************************************************************************************************************/ /*******************1、初始化 UpdateConfig*************************************************************************************************************************/ /*******************2、初始化 Init 并开启 *************************************************************************************************************************/ /*******************3、GetStatus 获取状态 如果 =CHECK_THREAD_STATUS_IDLE 可以设置检测数据并开启检测 SetDataRun***************************************************/ /*******************4、GetStatus 获取状态 如果 =CHECK_THREAD_STATUS_COMPLETE 检测完成,可以获取检测结果 GetCheckReuslt 拷贝检测结果 自动把状态设为 CHECK_THREAD_STATUS_IDLE*****************************/ struct ImageDetconfig; struct ImageDetResult; class ImgCheckBase { protected: ImgCheckBase() {} public: // delete camera interface ~ImgCheckBase() {} static ImgCheckBase *GetInstance(); // 初始化参数 pconfig 参数指针 返回:0 成功 其他异常 virtual int RunStart(void *pconfig1 = NULL) = 0; // 设置检测数据,并开启检测 返回:0 成功 其他异常 virtual int SetDataRun_SharePtr(std::shared_ptr p) = 0; // 获取结果信息 返回:0 成功 其他异常 virtual int GetCheckReuslt(std::shared_ptr &pResult) = 0; virtual int CheckImg(std::shared_ptr p, std::shared_ptr &pResult) = 0; virtual int ReJsonResul(std::shared_ptr p, std::shared_ptr &pResult) = 0; // 获取检测库 状态信息 返回:CHECK_THREAD_RUN_STATUS virtual int GetStatus() = 0; // 更新参数 pconfig 参数指针,nConfigType 需要更新的参数类型 返回:0 成功 其他异常 virtual int UpdateConfig(void *pconfig, int nConfigType) = 0; // 返回检测版本信息 virtual std::string GetVersion() = 0; // 返回错误信息 virtual std::string GetErrorInfo() = 0; }; #endif