fangjiasheng 2 lat temu
rodzic
commit
5ebc3759ed

+ 1 - 1
format_convert/convert_need_interface.py

@@ -27,7 +27,7 @@ from format_convert.libreoffice_interface import office_convert
 import numpy as np
 
 
-MAX_COMPUTE = True
+MAX_COMPUTE = False
 
 if get_platform() == "Windows":
     FROM_REMOTE = False

+ 3 - 3
format_convert/convert_test.py

@@ -20,10 +20,10 @@ def test_one(p, from_remote=False):
 
     data = {"file": file_base64, "type": p.split(".")[-1], "filemd5": 100}
     if from_remote:
-        # _url = 'http://121.46.18.113:15010/convert'
+        _url = 'http://121.46.18.113:15010/convert'
         # _url = 'http://192.168.2.103:15010/convert'
         # _url = 'http://172.16.160.65:15010/convert'
-        _url = 'http://127.0.0.1:15010/convert'
+        # _url = 'http://127.0.0.1:15010/convert'
         result = json.loads(request_post(_url, data, time_out=10000))
         text_str = ""
         for t in result.get("result_html"):
@@ -57,7 +57,7 @@ if __name__ == '__main__':
         # file_path = "C:/Users/Administrator/Desktop/test_xls/merge_cell.xlsx"
         # file_path = "D:/BIDI_DOC/比地_文档/2022/Test_Interface/20210609202634853485.xlsx"
         # file_path = "D:/BIDI_DOC/比地_文档/2022/Test_ODPS/1624325845476.pdf"
-        file_path = "C:/Users/Administrator/Downloads/140XDG2C%FJBR`GM)7KGT44.jpg"
+        file_path = "C:/Users/Administrator/Downloads/33.png"
     else:
         file_path = "test1.doc"
     test_one(file_path, from_remote=True)

+ 61 - 2
format_convert/utils.py

@@ -1648,6 +1648,64 @@ def get_ip_port(node_type=None, interface_type=None):
     return ip_port_dict
 
 
+def get_ip_port_old(node_type=None, interface_type=None):
+    if node_type is None:
+        node_type_list = ["master", "slave"]
+    else:
+        node_type_list = [node_type]
+
+    if interface_type is None:
+        interface_type_list = ["convert", "ocr", "otr", "office", "path"]
+    else:
+        interface_type_list = [interface_type]
+
+    ip_port_dict = {}
+    params = parse_yaml()
+    for type1 in node_type_list:
+        node_type = type1.upper()
+        ip_list = params.get(node_type).get("ip")
+        for type2 in interface_type_list:
+            interface_type = type2.upper()
+            processes = 0
+            python_path = None
+            project_path = None
+            if interface_type in ["convert".upper()]:
+                _port = params.get(node_type).get(interface_type).get("port")
+                if _port is None:
+                    port_list = []
+                else:
+                    if interface_type == "convert".upper():
+                        processes = params.get(node_type).get(interface_type).get("processes")
+                    port_list = [str(_port)]*int(processes)
+                    # port_list = [str(_port)]
+            elif interface_type == "path".upper():
+                python_path = params.get(node_type).get(interface_type).get("python")
+                project_path = params.get(node_type).get(interface_type).get("project")
+            else:
+                port_start = params.get(node_type).get(interface_type).get("port_start")
+                port_no = params.get(node_type).get(interface_type).get("port_no")
+                if port_start is None or port_no is None:
+                    port_list = []
+                else:
+                    port_list = [str(x) for x in range(port_start, port_start+port_no, 1)]
+            if ip_list:
+                for _ip in ip_list:
+                    if _ip is None:
+                        continue
+                    if _ip in ip_port_dict.keys():
+                        if port_list:
+                            ip_port_dict.get(_ip).update({interface_type.lower(): port_list})
+                    else:
+                        if port_list:
+                            ip_port_dict[_ip] = {interface_type.lower(): port_list}
+                    if processes:
+                        ip_port_dict.get(_ip).update({interface_type.lower()+"_processes": processes})
+                    if project_path and python_path:
+                        ip_port_dict.get(_ip).update({"project_path": project_path,
+                                                      "python_path": python_path})
+    return ip_port_dict
+
+
 def get_intranet_ip():
     try:
         # Create a new socket using the given address family,
@@ -1969,7 +2027,8 @@ if __name__ == "__main__":
     # print(parse_yaml())
 
     # print(get_ip_port())
+    set_flask_global()
     # print(get_args_from_config(get_ip_port(), "http://127.0.0.1", "gunicorn_path"))
     # print(get_intranet_ip())
-    _path = "C:/Users/Administrator/Downloads/3.png"
-    remove_red_seal(cv2.imread(_path))
+    # _path = "C:/Users/Administrator/Downloads/3.png"
+    # remove_red_seal(cv2.imread(_path))

+ 15 - 18
otr/otr_interface.py

@@ -7,23 +7,7 @@ import traceback
 # os.environ['CUDA_VISIBLE_DEVICES'] = "0"
 import tensorflow as tf
 
