From c108e5ba42168841311b74034d89c31556d628c4 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 12 七月 2022 17:24:10 +0800 Subject: [PATCH] '完善' --- ConsoleApplication/main.cpp | 145 ++++++++++++++++++++++++++---------------------- 1 files changed, 78 insertions(+), 67 deletions(-) diff --git a/ConsoleApplication/main.cpp b/ConsoleApplication/main.cpp index bbb6001..c6410df 100644 --- a/ConsoleApplication/main.cpp +++ b/ConsoleApplication/main.cpp @@ -1,7 +1,8 @@ -锘�#include "ScreenDataCapture.h" +锘�#include "L2DataCapture.h" #include "CaptureUtil.h" #include "THSActionUtil.h" #include "Win32Util.h" +#include "LimitUpCapture.h" void gray(); void ths(); /* @@ -15,12 +16,12 @@ int p = *index; - ScreenDataCapture* creenDataCapture = new ScreenDataCapture(); + L2DataCapture* creenDataCapture = new L2DataCapture(); while (true) { //鍚岃姳椤�(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); + list<TradeData> map = creenDataCapture->captureLevel2TradeData(cv::imread("C:\\Users\\Administrator\\Desktop\\ocr\\demo\\0_388.jpg"), p); //break; } @@ -45,7 +46,7 @@ Sleep(1500); keybd_event(VK_RETURN, 0, 0, 0); keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); - HWND win= FindWindowA(0, "娣诲姞鑲$エ"); + HWND win = FindWindowA(0, "娣诲姞鑲$エ"); //CloseWindow(win); Sleep(100); @@ -82,34 +83,44 @@ std::cout << sum[i] << "\n"; } */ -/* - cv::waitKey(0); - cv::destroyAllWindows(); + /* + cv::waitKey(0); + cv::destroyAllWindows(); - return 0; -} -*/ + return 0; + } + */ -void notify(int index,string code, list<TradeData> data,void *context) { +void notify(int index, string code, list<TradeData> data, void* context) { cout << index << endl; } +void callback(list<LimitUpData> codeList, void* contex) { + +} + +#include "TradeQueueCapture.h" +void splitTradeQueue() { + //妯悜鍒囧壊 + TradeQueueCapture* tradeQueueCapture = new TradeQueueCapture(); + for (int i = 0;i < 8;i++) + { + string path = "C:\\Users\\Administrator\\Desktop\\ocr\\trade_queue\\"; + path.append(to_string(i)).append(".jpg"); + + tradeQueueCapture->recognition(cv::imread(path, cv::IMREAD_GRAYSCALE)); + + } + + +} + int main() { - HWND win = HWND(0x000313FE); - RECT wrect; - GetWindowRect(win, &wrect); + ImgUtil::init(); - cv::Mat img= CaptureUtil::capture(win); - cv::Mat grayImg= ImgUtil::grayImage(img); - GPCodeArea area= THSActionUtil::recognitionPlateContentArea(grayImg); + splitTradeQueue(); - //SendMessage(win, WM_MOUSEMOVE,0, MAKEWORD(area.startx+50, area.starty + 100)); - for (int i = 0;i < 5;i++) - { - SendMessage(win, WM_MOUSEWHEEL, 0, MAKEWORD(wrect.right - 50, wrect.top + 50)); - Sleep(1000); - } /* ImgUtil::init(); @@ -137,7 +148,7 @@ /* RecognitionManager* recognitionManager = new RecognitionManager(); - + for (int i = 1;i < 14;i++) { string path = "C:\\Users\\Administrator\\Desktop\\ocr\\split\\"; @@ -153,7 +164,7 @@ */ /* - + RecognitionUtil::init(); ImgUtil::init(); for (int i = 0;i < 1;i++) @@ -162,7 +173,7 @@ *params = i; HANDLE hThread = CreateThread(NULL, 0, threadname, params, 0, NULL); } - + system("PAUSE"); */ @@ -175,13 +186,13 @@ int main__() { - for (int i =5;i < 6;i++) + for (int i = 5;i < 6;i++) { - cv::Mat img= CaptureUtil::capture(1); - string path = "C:\\Users\\Administrator\\Desktop\\ocr\\demo\\"; - path.append(to_string(i)); - path.append(".jpg"); - cv::imwrite(path, img); + cv::Mat img = CaptureUtil::capture(1); + string path = "C:\\Users\\Administrator\\Desktop\\ocr\\demo\\"; + path.append(to_string(i)); + path.append(".jpg"); + cv::imwrite(path, img); } @@ -191,17 +202,17 @@ int main_() { cv::Mat img = ImgUtil::grayImage(cv::imread("E:\\temp\\506518.jpg")); - imwrite("E:\\temp\\506518_gray.jpg",img); + imwrite("E:\\temp\\506518_gray.jpg", img); clock_t time_2 = clock(); LogUtil::debug("鐏板害瀹屾垚"); //鍥惧儚鍒嗗壊 list<int*> data; try { - data = ImgUtil::divideImg(img,1); + data = ImgUtil::divideImg(img, 1); if (data.size() == 0) { throw ERROR_CODE_DIVIDE_IMG_FAIL; - } + } } catch (...) { throw ERROR_CODE_DIVIDE_IMG_FAIL; @@ -213,8 +224,8 @@ } void gray() { - cv::Mat mat= cv::imread("C:\\Users\\Administrator\\Desktop\\ocr\\new.jpg"); - uchar* data= mat.data; + cv::Mat mat = cv::imread("C:\\Users\\Administrator\\Desktop\\ocr\\new.jpg"); + uchar* data = mat.data; int rows = mat.rows; int cols = mat.cols; uchar* grayData = (uchar*)malloc(sizeof(uchar) * mat.rows * mat.cols); @@ -222,16 +233,16 @@ for (int r = 0;r < rows;r++) { for (int c = 0;c < cols;c++) { int index = r * cols + c; - int start= index * 3; + int start = index * 3; uchar R = data[start]; - uchar G= data[start+1]; - uchar B= data[start + 2]; + uchar G = data[start + 1]; + uchar B = data[start + 2]; grayData[index] = (76 * R + 150 * G + 30 * B) >> 8; } } - + cv::Mat m = cv::Mat::zeros(mat.rows, mat.cols, CV_8UC1); m.data = grayData; imshow("榛戠櫧", m); @@ -249,9 +260,9 @@ void ths() { //00421530 cv::Mat img = CaptureUtil::capture(HWND(0x00040CAE)); - img=ImgUtil::grayImage(img); + img = ImgUtil::grayImage(img); //cv::imwrite("C:\\Users\\Administrator\\Desktop\\ocr\\bk.jpg",img); - std::list<GPCodeArea> list= THSActionUtil::recognitionGPArea(img); + std::list<GPCodeArea> list = THSActionUtil::recognitionGPArea(img); std::list<GPCodeArea>::iterator ele; RecognitionManager* recognitionManager = new RecognitionManager(); int index = 0; @@ -259,7 +270,7 @@ 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)); + 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; @@ -277,31 +288,31 @@ if (codeArea.type == IMG_TYPE_ADD) { RECT rc; GetWindowRect(HWND(0x00161728), &rc); - int y= rc.top + codeArea.starty+(codeArea.endy- codeArea.starty)/2; - int x= rc.left+ codeArea.startx + (codeArea.endx - codeArea.startx) / 2; - //POINT p; - //p.x = x; - //p.y = y; - //GetCursorPos(&p); - //绉诲姩榧犳爣 - SetCursorPos(x, y); - Sleep(100); - //鐐瑰嚮榧犳爣 - mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); - Sleep(10); - mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); + int y = rc.top + codeArea.starty + (codeArea.endy - codeArea.starty) / 2; + int x = rc.left + codeArea.startx + (codeArea.endx - codeArea.startx) / 2; + //POINT p; + //p.x = x; + //p.y = y; + //GetCursorPos(&p); + //绉诲姩榧犳爣 + SetCursorPos(x, y); + Sleep(100); + //鐐瑰嚮榧犳爣 + mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); + Sleep(10); + mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); - //閿洏杈撳叆 - HANDLE hThread = CreateThread(NULL, 0, inputCode, 0, 0, NULL); - //system("PAUSE"); - + //閿洏杈撳叆 + HANDLE hThread = CreateThread(NULL, 0, inputCode, 0, 0, NULL); + //system("PAUSE"); - CreateThread(NULL, 0, inputEnter, 0, 0, NULL); - - system("PAUSE"); - - //keybd_event(VK_RETURN, 0, 0, 0); - //keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); + + CreateThread(NULL, 0, inputEnter, 0, 0, NULL); + + system("PAUSE"); + + //keybd_event(VK_RETURN, 0, 0, 0); + //keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); break; } -- Gitblit v1.8.0