Skip to content
Snippets Groups Projects
Commit dde2691e authored by Solene Tarride's avatar Solene Tarride
Browse files

Use helper function for padding

parent 43dbe1d7
No related branches found
Tags 1.5.2-rc5
1 merge request!24Train with synthetic documents
This commit is part of merge request !24. Comments created here will be created in the context of that merge request.
......@@ -485,32 +485,25 @@ class OCRDataset(GenericDataset):
]
fnt = ImageFont.truetype(font_path, font_size)
text_width, text_height = fnt.getsize(text)
padding_top = int(
rand_uniform(
config["padding_top_ratio_min"], config["padding_top_ratio_max"]
)
* text_height
padding_top = get_random_padding(
config["padding_top_ratio_min"],
config["padding_top_ratio_max"],
text_height,
)
padding_bottom = int(
rand_uniform(
config["padding_bottom_ratio_min"],
config["padding_bottom_ratio_max"],
)
* text_height
padding_bottom = get_random_padding(
config["padding_bottom_ratio_min"],
config["padding_bottom_ratio_max"],
text_height,
)
padding_left = int(
rand_uniform(
config["padding_left_ratio_min"],
config["padding_left_ratio_max"],
)
* text_width
padding_left = get_random_padding(
config["padding_left_ratio_min"],
config["padding_left_ratio_max"],
text_width,
)
padding_right = int(
rand_uniform(
config["padding_right_ratio_min"],
config["padding_right_ratio_max"],
)
* text_width
padding_right = get_random_padding(
config["padding_right_ratio_min"],
config["padding_right_ratio_max"],
text_width,
)
padding = [padding_top, padding_bottom, padding_left, padding_right]
images.append(
......@@ -671,6 +664,13 @@ class OCRCollateFunction:
return formatted_batch_data
def get_random_padding(min_ratio, max_ratio, text_size):
"""
Compute random padding value as a ratio of text width or height
"""
return int(rand_uniform(min_ratio, max_ratio) * text_size)
def generate_typed_text_line_image(
text, config, bg_color=(255, 255, 255), txt_color=(0, 0, 0)
):
......@@ -686,25 +686,25 @@ def generate_typed_text_line_image(
fnt = ImageFont.truetype(font_path, font_size)
text_width, text_height = fnt.getsize(text)
padding_top = int(
rand_uniform(config["padding_top_ratio_min"], config["padding_top_ratio_max"])
* text_height
padding_top = get_random_padding(
config["padding_top_ratio_min"],
config["padding_top_ratio_max"],
text_height,
)
padding_bottom = int(
rand_uniform(
config["padding_bottom_ratio_min"], config["padding_bottom_ratio_max"]
)
* text_height
padding_bottom = get_random_padding(
config["padding_bottom_ratio_min"],
config["padding_bottom_ratio_max"],
text_height,
)
padding_left = int(
rand_uniform(config["padding_left_ratio_min"], config["padding_left_ratio_max"])
* text_width
padding_left = get_random_padding(
config["padding_left_ratio_min"],
config["padding_left_ratio_max"],
text_width,
)
padding_right = int(
rand_uniform(
config["padding_right_ratio_min"], config["padding_right_ratio_max"]
)
* text_width
padding_right = get_random_padding(
config["padding_right_ratio_min"],
config["padding_right_ratio_max"],
text_width,
)
padding = [padding_top, padding_bottom, padding_left, padding_right]
return generate_typed_text_line_image_from_params(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment