ip_lib.c
/**** PARTE 2: SEMPLICI OPERAZIONI SU IMMAGINI ****/
/* Converte un'immagine RGB ad una immagine a scala di grigio.
 * Quest'operazione viene fatta calcolando la media per ogni pixel sui 3 canali
 * e creando una nuova immagine avente per valore di un pixel su ogni canale la media appena calcolata.
 * Avremo quindi che tutti i canali saranno uguali.
 *
 * I parametri della funzione non subiscono modiche, il risultato viene salvato e restituito in output
 * all'interno di una nuova ip_mat.
 * */
PARTE 2: SEMPLICI OPERAZIONI SU IMMAGINI
Converte un'immagine RGB ad una immagine a scala di grigio.
Quest'operazione viene fatta calcolando la media per ogni pixel sui 3 canali
e creando una nuova immagine avente per valore di un pixel su ogni canale la media appena calcolata.
Avremo quindi che tutti i canali saranno uguali.

I parametri della funzione non subiscono modiche, il risultato viene salvato e restituito in output
all'interno di una nuova ip_mat.
PARTE 2 : SEMPLICI OPERAZIONI SU IMMAGINI Converte un ' immagine RGB ad una immagine a scala di grigio . Quest ' operazione viene fatta calcolando la media per ogni pixel sui 3 canali e creando una nuova immagine avente per valore di un pixel su ogni canale la media appena calcolata . Avremo quindi che tutti i canali saranno uguali . 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_to_gray_scale(ip_mat *in)
{
    unsigned int ch, row, col;
    float sup;
    ip_mat *nuova;
    not_null_ip_mat(in);
    nuova = ip_mat_create(in->h, in->w, in->k, 0.0);
    for (ch = 0; ch < nuova->k; ch++)
    {
        for (row = 0; row < nuova->h; row++)
        {
            for (col = 0; col < nuova->w; col++)
            {
                sup = mean_pixel_channel(in, row, col);
                set_val(nuova, row, col, ch, sup);
            }
        }
    }
    compute_stats(nuova);
    return nuova;
}
ip_mat * ip_mat_to_gray_scale ( ip_mat * in ) { unsigned int ch , row , col ; float sup ; ip_mat * nuova ; not_null_ip_mat ( in ) ; nuova = ip_mat_create ( in -> h , in -> w , in -> k , 0.0 ) ; for ( ch = 0 ; ch < nuova -> k ; ch ++ ) { for ( row = 0 ; row < nuova -> h ; row ++ ) { for ( col = 0 ; col < nuova -> w ; col ++ ) { sup = mean_pixel_channel ( in , row , col ) ; set_val ( nuova , row , col , ch , sup ) ; } } } compute_stats ( nuova ) ; return nuova ; }
PARTE 2: SEMPLICI OPERAZIONI SU IMMAGINI
Converte un'immagine RGB ad una immagine a scala di grigio.
PARTE 2 : SEMPLICI OPERAZIONI SU IMMAGINI Converte un ' immagine RGB ad una immagine a scala di grigio .