Ciao! Devo fare un programma in C... Data una immagine PGM devo ricavare i valori dei pixel per metterli in un array che poi manipolerò. Come faccio?
Grazie!
Ciao! Devo fare un programma in C... Data una immagine PGM devo ricavare i valori dei pixel per metterli in un array che poi manipolerò. Come faccio?
Grazie!
Questo ti puo' essere utile?
http://poisson.phc.unipi.it/~steffe/.../imm_digi.html
Si il link è utile, però il mio programma non funziona..
Io ho l'immagine pgm, apro il file in questo modo:
char buff[count];
fd = open( img_pgm, O_RDONLY );
read( fd, buff, count );
printf("buff = %s", buff);
in output ho solo le prime righe dell'immagine, cioè ho:
P5
720 576
255
dove sono i pixel?!?!
Grazie mille
A giudicare dal documento che ti ho mostrato, i valori dei pixel seguono ... il formato infatti e'
P2
# eventuali commenti
numero_colonne numero_righe
valore_livello_bianco
p1,1
p1,2
.
.
p1,n
p2,1
p2,2
.
.
Infatti! I pixel dovrebbero seguire quella specie di "intestazione". Però facendo la read() ho in output solo le prime righe (solo l'"intestazione"), non i pixel... Può essere che i pixel siano dei caratteri speciali che non vengono letti?! Se è così, come faccio a visualizzarli?
P.S. L'immagine da cui devo ricavare i valori dei pixel è un'immagine PGM il cui file inizia con P5
No ... non esistono caratteri speciali ... tu devi aprire il file in binario e leggere byte per byte ...Originariamente inviato da giuggiu
Infatti! I pixel dovrebbero seguire quella specie di "intestazione". Però facendo la read() ho in output solo le prime righe (solo l'"intestazione"), non i pixel... Può essere che i pixel siano dei caratteri speciali che non vengono letti?! Se è così, come faccio a visualizzarli?
Adesso non ho a disposizione un file del genere e non posso fare la prova ...
Cavolo, non posso allegare l'immagine pgm...!!! grrr
Mettila su un sito che la scarico ...
Umh, non ho un sito. Potrei mandarla per email (sono 406 KB).