peppermenta commited on
Commit
bfc6099
·
1 Parent(s): e700bf6

Merge multiple detected lines into common provider line

Browse files
Files changed (1) hide show
  1. marker/builders/line.py +5 -1
marker/builders/line.py CHANGED
@@ -479,7 +479,11 @@ class LineBuilder(BaseBuilder):
479
  ):
480
  # Don't just take the whole detected line if we have multiple sections inside
481
  if len(all_merge_sections) == 1:
482
- return text_line.rescale(image_size, page_size)
 
 
 
 
483
  else:
484
  poly = None
485
  for section_idx in merge_section:
 
479
  ):
480
  # Don't just take the whole detected line if we have multiple sections inside
481
  if len(all_merge_sections) == 1:
482
+ text_line_overlaps = np.nonzero(overlaps[merge_section[0]])[0].tolist()
483
+ merged_text_line: PolygonBox = text_lines[text_line_overlaps[0]]
484
+ if len(text_line_overlaps) > 1:
485
+ merged_text_line = merged_text_line.merge([text_lines[k] for k in text_line_overlaps[1:]])
486
+ return merged_text_line.rescale(image_size, page_size)
487
  else:
488
  poly = None
489
  for section_idx in merge_section: