-
-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
windows 11 python 3.11环境下 onnxruntime-1.23.2 rapid_table版本为3.0.1在尝试构建韩文表格识别时出现错误,代码如下:
from rapidocr import (
LangRec,
RapidOCR,
)
from rapid_table import ModelType, RapidTable, RapidTableInput
ocr_engine = RapidOCR(
params={
"Rec.lang_type": LangRec.KOREAN,
}
)
input_args = RapidTableInput(
model_type=ModelType.SLANETPLUS, engine_cfg={"use_dml": True}
)
table_engine = RapidTable(input_args)
img_path = r"D:\Users\comma\Downloads\python_tests_test_files_korean.jpg"
ori_ocr_res = ocr_engine(img_path)
ocr_results = [ori_ocr_res.boxes, ori_ocr_res.txts, ori_ocr_res.scores]#不明参数
ocr_result = table_engine(img_path, ocr_results=ocr_results)报错如下:
IndexError Traceback (most recent call last)
Cell In[43], line 19
17 ori_ocr_res = ocr_engine(img_path)
18 ocr_results = [ori_ocr_res.boxes, ori_ocr_res.txts, ori_ocr_res.scores]#不明参数
---> 19 ocr_result = table_engine(img_path, ocr_results=ocr_results)
File D:\CrawlAI\venv\Lib\site-packages\rapid_table\main.py:107, in RapidTable.__call__(self, img_contents, ocr_results, batch_size)
104 results.logic_points.extend(logic_points)
105 continue
--> 107 dt_boxes, rec_res = self.get_ocr_results(imgs, start_i, end_i, ocr_results)
108 pred_htmls = self.table_matcher(
109 pred_structures, cell_bboxes, dt_boxes, rec_res
110 )
112 results.imgs.extend(imgs)
File D:\CrawlAI\venv\Lib\site-packages\rapid_table\main.py:146, in RapidTable.get_ocr_results(self, imgs, start_i, end_i, ocr_results)
144 for img, ocr_result in zip(imgs, ocr_results_batch):
145 img_h, img_w = img.shape[:2]
--> 146 dt_boxes, rec_res = format_ocr_results(ocr_result, img_h, img_w)
147 batch_dt_boxes.append(dt_boxes)
148 batch_rec_res.append(rec_res)
File D:\CrawlAI\venv\Lib\site-packages\rapid_table\utils\utils.py:18, in format_ocr_results(ocr_results, img_h, img_w)
15 def format_ocr_results(
16 ocr_results: Tuple[np.ndarray, Tuple[str], Tuple[float]], img_h: int, img_w: int
17 ) -> Tuple[np.ndarray, List[Tuple[str, float]]]:
---> 18 rec_res = list(zip(ocr_results[1], ocr_results[2]))
20 bboxes = np.array(ocr_results[0])
21 min_coords = bboxes[..., :2].min(axis=1)
IndexError: index 2 is out of bounds for axis 0 with size 2检查发现ori_ocr_res能够显示 ,内容如下:
RapidOCROutput(img=array([[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
...,
[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]]], shape=(208, 1618, 3), dtype=uint8), boxes=array([[[ 115., 71.],
[ 494., 71.],
[ 494., 141.],
[ 115., 141.]],
[[ 479., 70.],
[1426., 70.],
[1426., 141.],
[ 479., 141.]]], dtype=float32), txts=('베이징차오양', '디지털기술로농업새로운발전이끌어'), scores=(0.99507, 0.99916), word_results=(), elapse_list=[2.2739463000034448, 0.004450200009159744, 0.41364620000240393], elapse=2.6920427000150084, viser=<rapidocr.utils.vis_res.VisRes object at 0x000001D84CB38690>)检查boxes txts scores 情况如下
boxes = ori_ocr_res.boxes
txts = ori_ocr_res.txts
scores = ori_ocr_res.scores
print(len(boxes),len(txts),len(scores))
print(boxes,txts,scores)
2 2 2
[[[ 115. 71.]
[ 494. 71.]
[ 494. 141.]
[ 115. 141.]]
[[ 479. 70.]
[1426. 70.]
[1426. 141.]
[ 479. 141.]]] ('베이징차오양', '디지털기술로농업새로운발전이끌어') (0.99507, 0.99916)Metadata
Metadata
Assignees
Labels
No labels