-import sys
-sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../")
-import time
-import logging
-# from table_line import *
-import cv2
-import numpy as np
-from flask import Flask, request
-from format_convert.utils import request_post, judge_error_code, get_intranet_ip, log, get_md5_from_bytes, get_platform
-from otr.table_line import get_points, get_split_line, get_points_row, \
-    get_points_col, \
-    delete_close_points, fix_outline, get_bbox, get_outline_point, delete_contain_bbox, points_to_line, \
-    fix_inner, merge_line, fix_corner, add_continue_bbox, delete_outline, table_net, table_line
-from format_convert import _global
-
-
-MAX_COMPUTE = True
+MAX_COMPUTE = False
 
 if not MAX_COMPUTE:
     # tensorflow 内存设置
@@ -44,7 +28,20 @@ if not MAX_COMPUTE:
         os.environ['CUDA_CACHE_DISABLE'] = str(0)
         gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.6)
         sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
-
+import sys
+sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../")
+import time
+import logging
+# from table_line import *
+import cv2
+import numpy as np
+from flask import Flask, request
+from format_convert.utils import request_post, judge_error_code, get_intranet_ip, log, get_md5_from_bytes, get_platform
+from otr.table_line import get_points, get_split_line, get_points_row, \
+    get_points_col, \
+    delete_close_points, fix_outline, get_bbox, get_outline_point, delete_contain_bbox, points_to_line, \
+    fix_inner, merge_line, fix_corner, add_continue_bbox, delete_outline, table_net, table_line
+from format_convert import _global
 
 # 接口配置
 app = Flask(__name__)

+ 48 - 41
otr/table_line.py

@@ -1533,48 +1533,55 @@ def fix_inner(row_lines, col_lines, points, split_y):
 
         return new_points
 
-    new_points = []
-    for i in range(1, len(split_y)):
-        last_y = split_y[i-1]
-        y = split_y[i]
+    row_lines_copy = copy.deepcopy(row_lines)
+    col_lines_copy = copy.deepcopy(col_lines)
 
-        # 先对点线进行分区
-        split_row_lines = []
-        split_col_lines = []
-        split_points = []
-        for row in row_lines:
-            if last_y <= row[1] <= y:
-                split_row_lines.append(row)
-        for col in col_lines:
-            if last_y <= col[1] <= y:
-                split_col_lines.append(col)
-        for point in points:
-            if last_y <= point[1] <= y:
-                split_points.append(point)
-
-        new_point_list = fix(split_col_lines, split_row_lines, split_points, axis=1)
-        for line, new_point in new_point_list:
-            if line in col_lines:
-                index = col_lines.index(line)
-                point1 = line[:2]
-                point2 = line[2:]
-                if new_point[1] >= point2[1]:
-                    col_lines[index] = [point1[0], point1[1], new_point[0], new_point[1]]
-                elif new_point[1] <= point1[1]:
-                    col_lines[index] = [new_point[0], new_point[1], point2[0], point2[1]]
-
-        new_point_list = fix(split_row_lines, split_col_lines, split_points, axis=0)
-        for line, new_point in new_point_list:
-            if line in row_lines:
-                index = row_lines.index(line)
-                point1 = line[:2]
-                point2 = line[2:]
-                if new_point[0] >= point2[0]:
-                    row_lines[index] = [point1[0], point1[1], new_point[0], new_point[1]]
-                elif new_point[0] <= point1[0]:
-                    row_lines[index] = [new_point[0], new_point[1], point2[0], point2[1]]
-
-    return row_lines, col_lines
+    try:
+        new_points = []
+        for i in range(1, len(split_y)):
+            last_y = split_y[i-1]
+            y = split_y[i]
+
+            # 先对点线进行分区
+            split_row_lines = []
+            split_col_lines = []
+            split_points = []
+            for row in row_lines:
+                if last_y <= row[1] <= y:
+                    split_row_lines.append(row)
+            for col in col_lines:
+                if last_y <= col[1] <= y:
+                    split_col_lines.append(col)
+            for point in points:
+                if last_y <= point[1] <= y:
+                    split_points.append(point)
+
+            new_point_list = fix(split_col_lines, split_row_lines, split_points, axis=1)
+            for line, new_point in new_point_list:
+                if line in col_lines:
+                    index = col_lines.index(line)
+                    point1 = line[:2]
+                    point2 = line[2:]
+                    if new_point[1] >= point2[1]:
+                        col_lines[index] = [point1[0], point1[1], new_point[0], new_point[1]]
+                    elif new_point[1] <= point1[1]:
+                        col_lines[index] = [new_point[0], new_point[1], point2[0], point2[1]]
+
+            new_point_list = fix(split_row_lines, split_col_lines, split_points, axis=0)
+            for line, new_point in new_point_list:
+                if line in row_lines:
+                    index = row_lines.index(line)
+                    point1 = line[:2]
+                    point2 = line[2:]
+                    if new_point[0] >= point2[0]:
+                        row_lines[index] = [point1[0], point1[1], new_point[0], new_point[1]]
+                    elif new_point[0] <= point1[0]:
+                        row_lines[index] = [new_point[0], new_point[1], point2[0], point2[1]]
+
+        return row_lines, col_lines
+    except:
+        traceback.print_exc()
+        return row_lines_copy, col_lines_copy
 
 
 def fix_corner(row_lines, col_lines, split_y, threshold=0):

Plik diff jest za duży
+ 0 - 106
result.html


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików