From eda1a611bc4afcf1c36a6c728f432aec1f688e1b Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 27 六月 2022 19:13:36 +0800 Subject: [PATCH] 'GP代码识别' --- ConsoleApplication/main.cpp | 58 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 48 insertions(+), 10 deletions(-) diff --git a/ConsoleApplication/main.cpp b/ConsoleApplication/main.cpp index f81986d..58a73d5 100644 --- a/ConsoleApplication/main.cpp +++ b/ConsoleApplication/main.cpp @@ -20,7 +20,7 @@ //鍚岃姳椤�(v9.10.50) - 娣卞湷Level-2鍒嗘椂璧板娍 //鍚岃姳椤�(v9.10.50) - pppp list<TradeData> map = creenDataCapture->captureLevel2TradeData(cv::imread( "C:\\Users\\Administrator\\Desktop\\ocr\\demo\\0_388.jpg"),p); - //break; + break; } return 0L; @@ -91,13 +91,35 @@ */ int main() { - - + //THSActionUtil::openSecondScreen(); + RecognitionUtil::init(); + CaptureUtil::init("鍚岃姳椤�(v9.10.50) - 鐑棬鑲�888");// 鐑棬鑲�888 + ImgUtil::init(); ths(); + + /* + RecognitionManager* recognitionManager = new RecognitionManager(); + + for (int i = 1;i < 14;i++) + { + string path = "C:\\Users\\Administrator\\Desktop\\ocr\\split\\"; + path.append(to_string(i)).append("_1.jpg"); + list<cv::Mat> list1 = ImgUtil::splitNum(cv::imread(path.c_str(), cv::IMREAD_GRAYSCALE)); + list<uchar> resultList= recognitionManager->recognitionGPCode(list1); + list<uchar>::iterator ele; + for (ele = resultList.begin();ele != resultList.end();++ele) { + printf("%d",*ele); + } + printf("\n"); + } + */ + + cv::waitKey(0); cv::destroyAllWindows(); return 0; - /* + + string path = "C:\\Users\\Administrator\\Desktop\\ocr\\temp.jpg"; @@ -105,7 +127,7 @@ cv::Mat img = CaptureUtil::capture(HWND(0x00010CA6)); cv::imwrite(path, img); - */ + //return 0; @@ -113,7 +135,7 @@ RecognitionUtil::init(); CaptureUtil::init("鍚岃姳椤�(v9.10.50) - 鐑棬鑲�888");// 鐑棬鑲�888 ImgUtil::init(); - for (int i = 0;i < 8;i++) + for (int i = 0;i < 1;i++) { int* params =(int*) malloc(sizeof(int)); *params = i; @@ -205,16 +227,32 @@ void ths() { //00421530 - cv::Mat img = CaptureUtil::capture(HWND(0x00161728)); + cv::Mat img = CaptureUtil::capture(HWND(0x00040CAE)); img=ImgUtil::grayImage(img); - cv::imwrite("C:\\Users\\Administrator\\Desktop\\ocr\\bk.jpg",img); - std::list<GPCodeArea> list= THSActionUtil::recognitionGPCode(img); + //cv::imwrite("C:\\Users\\Administrator\\Desktop\\ocr\\bk.jpg",img); + std::list<GPCodeArea> list= THSActionUtil::recognitionGPArea(img); std::list<GPCodeArea>::iterator ele; + RecognitionManager* recognitionManager = new RecognitionManager(); + int index = 0; for (ele = list.begin();ele != list.end();ele++) { + index++; + GPCodeArea codeArea = *ele; + if (codeArea.type == IMG_TYPE_GP) { + cv::Mat nums = cv::Mat(img,cv::Rect( codeArea.startx, codeArea.starty, codeArea.endx- codeArea.startx+1, codeArea.endy- codeArea.starty+1)); + std::list<cv::Mat> list2 = ImgUtil::splitNum(nums); + std::list<uchar> resultList = recognitionManager->recognitionGPCode(list2); + std::list<uchar>::iterator ele1; + printf("%d-", index); + for (ele1 = resultList.begin();ele1 != resultList.end();++ele1) { + printf("%d", *ele1); + } + printf("\n"); + } + + continue; SetForegroundWindow(HWND(0x00161728)); SetFocus(HWND(0x00161728)); - GPCodeArea codeArea = *ele; if (codeArea.type == IMG_TYPE_ADD) { RECT rc; GetWindowRect(HWND(0x00161728), &rc); -- Gitblit v1.8.0