ip_lib.c
/* Operazione di corruzione con rumore gaussiano:
 * Aggiunge del rumore gaussiano all'immagine, il rumore viene enfatizzato
 * per mezzo della variabile amount.
 *
 * out = a + gauss_noise*amount
 *
 * I parametri della funzione non subiscono modiche, il risultato viene salvato e restituito in output
 * all'interno di una nuova ip_mat.
 * */
Operazione di corruzione con rumore gaussiano:
Aggiunge del rumore gaussiano all'immagine, il rumore viene enfatizzato
per mezzo della variabile amount.

out = a + gauss_noise*amount

I parametri della funzione non subiscono modiche, il risultato viene salvato e restituito in output
all'interno di una nuova ip_mat.
Operazione di corruzione con rumore gaussiano : Aggiunge del rumore gaussiano all ' immagine il rumore viene enfatizzato per mezzo della variabile amount . out = a + gauss_noise * amount I parametri della funzione non subiscono modiche il risultato viene salvato e restituito in output all ' interno di una nuova ip_mat .
ip_mat *ip_mat_corrupt(ip_mat *a, float amount)
{
    not_null_ip_mat(a);
    if (amount >= MIN_PIXEL_FLOAT && amount <= MAX_PIXEL_FLOAT)
    {
        unsigned int ch, row, col;
        ip_mat *out;
        ip_mat *temp = ip_mat_create(a->h, a->w, a->k, 0.0);
        float sup = 0.0;
        for (ch = 0; ch < a->k; ch++)
        {
            for (row = 0; row < a->h; row++)
            {
                for (col = 0; col < a->w; col++)
                {
                    sup = get_normal_random(0.0, amount / 2);
                    set_val(temp, row, col, ch, sup);
                }
            }
        }
        out = ip_mat_sum(a, temp);
        ip_mat_free(temp);
        return out;
    }
    else
    {
        printf("Provide a valid amount value!\n");
        exit(1);
    }
}
ip_mat * ip_mat_corrupt ( ip_mat * a , float amount ) { not_null_ip_mat ( a ) ; if ( amount >= MIN_PIXEL_FLOAT && amount <= MAX_PIXEL_FLOAT ) { unsigned int ch , row , col ; ip_mat * out ; ip_mat * temp = ip_mat_create ( a -> h , a -> w , a -> k , 0.0 ) ; float sup = 0.0 ; for ( ch = 0 ; ch < a -> k ; ch ++ ) { for ( row = 0 ; row < a -> h ; row ++ ) { for ( col = 0 ; col < a -> w ; col ++ ) { sup = get_normal_random ( 0.0 , amount / 2 ) ; set_val ( temp , row , col , ch , sup ) ; } } } out = ip_mat_sum ( a , temp ) ; ip_mat_free ( temp ) ; return out ; } else { printf ( " \n " ) ; exit ( 1 ) ; } }
Operazione di corruzione con rumore gaussiano:
 Aggiunge del rumore gaussiano all'immagine, il rumore viene enfatizzato
 per mezzo della variabile amount.
Operazione di corruzione con rumore gaussiano : Aggiunge del rumore gaussiano all ' immagine il rumore viene enfatizzato per mezzo della variabile amount .