wsfung2008 commited on
Commit
a8cf8ca
·
1 Parent(s): c9da7b7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -6
app.py CHANGED
@@ -6,22 +6,31 @@ from paddleocr import PPStructure,save_structure_res
6
  from paddleocr.ppstructure.recovery.recovery_to_doc import sorted_layout_boxes, convert_info_docx
7
 
8
  # Chinese image
9
- table_engine = PPStructure(recovery=True)
10
 
11
  # English image
12
  # table_engine = PPStructure(recovery=True, lang='en')
13
 
14
  examples = ['0.png']
15
 
16
- def find_layout(image):
17
  save_folder = './output'
18
  # img = cv2.imread(image)
19
  img = np.array(image)
 
 
 
 
 
 
 
 
20
  result = table_engine(img)
21
  save_structure_res(result, save_folder, os.path.basename("result").split('.')[0])
22
 
23
- h, w, _ = img.shape
24
- res = sorted_layout_boxes(result, w)
 
25
 
26
  final_text = []
27
  for line in result:
@@ -31,7 +40,15 @@ def find_layout(image):
31
 
32
  # convert_info_docx(img, res, save_folder, os.path.basename("result").split('.')[0])
33
 
34
- return final_text
 
 
 
 
 
35
 
36
- iface = gr.Interface(fn=find_layout, inputs=[gr.Image(type="pil")], outputs="text", examples=examples)
 
 
 
37
  iface.launch()
 
6
  from paddleocr.ppstructure.recovery.recovery_to_doc import sorted_layout_boxes, convert_info_docx
7
 
8
  # Chinese image
9
+ # table_engine = PPStructure(recovery=True)
10
 
11
  # English image
12
  # table_engine = PPStructure(recovery=True, lang='en')
13
 
14
  examples = ['0.png']
15
 
16
+ def find_layout(image, mode):
17
  save_folder = './output'
18
  # img = cv2.imread(image)
19
  img = np.array(image)
20
+
21
+ if mode=="LayoutAnalysis":
22
+ table_engine = PPStructure(table=False, ocr=False, show_log=True)
23
+ elif mode=="TableRecognition":
24
+ table_engine = PPStructure(layout=False, show_log=True)
25
+ elif mode=="LayoutReccovery":
26
+ table_engine = PPStructure(recovery=True)
27
+
28
  result = table_engine(img)
29
  save_structure_res(result, save_folder, os.path.basename("result").split('.')[0])
30
 
31
+ if mode=="LayoutReccovery":
32
+ h, w, _ = img.shape
33
+ res = sorted_layout_boxes(result, w)
34
 
35
  final_text = []
36
  for line in result:
 
40
 
41
  # convert_info_docx(img, res, save_folder, os.path.basename("result").split('.')[0])
42
 
43
+ image = Image.open(img).convert('RGB')
44
+ im_show = draw_structure_result(image, result)
45
+ im_show = Image.fromarray(im_show)
46
+ im_show.save('result.jpg')
47
+
48
+ return final_text, im_show
49
 
50
+ iface = gr.Interface(fn=find_layout, inputs=[
51
+ gr.Image(type="pil"),
52
+ gr.CheckboxGroup(["LayoutAnalysis", "TableRecognition", "LayoutRecovery"], label="mode"),
53
+ ], outputs=["text", "image"], examples=examples)
54
  iface.launch()