Spaces:
Sleeping
Sleeping
| import cv2 | |
| import os | |
| import json | |
| import argparse | |
| import streamlit as st | |
| def get_arguments(): | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--image_folder", default="images") | |
| parser.add_argument("--image_width", default=400, type=int) | |
| args = parser.parse_args() | |
| return getattr(args, "image_folder"), getattr(args, "image_width") | |
| def get_images_list(path_to_folder: str) -> list: | |
| """Return the list of images from folder | |
| Args: | |
| path_to_folder (str): absolute or relative path to the folder with images | |
| """ | |
| image_names_list = [ | |
| x for x in os.listdir(path_to_folder) if x[-3:] in ["jpg", "peg", "png"] | |
| ] | |
| return image_names_list | |
| def load_image(image_name: str, path_to_folder: str, bgr2rgb: bool = True): | |
| """Load the image | |
| Args: | |
| image_name (str): name of the image | |
| path_to_folder (str): path to the folder with image | |
| bgr2rgb (bool): converts BGR image to RGB if True | |
| """ | |
| path_to_image = os.path.join(path_to_folder, image_name) | |
| image = cv2.imread(path_to_image) | |
| if bgr2rgb: | |
| image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) | |
| return image | |
| def load_augmentations_config( | |
| placeholder_params: dict, path_to_config: str = "configs/augmentations.json" | |
| ) -> dict: | |
| """Load the json config with params of all transforms | |
| Args: | |
| placeholder_params (dict): dict with values of placeholders | |
| path_to_config (str): path to the json config file | |
| """ | |
| with open(path_to_config, "r") as config_file: | |
| augmentations = json.load(config_file) | |
| for name, params in augmentations.items(): | |
| params = [fill_placeholders(param, placeholder_params) for param in params] | |
| return augmentations | |
| def fill_placeholders(params: dict, placeholder_params: dict) -> dict: | |
| """Fill the placeholder values in the config file | |
| Args: | |
| params (dict): original params dict with placeholders | |
| placeholder_params (dict): dict with values of placeholders | |
| """ | |
| # TODO: refactor | |
| if "placeholder" in params: | |
| placeholder_dict = params["placeholder"] | |
| for k, v in placeholder_dict.items(): | |
| if isinstance(v, list): | |
| params[k] = [] | |
| for element in v: | |
| if element in placeholder_params: | |
| params[k].append(placeholder_params[element]) | |
| else: | |
| params[k].append(element) | |
| else: | |
| if v in placeholder_params: | |
| params[k] = placeholder_params[v] | |
| else: | |
| params[k] = v | |
| params.pop("placeholder") | |
| return params | |
| def get_params_string(param_values: dict) -> str: | |
| """Generate the string from the dict with parameters | |
| Args: | |
| param_values (dict): dict of "param_name" -> "param_value" | |
| """ | |
| params_string = ", ".join( | |
| [k + "=" + str(param_values[k]) for k in param_values.keys()] | |
| ) | |
| return params_string | |