2012-11-24 18 views
10

Nel modello RGB, ciascun pixel è definito da 3 byte, rispettivamente per R, G e B. Questo dà un totale di 2 colori, tra cui 256 toni di grigio.Nel modello RGB quante tonalità sono disponibili?

È molto comune rappresentare i modelli HSV/HSB/HSL con float s (non byte s). La maggior parte delle descrizioni descrive la tonalità come "angolo" in un cono, quindi è ragionevole trattarlo come un numero reale.

Ma come si riferisce al limite minimo di 2 colori totali ..? Quante tonalità distinte sono disponibili? Più sopra, mi sembra che il numero dovrebbe dipendere da altri parametri - la saturazione per esempio ..


lettura interessante: http://www.dig.cs.gc.cuny.edu/manuals/Gimp2/Grokking-the-GIMP-v1.0/node52.html

+2

Il modello HSV/HSB ha meno colori di RGB per la stessa quantità di spazio utilizzata per rappresentare i colori, poiché ci sono valori che si associano allo stesso colore. – nhahtdh

+0

Credo che ci siano circa 60k tonalità diverse in RGB. Hai bisogno del valore esatto? –

+0

Sì, forse c'è una formula per calcolare questo? Apprezzerei ogni risposta con più informazioni sull'argomento: colori sovrapposti, bit-efficiency, ecc. Inoltre - 256 _tones_ di grigio sono abbastanza separabili dall'occhio umano (su un LCD standard). È possibile differenziare 60k tonalità? – emesx

risposta

8

In HSV, la tonalità è definito come

H = atan2(sqrt(3)*(G-B), 2R-G-B) 

(link). In ognuno dei sei settori (R-Y, Y-G ...), ci sono altrettante sfumature. Inoltre, ci sono sei tonalità al confine tra le regioni. Quindi, 6 + 6 * huesRY.

Nel settore di colore rosso-giallo, R> G> B, quindi entrambi gli argomenti su atan2 sono positivi.

count sqrt(3) * (G-B)/(2R-G-B) 
=count (G-B)/(2R-G-B) 
=count (G-B)/((G-B) + (2R-2G)) 

poiché possiamo applicare qualsiasi trasformazione lineare ai gruppi di [x, y] e non cambiare il conteggio dei suoi rapporti, x/(x+2y) == x/y

=count (G-B)/(R-G) 

se sottraiamo lo stesso valore da ogni R, G, B, il rapporto non cambia, così assumere B = 0

=count G/(R-G) 
=count G/R 

così, ci sono sei volte più sfumature quanti sono i rapporti tra due interi positivi che sono entrambi sotto di 2^8 (supponendo 8 bit per ch annel) e altri sei. Ci sono tanti rapporti quante sono le coppie di interi positivi coprimi. Il numero di interi positivi inferiori a n che sono coprimi con n è chiamato la funzione totient di Eulero. OEISlistsitspartial sums. Ci sono esattamente 19948 coppie di interi positivi coprimi indicati 256.

6 * 19948 + 6 = 119 694

ci sono esattamente 119 694 tonalità differenti nel modello HSV che corrispondono a un colore nel 8 bit Modello RGB. Notare che non sono equidistanti.

Se nel modello HSV vengono utilizzati 8 bit per canale, ci sono meno colori rispetto al modello RGB con 8 bit per canale semplicemente perché alcuni tripli HSV si mappano sullo stesso colore mentre ogni triplo RGB definisce un colore diverso.

+0

Non penso che 'sqrt (3) (x)' sia una notazione sensata. Se intendi la radice cubica, scrivi 'root (3) (x)' o 'x 1/3'. – PointedEars

+0

@PointedEars radice quadrata di tre moltiplicata per x. È meglio adesso? –

0

IN colore RGB tonalità può essere calcolato (2^3 * profondità 2^profondità/luminanza)/3 = modo colore 15 bit ha 341 tonalità distinte

colore 24bit dispone 21845 Hues Distinct

se c'erano 119000 tonalità i colori rimanenti Tutte le tonalità: le tonalità rosse della tonalità rossa sarebbero 256, X, Y circa 2^16, il che significa che ci sono meno tonalità verdi e blu rispetto al rosso?