Loading utils/textblock.py +22 −0 Original line number Diff line number Diff line Loading @@ -588,6 +588,28 @@ def group_output(blks, lines, im_w, im_h, mask=None, sort_blklist=True) -> List[ # final_blk_list = sort_textblk_list(final_blk_list, im_w, im_h) final_blk_list = sort_regions(final_blk_list, ) if len(final_blk_list) > 1: _final_blks = [final_blk_list[0]] for blk in final_blk_list[1:]: ax1, ay1, ax2, ay2 = blk.xyxy keep_blk = True aarea = (ax2 - ax1) * (ay2 - ay1) + 1e-6 for eb in _final_blks: bx1, by1, bx2, by2 = eb.xyxy x1 = max(ax1, bx1) y1 = max(ay1, by1) x2 = min(ax2, bx2) y2 = min(ay2, by2) if y2 < y1 or x2 < x1: continue inter_area = (y2 - y1) * (x2 - x1) if inter_area / aarea > 0.9: keep_blk = False break if keep_blk: _final_blks.append(blk) final_blk_list = _final_blks for blk in final_blk_list: if blk.language != 'ja' and not blk.vertical: num_lines = len(blk.lines) Loading Loading
utils/textblock.py +22 −0 Original line number Diff line number Diff line Loading @@ -588,6 +588,28 @@ def group_output(blks, lines, im_w, im_h, mask=None, sort_blklist=True) -> List[ # final_blk_list = sort_textblk_list(final_blk_list, im_w, im_h) final_blk_list = sort_regions(final_blk_list, ) if len(final_blk_list) > 1: _final_blks = [final_blk_list[0]] for blk in final_blk_list[1:]: ax1, ay1, ax2, ay2 = blk.xyxy keep_blk = True aarea = (ax2 - ax1) * (ay2 - ay1) + 1e-6 for eb in _final_blks: bx1, by1, bx2, by2 = eb.xyxy x1 = max(ax1, bx1) y1 = max(ay1, by1) x2 = min(ax2, bx2) y2 = min(ay2, by2) if y2 < y1 or x2 < x1: continue inter_area = (y2 - y1) * (x2 - x1) if inter_area / aarea > 0.9: keep_blk = False break if keep_blk: _final_blks.append(blk) final_blk_list = _final_blks for blk in final_blk_list: if blk.language != 'ja' and not blk.vertical: num_lines = len(blk.lines) Loading