disturbs package
Submodules
disturbs.colors module
disturbs.focus module
Modulo che applica un disturbo di sfocatura dovuta al movimento o alla messa a fuoco, ad un’immagine codificata in RGB o scala di grigi sfruttando openCV2.
- disturbs.focus.apply_focus_blur(image: Mat | ndarray, blur_kernel: tuple[int, int] = (31, 31), sigma: float = 0.0) Mat | ndarray[sorgente]
Questo metodo che simula un mancato focus dello scatto.
- Parametri:
image – l’immagine a cui applicare il rumore sotto forma di matrice.
blur_kernel – tupla che contiene due numeri dispari, controlla la grandezza del filtro gaussiano.
sigma – numero che definisce la forza del defocus, deve essere maggiore di 0.
- Solleva:
ValueError – se il blur kernel non è bidimensionale o non contiene valori dispari. L’errore può essere causato anche da una sigma negativa. Il messaggio a schermo chiarirà il motivo.
- Ritorna:
una matrice numpy che rappresenta l’immagine a cui è stato aggiunto il focus blur.
- disturbs.focus.apply_motion_blur(image: Mat | ndarray, ksize: int = 15, angle: float = 45.0) Mat | ndarray[sorgente]
Questo metodo simula un defocus dovuto al movimento.
- Parametri:
image – l’immagine a cui applicare il rumore sotto forma di matrice.
ksize – controlla la quantità di movimento, deve essere dispari e maggiore di 0.
angle – controlla la direzione del movimento.
- Solleva:
ValueError – se la dimensione del kernel non è maggiore di 0 e non è dispari, Il messaggio a schermo chiarirà il motivo.
- Ritorna:
l’immagine a cui è stato applicato il motion blur.
disturbs.geometric module
- disturbs.geometric.rotate_image_and_label(image: Mat | ndarray, labels: list[str] | str, angle: float)[sorgente]
Questo metodo permette di ruotare l’immagine e la rispettiva label. La label deve essere nei seguenti formati (class x_1 y_1 x_2 y_2 … x_n y_n) oppure (class centro_x centro_y height width). Eccetto class ciascun valore presente nella label deve essere normalizzato nell’intervallo [0, 1]. In base al formato della label verrà chiamato il metodo corretto.
- Parametri:
image – l’immagine da ruotare.
labels – la/le label da ruotare.
angle – l’angolo di rotazione dell’immagine.
- Ritorna:
l’immagine e la label ruotate.
disturbs.ligthness module
- disturbs.ligthness.contrast_correction(img: Mat | ndarray, out_min: int = 100, out_max: int = 150) Mat | ndarray[sorgente]
Questo metodo permette di comprimere i valori dell’immagine in un intervallo definito applicando la correzione del contrasto.
- Parametri:
img – l’immagine a cui viene applicata la correzione del contrasto.
out_min – intensità minima presente nell’immagine di output.
out_max – intensità massima presente nell’immagine di output.
- Solleva:
ValueError – se image non ha shape bidimensionale o tridimensionale.
- Ritorna:
una matrice numpy che rappresenta l’immagine a cui è stato aggiunta la correzione del contrasto.
disturbs.noise module
Modulo per applicare rumore Gaussiano o Salt & Pepper ad immagini codificate in RGB o scala di grigi utilizzando OpenCV2.
- disturbs.noise.add_gaussian_noise(image: Mat | ndarray, mean: int | float = 0, std_dev: int | float = 25) Mat | ndarray[sorgente]
Questo metodo permette di aggiunge rumore Gaussiano ad un’immagine codificata in RGB o scala di grigi.
- Parametri:
image – l’immagine a cui applicare il rumore.
mean – la media della distribuzione normale.
std_dev – la deviazione standard della distribuzione normale.
- Solleva:
ValueError – se la deviazione standard è minore o uguale a zero.
- Ritorna:
l’immagine con il rumore gaussiano.
- disturbs.noise.add_salt_and_pepper_noise(image: Mat | ndarray, amount: float = 0.4) Mat | ndarray[sorgente]
Questo metodo permette di aggiungere il rumore Salt & Pepper ad un’immagine codificata in RGB o scala di grigi.
- Parametri:
image – l’immagine a cui applicare il rumore, sotto forma di matrice.
amount – la percentuale di pixel da alterare con rumore Salt & Pepper. Il valore atteso è una percentuale (es. 0.4 = 0.004%).
- Ritorna:
l’immagine con il rumore Salt & Pepper aggiunto.