mirror of
https://github.com/qurator-spk/page2tsv.git
synced 2025-06-09 19:39:54 +02:00
try other coordinate computation
This commit is contained in:
parent
1eb05d0d62
commit
f320904503
1 changed files with 21 additions and 3 deletions
|
@ -106,7 +106,15 @@ def page2tsv(page_xml_file, tsv_out_file, purpose, image_url, ner_rest_endpoint,
|
|||
|
||||
for region_idx, region in enumerate(pcgts.get_Page().get_AllRegions(classes=['Text'], order='reading-order')):
|
||||
for text_line in region.get_TextLine():
|
||||
left, top, right, bottom = [int(scale_factor * x) for x in bbox_from_points(text_line.get_Coords().points)]
|
||||
|
||||
points = [int(scale_factor * float(pos)) for coords in text_line.get_Coords() for p in
|
||||
coords.attrib['points'].split(' ') for pos in p.split(',')]
|
||||
|
||||
x_points, y_points = points[0::2], points[1::2]
|
||||
|
||||
left, right, top, bottom = min(x_points), max(x_points), min(y_points), max(y_points)
|
||||
|
||||
# left, top, right, bottom = [int(scale_factor * x) for x in bbox_from_points(text_line.get_Coords().points)]
|
||||
|
||||
if min_confidence is not None and max_confidence is not None:
|
||||
conf = np.max([textequiv.conf for textequiv in text_line.get_TextEquiv()])
|
||||
|
@ -119,7 +127,15 @@ def page2tsv(page_xml_file, tsv_out_file, purpose, image_url, ner_rest_endpoint,
|
|||
for text_equiv in word.get_TextEquiv():
|
||||
# transform OCR coordinates using `scale_factor` to derive
|
||||
# correct coordinates for the web presentation image
|
||||
left, top, right, bottom = [int(scale_factor * x) for x in bbox_from_points(word.get_Coords().points)]
|
||||
|
||||
points = [int(scale_factor * float(pos)) for coords in text_line.get_Coords() for p in
|
||||
coords.attrib['points'].split(' ') for pos in p.split(',')]
|
||||
|
||||
x_points, y_points = points[0::2], points[1::2]
|
||||
|
||||
left, right, top, bottom = min(x_points), max(x_points), min(y_points), max(y_points)
|
||||
|
||||
# left, top, right, bottom = [int(scale_factor * x) for x in bbox_from_points(word.get_Coords().points)]
|
||||
|
||||
tsv.append((region_idx, len(line_info) - 1, left + (right - left) / 2.0,
|
||||
text_equiv.get_Unicode(), len(urls), left, right, top, bottom, text_line.id))
|
||||
|
@ -181,8 +197,10 @@ def page2tsv(page_xml_file, tsv_out_file, purpose, image_url, ner_rest_endpoint,
|
|||
except requests.HTTPError as e:
|
||||
print(e)
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.option('--output-filename', '-o', help="Output filename. If omitted, PAGE-XML filename with .corrected.xml extension")
|
||||
@click.option('--output-filename', '-o', help="Output filename. "
|
||||
"If omitted, PAGE-XML filename with .corrected.xml extension")
|
||||
@click.option('--keep-words', '-k', is_flag=True, help="Keep (out-of-date) Words of TextLines")
|
||||
@click.argument('page-file')
|
||||
@click.argument('tsv-file')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue