PDA

View Full Version : AIUTO! Immagini in scala di grigi a 16 bit


Imbriagon86
02-01-2011, 19:43
Ciao a tutti e buon anno.
Vi chiedo aiuto in merito a questo problema: devo creare immagini in scala di grigi a 16 bit. I valori che ho vanno da 0 (nero) a 65536 (bianco). Ho provato con Matlab ma mi genera solo immagini con profondità a 8 bit. La cosa più semplice sarebbe photoshop ma non so che corrispondenza ci sia tra i colori a 3 canali (da 0 a 255) ed il corrispondente valore di grigio (combinazione di questi 3).
Risolvere questo problema sarebbe un grosso passo avanti per il lavoro di tesi che sto svolgendo...grazie mille!

Giampietro

wingman87
02-01-2011, 20:52
Che io sappia con RGB puoi ottenere solo 256 scale di grigio: 0 0 0, 1 1 1, ... , 255 255 255

Supdario
02-01-2011, 22:08
Ciao a tutti e buon anno.
Vi chiedo aiuto in merito a questo problema: devo creare immagini in scala di grigi a 16 bit. I valori che ho vanno da 0 (nero) a 65536 (bianco). Ho provato con Matlab ma mi genera solo immagini con profondità a 8 bit. La cosa più semplice sarebbe photoshop ma non so che corrispondenza ci sia tra i colori a 3 canali (da 0 a 255) ed il corrispondente valore di grigio (combinazione di questi 3).
Risolvere questo problema sarebbe un grosso passo avanti per il lavoro di tesi che sto svolgendo...grazie mille!

Giampietro

Come ha detto l'utente sopra di me, per ottenere un'immagine RGB a scala di grigi i valori R, G e B devono essere uguali, e nel caso di 24bit di profondità possono assumere solo 256 valori.

In alternativa, con un'immagine in PNG-8, GIF, o BMP a 8 bit puoi avere una vera immagine a scala di grigi (quindi 1 pixel = 1 byte, e non 3), a cui ogni byte corrisponde un colore mappato su una palette (che è contenuta nel file Bitmap o quel che è).

Con Photoshop volendo puoi creare un'immagine a scala di grigi con 16 bit di profondità, in modo da ottenere 65536 livelli di profondità, ma l'unico contenitore che conosca in grado di contenere una struttura del genere (apparte il PSD, il formato proprietario di Photoshop) è il PNG (che può arrivare ad un massimo di 4 canali (RGBA) da 16bit ciascuno, per un totale di 64 bit di profondità), e poi ci sono altri formati usati in fotografia come l'HDR ed il RAW.

In ogni caso penso che tu sappia già che le informazioni contenute nell'immagine rimangono lì e non escono fuori dal monitor, dato che i monitor odierni sono in grado di mostrare 16,8 milioni di colori (24bit). :D

franklyn
21-02-2011, 10:50
In alternativa, con un'immagine in PNG-8, GIF, o BMP a 8 bit puoi avere una vera immagine a scala di grigi (quindi 1 pixel = 1 byte, e non 3), a cui ogni byte corrisponde un colore mappato su una palette (che è contenuta nel file Bitmap o quel che è).


M'introduco in questo 3d senza aprirne un altro.
Quindi se io leggo una bmp a 8bit, saltando gli header riesco a memorizzare in una matrice di caratteri direttamente i pixel della bmp ?

Supdario
21-02-2011, 12:39
M'introduco in questo 3d senza aprirne un altro.
Quindi se io leggo una bmp a 8bit, saltando gli header riesco a memorizzare in una matrice di caratteri direttamente i pixel della bmp ?

No, perché nel formato BMP l'immagine è rovesciata e ci sono dei byte di padding alla fine di ogni riga.

franklyn
21-02-2011, 16:42
No, perché nel formato BMP l'immagine è rovesciata e ci sono dei byte di padding alla fine di ogni riga.
e quindi se volessi farlo come posso ?