Forum: Offtopic Zahlenwerte -> Farben


von P. M. (o-o)


Lesenswert?

Ich habe eine zweidimensionale Matrix aus Zahlenwerten zwischen 0 und 
255. Diese Matrix soll nun als Bitmap-Bild 3 x 5 Bit RGB dargestellt 
werden. Die einfachste Variante wäre natürlich, einfach ein 
Graustufenbild zu machen. Doch gibt es ein besseres - einfach zu 
implementierendes - Farbmapping-Verfahren, um für das Auge noch bessere 
Visualisierung der Matrix zu erreichen?

von Jan A. (jan_a)


Lesenswert?

Um aus der RGB-Notation (r, g, b) einen Integer-Wert zu errechnen, 
könntest du die Formel farbe = r*256^2 + g*256 + b verwenden.

Andersherum
r = farbe & 255
g = (farbe >> 8) & 255
b = (farbe >> 16) & 255

Den Farbraum von 0 - 65535 müsste man dann nur noch auf 0 - 255 
skalieren.

von Karl H. (kbuchegg)


Lesenswert?

P. M. schrieb:
> Ich habe eine zweidimensionale Matrix aus Zahlenwerten zwischen 0 und
> 255. Diese Matrix soll nun als Bitmap-Bild 3 x 5 Bit RGB dargestellt
> werden. Die einfachste Variante wäre natürlich, einfach ein
> Graustufenbild zu machen. Doch gibt es ein besseres - einfach zu
> implementierendes - Farbmapping-Verfahren, um für das Auge noch bessere
> Visualisierung der Matrix zu erreichen?

Zb so wie es dieverse Karten machen. Mit einem Farbmapping. ZB über den 
HLS Farbraum. L und S nimmst du als fix an und das H errechnet sich aus 
deinen Werten (einfach von 255 auf 360 mappen). Dann HLS nach RGB 
umwandeln und du hast deine Zahlenvariationen in Farbvariantionen im 
Farbkreis umgesetzt. Wobei ich persönlich einen 'Kante' zb von Blau nach 
Rot, auslassen würde. Ein Farbverlauf von Rot über Gelb, Grün, Cyan nach 
Blau funktioniert ganz gut. Wenn die tiefsten und die höchsten Werte 
ähnliche Farben haben, dürfte das verwirrend sein.

von Karl H. (kbuchegg)


Lesenswert?

Jan A. schrieb:

> Den Farbraum von 0 - 65535 müsste man dann nur noch auf 0 - 255
> skalieren.

Durchdenk das lieber noch einmal. Auf die Art hast du mehrere Werte aus 
höchst unterschiedlichen Wertebereichen, die alle auf dieselbe Farbe 
abgebildet werden. Sprich: ähnliche Farbe impliziert nicht ähnlichen 
Wert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.