utilities package

Submodules

utilities.noise_data module

Questa classe permette di creare un oggetto che contiene i disturbi (gaussian, salt_pepper, lightness, focus_blur, motion_blur, geometric) da applicare all’immagine e i relativi parametri. In fase di implementazione sono state prese alcune scelte che evitano l’impostazione di tutti i parametri visti nel modulo library, per avere maggiori informazioni fare riferimento alla relazione.

class utilities.noise_data.NoiseData(types: str, values: list, p: int)[sorgente]

Basi: object

noise_list = ['gaussian', 'salt_pepper', 'lightness', 'focus_blur', 'motion_blur', 'geometric']
property priority

Questo metodo permette di ottenere il livello di priorità associato a ciascun disturbo.

Ritorna:

il livello di priorità del disturbo.

property typology

Questo metodo permette di ottenere la lista associata al tipo di rumore da applicare.

Ritorna:

stringa con la tipologia del rumore.

property values

Questo metodo permette di ottenere i parametri da impostare all’interno dei metodi che implementano i disturbi.

Ritorna:

una lista che contiene tutti i valori da impostare.

utilities.services module

class utilities.services.Services(image_list: list, output_path: str, perc_tot: float, seed=True)[sorgente]

Basi: object

apply_distortion(noise_data_list: list[NoiseData]) None[sorgente]

Questo metodo permette di applicare le distorsioni ad una determinata percentuale di immagini presenti nel dataset. Inoltre verranno anche salvate all’interno dell’output path specificato nel costruttore. :param noise_data_list: una lista contenente tutte le distorsioni da applicare all’immagine.

Returns:

image_list = []
input_path = ''
log_metric(original_image, distorted_image, save=True)[sorgente]

Questo metodo calcola le metriche dell’immagine prima e dopo l’applicazione delle distorsioni

Parametri:
  • save – permette di salvare le metriche in un dizionario.

  • original_image – l’immagine senza disturbi.

  • distorted_image – la stessa immagine precedente con i disturbi applicati.

Ritorna:

un dizionario che contiene le metriche dell’immagine originale e l’immagine a cui sono stati applicati i disturbi.

make_directory() None[sorgente]

Questo metodo permette di invocare il metodo privato __copy_yolo_dir(). Returns:

metrics = {'metrics_image': [], 'metrics_image_d': []}
output_path = ''
perc_tot = 1.0
preview(noise_data_list: list[NoiseData])[sorgente]

Questo metodo permette di applicare i disturbi ad un’immagine caricata in memoria senza andare a salvarla.

Parametri:

noise_data_list – una lista che contiene tutti i rumori da applicare all’immagine.

Ritorna:

l’immagine con i disturbi e la label con i disturbi.

utilities.show_labels module

utilities.show_labels.draw_bounding_boxes(img: Mat | ndarray, label: list[str] | str) Mat | ndarray[sorgente]

Questo metodo permette di disegnare le label quadrate o rettangolari all’interno dell’immagine. La label deve essere contenuta in un file testuale nel seguente formato: (class centro_x centro_y height width) ciascuna coordinata deve essere normalizzata [0, 1].

Parametri:
  • img – l’immagine a cui aggiungere la label

  • label – una label o una lista di label con il seguente formato: (class centro_x centro_y height width) da rappresentare nell’immagine.

Ritorna:

l’immagine con la/le label.

utilities.show_labels.draw_polygon_on_image(img: Mat | ndarray, label: list[str] | str) Mat | ndarray[sorgente]

Questo metodo permette di disegnare il poligono che identifica un oggetto all’interno di un’immagine. La label deve essere nel seguente formato: (class x_1 y_1 x_2 y_2 … x_n y_n), ciascuna coordinata deve essere normalizzata [0, 1].

Parametri:
  • img – l’immagine a cui aggiungere la label.

  • label – una label o una lista di label con il seguente formato: (class x_1 y_1 x_2 y_2 … x_n y_n) da rappresentare nell’immagine.

Ritorna:

l’immagine con la/le labels

utilities.show_labels.plot_label(img: Mat | ndarray, label: list[str] | str) Mat | ndarray[sorgente]

Module contents