Entwickler-Ecke

Multimedia / Grafik - Farbmittelwert über Bild(bereich)


Tendl - Di 25.03.03 11:26
Titel: Farbmittelwert über Bild(bereich)
Hallo Leute ich habe folgendes Problem:

Aus einer Menge Bildpunkte von Typ TColor möchte ich mir einen Mittelwert errechnen.

Einfach nach integer wandeln und den Mittelwert berechnen funktioniert nicht, da damit die Farbanteile, die in den höherwertigen Bits gespeichert werden zu stark gewichtet werden :cry: .
Zerlegen in die Einzelfarben dreimal aufsummieren und jeweils den Mittelwert bilden und dann wieder zusammensetzen gibt schon bessere Ergebnisse. :wink:
Wenn ich jetzt aber etwas mit Standardverteilung oder Suche nach Häufungen bei sehr ähnlichen Farben machen möchte stehe ich auf dem Schlauch. Hat jemand so ein Problem schon mal gelöst? :?:
Auch ein Link :arrow: der mir weiterhilft ist willkommen.

Danke Thomas


Andreas Pfau - Di 25.03.03 18:01

Hört sich an wie Quantisierung (erstellung von Farbtabellen). Bei EFG's findest du was (http://www.efg2.com, Section http://www.efg2.com/Lab/Graphics/Colors/ShowDemoOne.htm).


Matthias - Mi 26.03.03 11:13

Ich habe dieses Problem mit Hilfe von Histogrammen gelöst. Also zuerst habe ich ein Histogramm für jede Farbe berechnet. Danach habe ich die Histogramme geglättet und anschließend die Maxima gesucht. Die Position (0..255) sind dann die Werte des Farbanteils der gesuchten Farbe.

ciao
Matthias


Tendl - Do 27.03.03 10:11

Was gibt Dein Histogramm der einzelnen Farben wieder? So wie ich Dich verstanden habe erstellst Du damit eine Verteilung der einzelnen Farbwerte. Was man damit nicht erreicht ist eine Bewertung der "Nähe" einzelner Farbwerte. Ein Beispiel (TColor in Hex):
00342075 und 00402069 sind von einem Mittelwert gleich weit entfernt.
Wenn Du ein Bild mit deutlichen Farbkontrasten hast erhält man einer Mittelung der Farbanteile einen blassen Farbton, bei einer Gleichverteilung einen Grauwert. Verloren geht die Information, daß es einen Bereich gibt in dem z.B. diverse Rottöne dominieren.
Wenn man sich das Bild der Farbkreise zur Farbmischung in einer Ebene vor Augen hält,
so müßte man die Häufigkeiten als Erhebungen darüber eintragen. Was mich interessiert wären dann Berge, nicht einzelne Spitzen. Diese Berge repräsentieren dann Bereiche sehr ähnlicher Farben.
Ich hoffe ich habe den Spezialisten klargemacht, was mich genau interessiert.
Hat sich jemand schon mit dergleichen beschäftigt.
Gruß an alle
Thomas

P.S. Die Mittelwertroutine von oben liefert für viele Bilder sehr ansehnliche Ergebnisse