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]