2012-11-24 12 views
10

Im RGB-Modell wird jedes Pixel durch 3 Bytes für R, G und B definiert. Dies ergibt insgesamt 2 Farben, darunter 256 Töne von grau.Im RGB-Modell, wie viele verschiedene Farbtöne sind verfügbar?

Es ist sehr üblich, HSV/HSB/HSL-Modelle mit float s (nicht byte s) darzustellen. Die meisten Beschreibungen beschreiben Farbton als den "Winkel" in einem Kegel, so dass es sinnvoll ist, es als eine reelle Zahl zu behandeln.

Aber wie bezieht sich das auf den unteren Grenzwert von 2 Gesamtfarben ..? Wie viele verschiedene Farbtöne sind verfügbar? Mehr über, so scheint es mir, dass die Anzahl von anderen Parametern abhängen - Sättigung zum Beispiel ..


Interessante Lektüre: http://www.dig.cs.gc.cuny.edu/manuals/Gimp2/Grokking-the-GIMP-v1.0/node52.html

+2

Das HSV/HSB-Modell hat weniger Farben als RGB für den gleichen Farbraum, der für die Darstellung von Farben verwendet wird, da es Werte gibt, die der gleichen Farbe zugeordnet sind. – nhahtdh

+0

Ich glaube, es gibt etwa 60k verschiedene Farben in RGB. Brauchen Sie den genauen Wert? –

+0

Ja, vielleicht gibt es eine Formel, um das zu berechnen? Ich würde jede Antwort mit mehr Einblick in das Thema schätzen: überlappende Farben, Bit-Effizienz usw. Darüber hinaus - 256 _Tones_ von Grau sind durch das menschliche Auge (auf einem Standard-LCD) ziemlich trennbar. Ist es möglich, 60k Farbtöne zu unterscheiden? – emesx

Antwort

8

In HSV wird der Farbton definiert als

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

(link). In jedem der sechs Sektoren (R-Y, Y-G ...) gibt es gleich viele Farbtöne. Zusätzlich gibt es sechs Farbtöne an der Grenze zwischen den Regionen. Also, 6 + 6 * huesRY.

Im rot-gelben Sektor, R> G> B, sind also beide Argumente zu atan2 positiv.

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

da wir keine lineare Transformation auf die Sätze anwenden können, [x, y] und nicht die Anzahl der seine Verhältnisse ändern, x/(x+2y) == x/y

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

wenn wir den gleichen Wert von allen R subtrahieren, G, B, ist das Verhältnis nicht ändern, also davon ausgehen, B = 0

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

so gibt es sechs mal so viele Farben wie es Verhältnisse zwischen zwei positiven ganzen Zahlen sind, die sowohl unter 2^8 (unter der Annahme, 8 Bits pro ch Annel), und noch sechs. Es gibt so viele Verhältnisse, wie es Paare von Koprations-positiven ganzen Zahlen gibt. Die Anzahl der positiven ganzen Zahlen unter n, die mit n übereinstimmen, wird Eulers Totient-Funktion genannt. OEISlistsitspartial sums. Es gibt genau 19948 Paare von coprime positiven ganzen Zahlen unter 256.

6 * 19948 + 6 = 119 694

Es gibt genau 119 694 verschiedene Farben in dem HSV-Modell, das in dem 8-Bit zu einer Farbe entsprechen, RGB-Modell. Beachten Sie, dass sie nicht gleichmäßig verteilt sind. Wenn im HSV-Modell 8 Bits pro Kanal verwendet werden, dann gibt es weniger Farben als im RGB-Modell mit 8 Bits pro Kanal, weil einige HSV-Tripel der gleichen Farbe zugeordnet werden, während jedes RGB-Tripel eine andere Farbe definiert.

+0

Ich glaube nicht, dass 'sqrt (3) (x)' eine sinnvolle Notation ist. Wenn Sie die Kubikwurzel meinen, schreiben Sie 'root (3) (x)' oder 'x 1/3'. – PointedEars

+0

@PointedEars Quadratwurzel von drei multipliziert mit x. Ist es jetzt besser? –

0

im RGB-Farbe können die Farbtöne von (2^3 * depth-2^Tiefe/Luminance) berechnet werden/3 = so 15-Bit-Farbe hat 341 unterschiedliche Farbtöne

24bit Farbe hat 21845 Distinct Hues

Wenn es 119000 Farbtöne gäbe die restlichen Farben Alle Farbtöne - Rote Farbtöne des roten Farbtons wären 256, X, Y um 2^16 was bedeutet, dass es weniger grüne und blaue Farbtöne als rot gibt?

Verwandte Themen