| | |
| | | |
| | | |
| | | |
| | | list<list<GPDataStruct>> THSGPDataCapture::captureGPData(cv::Mat grayImg, SplitType types[], int length_per_num) { |
| | | list<list<GPDataStruct>> THSGPDataCapture::captureGPData(cv::Mat grayImg, SplitType types[], int length_per_num, int startColumn, int endColumn) { |
| | | |
| | | |
| | | list<int*> rowData = THSActionUtil::splitPlateRowArea(grayImg); |
| | | //每行的元素个数 |
| | | int ele_count_per_line = sizeof(types) / sizeof(types[0]); |
| | | int* splitResult = (int*)malloc(sizeof(int) * 4 * ele_count_per_line * rowData.size()); |
| | | int* rowIndex = (int*)malloc(sizeof(int) * 4 * rowData.size()); |
| | | int count = 0; |
| | | int* rowIndex = (int*)malloc(sizeof(int) * 4 * rowData.size()); |
| | | for (std::list<int*>::iterator ele = rowData.begin();ele != rowData.end();ele++) { |
| | | |
| | | string path = "C:\\Users\\Administrator\\Desktop\\ocr\\limit_up\\"; |
| | |
| | | free(*ele); |
| | | count++; |
| | | } |
| | | |
| | | |
| | | //每行的元素个数 |
| | | int ele_count_per_line = sizeof(types) / sizeof(types[0]); |
| | | int* splitResult = (int*)malloc(sizeof(int) * 4 * ele_count_per_line * rowData.size()); |
| | | int line_number_count = ele_count_per_line * length_per_num; |
| | | |
| | | openCLExcuter->splitPlateContentRowData(grayImg.data, grayImg.cols, grayImg.rows, rowIndex, rowData.size(), ele_count_per_line, 1, 2, splitResult); |
| | | openCLExcuter->splitPlateContentRowData(grayImg.data, grayImg.cols, grayImg.rows, rowIndex, rowData.size(), ele_count_per_line, startColumn, endColumn, splitResult); |
| | | |
| | | //分割数字 |
| | | unsigned char* zeroData = (unsigned char*)malloc(sizeof(unsigned char) * _NUMBER_GP_CODE_WIDTH * _NUMBER_GP_CODE_HEIGHT); |
| | |
| | | } |
| | | |
| | | char* priceCode; |
| | | priceCode = new char[20]; |
| | | sprintf_s(priceCode, money.length(), "%.2lf", stod(money)); |
| | | priceCode = new char[100]; |
| | | sprintf_s(priceCode, 100, "%.2lf", stod(money)); |
| | | std::string _str(priceCode); |
| | | delete[] priceCode; |
| | | money = _str; |
| | | |
| | | industryData.type = NUM_TYPE_MONEY; |
| | |
| | | } |
| | | |
| | | char* priceCode; |
| | | priceCode = new char[20]; |
| | | sprintf_s(priceCode, price.length(), "%.2lf", stod(price)); |
| | | priceCode = new char[100]; |
| | | sprintf_s(priceCode, 100, "%.2lf", stod(price)); |
| | | std::string _str(priceCode); |
| | | delete[] priceCode; |
| | | price = _str; |
| | | |
| | | industryData.type = NUM_TYPE_PRICE; |