#pragma once #include #include "iRayCtrlDefinition.h" //using namespace std; class CalibrationProcess { std::string g_strAppPath; int m_nFullImgWidth; //有效图像的宽 int m_nFullImgHeight; //有效图像的高 int m_nTopOffset; //图像上边裁剪像素值 int m_nLeftOffset; //图像左侧裁剪像素值 public: CalibrationProcess(); ~CalibrationProcess(); std::string GetCalibDueDate(DeviceIndexStruct DeviceConf, std::string strCalibDate); bool CheckCalibReportExist(); bool CreatCalibrationReport(DeviceIndexStruct DeviceConf, bool bLTEenable, bool bModifyItem); bool CheckCalibartionDue(DeviceIndexStruct DeviceConf); bool GetCalibReportParam(bool bLTEenable, DeviceIndexStruct DeviceConf, std::string key, std::string & Value); bool UpdateFDCalibList(bool bLTEenable, std::string strPanelSerial, std::string strPanelType); private: void *m_pZSKKPixMatrix; long m_nGrayHist[256]; // 统计defect文件,每个坏点分类的个数 bool m_bDefectAccept; int m_nOldDay; //校正日期定期检查的上次时间(某一天) int m_nTotalDefectLine; int m_nTotalDefectColumn; int m_nTotalDoubleDefectLine; int m_nTotalDoubleDefectColumn; int m_nTripleDoubleDefectLine; int m_nTripleDoubleDefectColumn; int m_nDefectLineMinGap; int m_nDefectColumnMinGap; int m_nTotalECV; int ParseFxdFile(DeviceIndexStruct DeviceConf, std::string strFileName, bool bManualDefect = false); bool AnalysisCalibrationData(DeviceIndexStruct DeviceConf, char * pCalibData, int nColumn, int nLine, bool bManualDefect); bool StoreZSKKPixMap(DeviceIndexStruct DeviceConf, bool bManualDefect); bool AddImageToPixMap(WORD * pImage); //bool ApplyZSKKPixMap(WORD* pImage); bool LoadZSKKPixelMap(DeviceIndexStruct DeviceConf, bool bInit); bool UnLoadZSKKPixMap(void); bool CreateEmptyMap(int nHeight, std::string pcRefPath); bool CreatZSKKDefectMap(DeviceIndexStruct DeviceConf, char* pImage, int nWidth, int nHeight, bool bManualDefect); bool UpdateFDUIFCalibList(bool bLTEenable, std::string strPanelSerial, std::string strPanelType); };