#pragma once #include #include #include #include #include #include #include #include "CaptureUtil.h" #include "RecognitionManager.h" enum ImgType { IMG_TYPE_GP, IMG_TYPE_ADD }; enum MoneyUnit { MONEY_UNIT_Y, MONEY_UNIT_W, MONEY_UNIT_NO, }; struct GPCodeArea { ImgType type; int startx; int starty; int endx; int endy; std::string code; //L2Êý¾ÝÓÐЧ int cateIndex; }; typedef list (*MatOcrFun)(string key_regex,cv::Mat mat); //ͬ»¨Ë³Ê¼þ class THSActionUtil { private: //ÅúÁ¿Ìí¼Ó¹ÉƱ static void betchAddGP(HWND addDialog,list codeList); //ɾ³ý°å¿éÄÚµÄËùÓдúÂë static void clearPlateCodes(HWND hwnd); //»ñÈ¡°å¿éÖдúÂëÌí¼Ó°´Å¥µÄλÖà static RECT getPlateAddCodeBtnPostion(HWND win); public: static HWND getMainWin(); static HWND getL2Win(); static HWND getThirdWindow(); static HWND getSecondWindow(); //ÐÐÒµ static HWND getIndustryWindow(); //½»Ò×¾ä±ú static HWND getTradeSuccessWindow(); static HWND getTradeDelegateWindow(); static HWND getTradeSimpleDelegateWindow(); //»ñÈ¡¶ÌÏß¾«Áé´°¿Ú static HWND getDXJLWindow(); static HWND getDXJLMainWindow(); //¼ì²â»·¾³ static bool checkEnv(); // static GPCodeArea splitPlateMenuArea(cv::Mat img); //°å¿éÄÚÈÝ·Ö¸î static std::list splitPlateRowArea(cv::Mat img); static std::list splitPlateRowArea(cv::Mat img, int start_row, int start_col, int end_row, int end_col); //´ò¿ªÍ¬»¨Ë³µÄ¸±ÆÁÄ» static void openL2Screen(); //½ÃÕýL2´úÂë°å¿é£¨Ñ¡ÖÐÊ×°æ´ýÑ¡£© static bool correctL2ScreenPlate(MatOcrFun matOcrFun); static void openSecondScreen(); static void openThirdScreen(); static void openTradeSuccessScreen(); static void openDXJLScreen(); static bool addGP(string code, MatOcrFun ocrFun); //ÉèÖÃ¹ÉÆ± static bool setGP(std::string quickCode, list codeList,RecognitionManager* recognitionManager,MatOcrFun ocrFun); //ʶ±ð¹ÉƱ´úÂë static std::list recognitionGPArea(cv::Mat img); //ʶ±ðÊý×Ö static std::list recognitionGPCodeNum(cv::Mat img,std::list areaList, RecognitionManager* recognitionManager); //ʶ±ð´úÂë static std::list recognitionGPCode(cv::Mat img, RecognitionManager* recognitionManager); //ÉèÖûñÈ¡level2µÄ¹ÉƱÊý¾Ý static bool setListenL2GP(int p,string code, RecognitionManager* recognitionManager); //ÉèÖûñÈ¡level2µÄ¹ÉƱ´úÂë static std::map getListenL2GPCodes(RecognitionManager* recognitionManager); //ʶ±ð°å¿éÄÚÈÝÇøÓò static GPCodeArea recognitionPlateContentArea(cv::Mat grayImg); //Ìí¼ÓÄ¿±ê±êµÄ static void addTargetCodes(list codeList, RecognitionManager* recognitionManager); static std::list getListenL2GPAreaAndCode(RecognitionManager* recognitionManager); static std::list> getListenL2GPAreaActionBar(); //ͬ»¨Ë³ÊÇ·ñ¿¨ËÀ static bool thsIsDead(); //¸üÐÂÐÐÇéÖ÷Õ¾ static void updateMainSite(); //ɸѡL2ÐÐÇé½ð¶î static bool screenL2Money(HWND l2_hwnd,string money, MatOcrFun ocrFun); };