Bug:尝试构建韩文表格识别时出现错误
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- python
- Domain
- computer-vision
Research direction
Start at rapid_table/main.py in RapidTable.call and get_ocr_results, then inspect rapid_table/utils/utils.py:18, where format_ocr_results processes the supplied OCR tuple. Reproduce the call with the shown Korean OCR output and verify that the reported two detections are handled without IndexError and produce table results.
Written by the indexing model from the issue text.
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)
- Dominant language
- Python
- Stars
- 438
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from RapidAI/RapidTable
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
RapidAI/RapidTable#145 ·
-
Feature Request Open
Difficulty 5/5 Over a week Newbie friendliness 15/100
RapidAI/RapidTable#143 · 1 comment ·
-
支持SLANetXt Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
RapidAI/RapidTable#104 · 2 comments ·
-
关于C++ Onnxruntime的推理 Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
RapidAI/RapidTable#56 · 3 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
RapidAI/RapidTable#47 · 12 comments · 3 reactions ·
All issues in RapidAI/RapidTable
Similar issues
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#117848 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100