|
1 | 1 | <div align="center"> |
2 | 2 | <div align="center"> |
3 | | - <h1><b>📊 RapidTableExtractor</b></h1> |
| 3 | + <h1><b>📊TableExtractor</b></h1> |
4 | 4 | </div> |
5 | 5 | <a href=""><img src="https://img.shields.io/badge/Python->=3.8,<3.12-aff.svg"></a> |
6 | 6 | <a href=""><img src="https://img.shields.io/badge/OS-Linux%2C%20Mac%2C%20Win-pink.svg"></a> |
|
36 | 36 | ### 效果展示 |
37 | 37 |  |
38 | 38 | ### 安装 |
39 | | -🪜下载你的场景需要的模型,放到你的场景该放的地方 [modescope模型仓](https://www.modelscope.cn/models/jockerK/TableExtractor) |
| 39 | +🪜下载喜欢的模型,放到喜欢的地方 [modescope模型仓](https://www.modelscope.cn/models/jockerK/TableExtractor) |
40 | 40 | ``` python {linenos=table} |
41 | 41 | # 建议使用清华源安装 https://pypi.tuna.tsinghua.edu.cn/simple |
42 | 42 | pip install rapid_table_det-onnx |
43 | 43 | pip install rapid_table_det_paddle (默认安装gpu版本,可以自行覆盖安装cpu版本paddlepaddle) |
44 | 44 | ``` |
45 | 45 | ### 快速使用 |
46 | | -除了引入包不同,其他完全一样,不做在一起,是希望你需要哪个包就安装哪个 |
47 | | - |
48 | | -#### onnx版本 |
| 46 | +只有引入包不一样 |
49 | 47 | ``` python {linenos=table} |
50 | 48 | import os |
51 | 49 | import cv2 |
52 | 50 | from rapid_table_det.inference import TableDetector |
53 | 51 | from rapid_table_det.utils import visuallize, extract_table_img, img_loader |
| 52 | +#from rapid_table_det_paddle.inference import TableDetector |
| 53 | +#from rapid_table_det_paddle.utils import visuallize, extract_table_img, img_loader |
| 54 | + |
54 | 55 | img_path = f"images/page8.jpg" |
55 | 56 | table_det = TableDetector( |
56 | | - obj_model_path="rapid_table_det/models/obj_det.onnx", |
57 | | - edge_model_path="rapid_table_det/models/edge_det.onnx", |
58 | | - cls_model_path="rapid_table_det/models/cls_det.onnx", |
59 | 57 | use_obj_det=True, |
60 | 58 | use_edge_det=True, |
61 | 59 | use_rotate_det=True, |
@@ -84,44 +82,11 @@ print( |
84 | 82 | # cv2.imwrite(f"{out_dir}/{file_name}-visualize.jpg", img) |
85 | 83 |
|
86 | 84 | ``` |
87 | | -#### paddle版本 |
88 | | -``` python {linenos=table} |
89 | | -import os |
90 | | -import cv2 |
91 | | -from rapid_table_det_paddle.inference import TableDetector |
92 | | -from rapid_table_det_paddle.utils import visuallize, extract_table_img, img_loader |
93 | | -img_path = f"images/image (31).png" |
94 | | -table_det = TableDetector( |
95 | | - obj_model_path="rapid_table_det_paddle/models/obj_det/model", |
96 | | - edge_model_path="rapid_table_det_paddle/models/db_net/model", |
97 | | - cls_model_path="rapid_table_det_paddle/models/pplcnet/model", |
98 | | - use_obj_det=True, |
99 | | - use_edge_det=True, |
100 | | - use_rotate_det=True, |
101 | | -) |
102 | | -result, elapse = table_det(img_path) |
103 | | -obj_det_elapse, edge_elapse, rotate_det_elapse = elapse |
104 | | -print( |
105 | | - f"obj_det_elapse:{obj_det_elapse}, edge_elapse={edge_elapse}, rotate_det_elapse={rotate_det_elapse}" |
106 | | -) |
107 | | -# 可视化结果 |
108 | | -# img = img_loader(img_path) |
109 | | -# file_name_with_ext = os.path.basename(img_path) |
110 | | -# file_name, file_ext = os.path.splitext(file_name_with_ext) |
111 | | -# out_dir = "rapid_table_det_paddle/outputs" |
112 | | -# if not os.path.exists(out_dir): |
113 | | -# os.makedirs(out_dir) |
114 | | -# extract_img = img.copy() |
115 | | -# for i, res in enumerate(result): |
116 | | -# box = res["box"] |
117 | | -# lt, rt, rb, lb = res["lt"], res["rt"], res["rb"], res["lb"] |
118 | | -# # 带识别框和左上角方向位置 |
119 | | -# img = visuallize(img, box, lt, rt, rb, lb) |
120 | | -# # 透视变换提取表格图片 |
121 | | -# wrapped_img = extract_table_img(extract_img.copy(), lt, rt, rb, lb) |
122 | | -# cv2.imwrite(f"{out_dir}/{file_name}-extract-{i}.jpg", wrapped_img) |
123 | | -# cv2.imwrite(f"{out_dir}/{file_name}-visualize.jpg", img) |
124 | | -``` |
| 85 | +#### 参数说明 |
| 86 | +mode: str 模式,onnx包默认使用onnx_tiny,可选 onnx, paddle包唯一使用paddle \ |
| 87 | +obj_model_path:str 目标检测模型地址 \ |
| 88 | +edge_model_path:str 语义分割模型地址 \ |
| 89 | +cls_model_path:str 方向分类模型地址 |
125 | 90 |
|
126 | 91 | ## FAQ (Frequently Asked Questions) |
127 | 92 |
|
|
0 commit comments