PDA

Visualizza la versione completa : [C] parere sullo svolgimento


333luca333
30-11-2012, 18:57
Ciao a tutti, vi espongo il dubbio, prima ancora scrivo il testo dell'esercizio.

SCRIVERE UNA FUNZIONE CHE CALCOLI UN ISTOGRAMMA DEI LIVELLI DI GRIGIO DI UN'IMMAGINE A COLORI RGB. LA FUNZIONE RICEVE IN INGRESSO UN'IMMAGINE A LIVELLO DI GRIGIO DI DIMENSIONE larghezza PER altezza PIXEL ED IL NUMERO DI CLASSI (BIN) CHE COMPONGONO L'ISTOGRAMMA. I PIXEL POSSONO ASSUMERE VALORI CHE VANNO DA 0 A 256. LA FUNZIONE RENDE L'ISTOGRAMMA.

DEFINIRE DUE STRUTTURE DATI: UNA PER L'IMMAGINE ED UNA PER L'ISTOGRAMMA.
SI DEFINISCA LA STRUTTURA COMPLETA DEL PROGRAMMA CHE INVOCA LA FUNZIONE DEFINITA, STAMPANDO I VALORI DELLE CLASSI (BIN) DELL'ISTOGRAMMA.

Leggendo il regolamento si evince che la soluzione (di ogni quesito) va trovata da soli, o almeno in parte, ebbene per ora vorrei capire se il mio ragionamento è giusto, ancora non voglio riportare il codice ma esporre solamante una probabile soluzione del programma.

1 passo, le strutture dati:

la struttura dell'immagine può essere composta da due var di tipo int larghezza e altezza, ma quindi se così fosse che senso avrebbe costruire una struttura, dato che si aggregano solo var dello stesso tipo? non potrei ad esempio definire una matrice bidimensionale dove altezza e larghezza portano valori che vanno da 0 a 16? Ad esempio int IMMAGINE [H][L]? Dico valori che vanno da 0 a 16 perchè dal testo si evince che l'immagine può assumere valori che vanno da 0 a 256.

per la struttura dell'istogramma, potrei allora definire un puntatore alla struttura immagine(se scelgo di rappresentarla con struttura) e poi un puntatore alla struttura stessa che mi va alla prossima classe, mi spiego meglio

struct istogramma{

struct immagine *ptr_immagine;
struct istogramma *next;
};

in pratica se faccio così posso far sì che per ogni classe visualizzo il numero di pixel dell'immagine, impostato ogni volta dall'utente, ad esempio, e dato che l'esercizio mi dice che alla funzione devo passare il numero di classi,posso con il puntatore alla struct istogramma scorrere il numero di classi fino a che non trovo NULL, credo c he possa essere una soluzione.

Per ora vorrei un parere se i miei discorsi sono giusti, dato che ancora non ho messo il codice, grazie.

Loading