24Bit-->Grauwertbild

HolgerX

Mitglied
Mal eine Denkfrage.

Ich muss aus einem Farbbild, sagen wir mal 24Bit, ein Grauwertbild (256 Grautöne) erzeugen.
Wie bekomme ich das jetzt (unabhängig von der Programmiersprache) prinzipiell hin? - Wie sieht es bei einem 256Farben-Bild aus.

Im Speziellen, wie kann ich es in (visual) c++ realisieren, bei der ich eine Palette von den Farben habe?
 
Geht es jetzt nur ums Umrechnen der Farbwerte zu Grau?

Eine der üblicheren "Formeln" dafür ist:

Grauwert-RGB = R * 0.3 + G * 0.59 + B * 0.11

Die Endpalette wird ja vermutlich ein 256-stufiger Grauverlauf sein, also ist der Wert aus der Berechnung direkt der Index. Der Index ist dann auch der R,G und B-Wert des jeweiligen Grautons.
 
Danke! :)

Ja, es geht nur darum aus einem Farbbild ein Graubild zu machen.
Denn darauf muss ich dann einen Medianfilter anwenden, und das geht nunmal nicht auf ein Farbbild.

Nur war nicht bekannt, das es solch eine Formel gibt!
 
Du kannst auch ein bisschen mit den Koeffizienten der Gleichung rumspielen, wenn dir das Ergebnis nicht gefällt (so kann man gut die Farbgewichtung verändern). Addiert sollten sie allerdings 1 ergeben, das solltest du beachten.
 
Zurück