admin
2022-11-05 3680049029e6a193eae069596be04ce0fb2b1303
ConsoleApplication/ImgUtil.cpp
@@ -390,7 +390,6 @@
      int start = **ele;
      int end = *(*ele + 1);
      LogUtil::debug("start-%d end-%d", start, end);
      free(*ele);
      cv::Mat img = cv::Mat(binary, cv::Rect(start, 0, end - start + 1, rows));
      resultList.push_back(img);
@@ -568,7 +567,6 @@
list<int*> ImgUtil::divideImg(cv::Mat img, bool save) {
   //cv::imwrite("C:\\Users\\Administrator\\Desktop\\ocr\\demo\\0_gray.jpg", img);
   clock_t start_time = clock();
   LogUtil::info("开始分隔图像");
   list<list<int*>> resultList;
   int  cols = img.cols - 1;
@@ -580,7 +578,6 @@
   for (int i = 10;i < rows;i++) {
      bool full = ImgDivider::isRowFull(img, i);
      if (full) {
         LogUtil::debug("满数据行标:%d ", i);
         if (startf < 0)
         {
            startf = i;
@@ -593,7 +590,6 @@
      else {
         if (startf > -1 && endf > -1) {
            int width = endf - startf + 1;
            LogUtil::debug("标题分隔线:%d  分割线宽:%d\n", i, width);
            contentStartRow = i;
            break;
         }
@@ -606,8 +602,6 @@
      throw string("图像分隔出错:title分隔出错");
   }
   LogUtil::debug("\n\n\n\n");
   LogUtil::info("分隔标题完成");
   //分隔每一列数据
   startf = -1;
@@ -621,7 +615,6 @@
      bool full = ImgDivider::isColFull(img, i, contentStartRow);
      if (full) {
         LogUtil::debug("满数据列标:%d ", i);
         if (startf < 0)
         {
            startf = i;
@@ -634,12 +627,10 @@
      else {
         if (startf > -1 && endf > -1) {
            int width = endf - startf + 1;
            LogUtil::debug("列数据分隔线:%d  分割线宽:%d\n", i, width);
            int* dd = (int*)malloc(sizeof(int) * 2);
            *dd = startIndex;
            *(dd + 1) = startf - 1;
            LogUtil::debug("列数据:%d-%d\n", *dd, *(dd + 1));
            dataColIndexs.push_back(dd);
            startIndex = i;
@@ -656,7 +647,6 @@
      *dd = startIndex;
      *(dd + 1) = startf - 1;
      LogUtil::debug("列数据:%d-%d\n", *dd, *(dd + 1));
      dataColIndexs.push_back(dd);
@@ -664,7 +654,6 @@
      endf = -1;
   }
   LogUtil::info("列数据分割完成");
   //分隔每一行的数据
   std::list<int*> dataItemList;
@@ -720,7 +709,6 @@
         }
      }
      LogUtil::debug("内容数量:%d \n", dataCount);
   }
@@ -738,7 +726,6 @@
      int startCol = *(*ele + 1);
      int endRow = *(*ele + 2);
      int endCol = *(*ele + 3);
      LogUtil::debug("%d %d %d %d\n", startRow, startCol, endRow, endCol);
      //保存行数据
      if (save) {
@@ -804,8 +791,6 @@
      LogUtil::debug("行数据数量:%d\n", rowDataSize);
      //如果没有满7个数据,需要在中间补空数据
      if (rowDataSize < 7) {
         //补买撤 ,补涨停
@@ -839,7 +824,6 @@
      resultList.push_back(rowDataList);
      LogUtil::debug("%d行数据量:%zd\n", index, rowDataList.size());
      //保存数据
      if (save)