/* * @Author: your name * @Date: 2022-04-20 15:49:50 * @LastEditTime: 2022-09-23 21:51:58 * @LastEditors: sueRimn * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @FilePath: /ZCXD_MonitorPlatform/src/CoreLogicModule/include/CamDeal.h */ #ifndef SingleGPU_H_ #define SingleGPU_H_ #include #include #include #include #include #include #include #include "AICheck.h" using namespace std; #define MAX_GPU_NUMBER 4 class AI_SingleGPU { public: AI_SingleGPU(int nGpuIdx); ~AI_SingleGPU(); static AI_SingleGPU *GetInstance(int nGpuIdx); static AI_SingleGPU *m_pInstance[MAX_GPU_NUMBER]; private: // 定义一个内部类 class CGarbo { public: CGarbo() {}; ~CGarbo() { for (int i = 0; i < MAX_GPU_NUMBER; i++) { if (nullptr != m_pInstance[i]) { delete m_pInstance[i]; m_pInstance[i] = nullptr; } } } }; // 定义一个内部类的静态对象 // 当该对象销毁时,顺带就释放myInstance指向的堆区资源 static CGarbo m_garbo; private: int m_nGpuIdx; public: AI_defect AI_defect_NF; // BOE测试 AI_defect AI_defect_Type2; // 第二个检测模型 AI_defect AI_defect_Cls; // 1023 AI_defect AI_defect_Cls_L0; // AI_defect AI_defect_YX_1; // L0 AI_defect AI_defect_YX_2; // L127 L255 AI_defect AI_defect_zf; // L127 L255 AI_defect AI_defect_UP; // L127 L255 AI_defect AI_defect_Chess; // L127 L255 AI_defect AI_defect_127Cell; // L127 L255 AI_defect AI_defect_RE_POL; // L127 L255 AI_defect AI_defect_RE_AD; // L127 L255 AI_defect AI_defect_Edge_Big; // L127 L255 AI_defect AI_defect_Edge_Samll; // L127 L255 AI_defect AI_defect_LackPol; // 缺pol检测 AI_defect AI_defect_MarkLine; // MarkLine }; #endif