Hallo, hat jemand eine Ahnung, wie man die "Dominanten" Farben eines Bildes bestimmen kann? Ich hab es über ein HSV-Histogramm versucht, das Ergebnis war aber nicht besonders. Das Problem ist, dass es da zig Sonderfälle gibt, wie Graustufen, Schwarz oder Weiß. Wann ist eine Farbe farbig und nicht schwarz, oder nicht weiß usw ... Weitere Probleme ist z.B. die Lichttemperatur, die wohl mit einem automatischen Weißabgleich irgendwie kompensiert werden müsste. Kennt jemand zufällig eine Library, ein Paper, ein Applet oder irgendwas, wo sich da schonmal jemand an soetwas versucht hat? Ich hab schon eine Zeit gesucht, aber nichts brauchbares gefunden, leider ... Grüße, Markus
Markus schrieb: > hat jemand eine Ahnung, wie man die "Dominanten" Farben eines Bildes > bestimmen kann? > > Ich hab es über ein HSV-Histogramm versucht, das Ergebnis war aber nicht > besonders. Das Problem ist, dass es da zig Sonderfälle gibt, wie > Graustufen, Schwarz oder Weiß. Wann ist eine Farbe farbig und nicht > schwarz, oder nicht weiß usw ... > > Weitere Probleme ist z.B. die Lichttemperatur, die wohl mit einem > automatischen Weißabgleich irgendwie kompensiert werden müsste. > > Kennt jemand zufällig eine Library, ein Paper, ein Applet oder > irgendwas, wo sich da schonmal jemand an soetwas versucht hat? > > Ich hab schon eine Zeit gesucht, aber nichts brauchbares gefunden, > leider ... Gleich vorweg, ich kenne kein Paper. Aber ich versteh jetzt ehrlich gesagt nicht, inwiefern da jetzt die zig Sonderfälle groß ein Problem sein sollen. Mittels HSV hast du ja im S die Farbsättigung. D.h. alle Pixel, deren Farbsättigung nicht über einem Grenzwert liegt (keine Ahnung, 25% erscheint mir aus dem Bauch heraus angemessen), nehmen an der Auswertung nicht teil. Und für den Rest: Statistik führen wieviele Pixel jeweils denselben Hue Wert haben, bzw. sowas wie Hue-Boxen einführen (aus dem Bauch: alle 10°) und alle übrigen Pixel in der richtigen Box zählen. Die Box, und damit der entsprechende Hue Wert, mit den meisten Pixel gewinnt dann das Rennen. So würde ich das versuchen. Ich habs aber nicht getestet kann daher nicht sagen, wie gut das funktioniert. HLS ist eventuell besser geeignet als HSV
Definiere Dominante Farbe. Inwiefern unterscheidet sich die vom Mittelwert über alle Pixel?
Rufus Τ. Firefly schrieb: > Definiere Dominante Farbe. Inwiefern unterscheidet sich die vom > Mittelwert über alle Pixel? Nicht wirklich. Der Mittelwert über das angehängt Bild wär sicher nicht blau. Ich hab das HSV-Histogramm des Bildes auch gleich noch angehängt. Es ist eigentlich überraschend, weil ich als Mensch hätte gesagt, dass das Bild als Dominante Farbe vor allem Blau enthält. Gimp mit HSV-Histogramm sieht das aber anders. Liegt wohl an der Farbtemperatur.
Markus schrieb: > Gimp mit HSV-Histogramm sieht das aber anders. Liegt wohl an der > Farbtemperatur. ? Das ist allerdings eigenartig. Wo kommen denn da die ganzen rot und gelb Anteile im Spektrum her? -> hast du alles unterdrückt, was in der Farbsättigung nahe bei schwarz oder weiß liegt?
David ... schrieb: > http://labs.ideeinc.com/multicolr/ vl hilft das? Wow, das ist beeindruckend! Genau sowas würde ich suchen. Sieht nur leider so aus, dass die halt richtig Geld damit verdienen möchten ...
Karl heinz Buchegger schrieb: > Wo kommen denn da die ganzen rot und gelb Anteile im Spektrum her? Ich schätze, das Bild ist bei gelblicher Zimmerbeleuchtung aufgenommen worden, d.h. man müsste vorher wahrscheinlich noch einen Weißabgleich irgendwie machen. > -> hast du alles unterdrückt, was in der Farbsättigung nahe bei schwarz > oder weiß liegt? Ich weiß nicht, wie Gimp das macht. Bei meinen Tests hab ich alles unterdrückt, was graustufig oder sehr hell oder sehr dunkel ist. Groß anders hat es aber nicht ausgesehen.
Markus schrieb: >> -> hast du alles unterdrückt, was in der Farbsättigung nahe bei schwarz >> oder weiß liegt? > > Ich weiß nicht, wie Gimp das macht. Bei meinen Tests hab ich alles > unterdrückt, was graustufig oder sehr hell oder sehr dunkel ist. Groß > anders hat es aber nicht ausgesehen. Na ja. Du musst ja 3 Spektren haben. Eines für Hue Eines für Saturation Eines für Value Einfach nur das Hue Spektrum zu betrachten bringt dich nicht weiter, das ist schon klar. Das Hue Spektrum ist erst dann interessant, wenn du alle die Unbunten Pixel eliminimiert hast. Die siehst du aber im Hue nicht, dazu brauchst du das Saturation und Value Spektrum. (Ach so, das ist ein Bild als Ganzes. Ich dachte das Spektrum stammt vom Bild welches auf dem Laptopmonitor zu sehen ist und dort gibt es ja nur Blau, schwarz und weiß :-)
Warum ausgerechnet ein HSV-Histogramm und nicht ein RGB-Histogramm?
Markus schrieb: > Es ist eigentlich überraschend, weil ich als Mensch hätte gesagt, dass > das Bild als Dominante Farbe vor allem Blau enthält. Eventuell liegt es aber auch daran, das wir die Intensität von Farben nicht gleich stark wahrnehmen
Ich finde, das Bild wirkt recht gelblich - der Tisch, der Hintergrund (Tür?), auch die Oberfläche des Notebooks. Entweder weil das Ganze bei Glühbirenlicht aufgenommen wurde, oder weil das helle Blau auf dem Display den Weißabgleich der Kamera irritiert hat. Das Blau wirkt hier vor allem deshalb subjektiv so dominant, weil es gegenüber dem Rest des Bildes stark raussticht. Die Frage ist, was du jetzt eigentlich genau willst. Den Durchschnittsfarbwert oder die Farbe, die dem Betrachter subjektiv am meisten auffällt?
Rolf Magnus schrieb: > Die Frage ist, was du jetzt eigentlich genau willst. Den > Durchschnittsfarbwert oder die Farbe, die dem Betrachter subjektiv am > meisten auffällt? Auf jeden Fall die Farbe, die dem Betrachter am meisten auffällt. Ich müsste vlt mal ein Farb-Histogram erstellen und das mit der Farbempfindlichkeit des menschlichen Auges gewichten. Wär interessant, was dann rauskommen würde ... Was ich mir auch gedacht habe wäre die Quantisierung der Farben. Früher zu 8Bit-Palette-Zeiten und Gif musste man RGB doch in eine optimierte Palette umrechnen. Wenn ich ein Bild auf z.B. 16 Farben quantisiere, hab ich vlt schon das, was ich brauche.
Markus schrieb: > Rolf Magnus schrieb: >> Die Frage ist, was du jetzt eigentlich genau willst. Den >> Durchschnittsfarbwert oder die Farbe, die dem Betrachter subjektiv am >> meisten auffällt? > > Auf jeden Fall die Farbe, die dem Betrachter am meisten auffällt. > > Ich müsste vlt mal ein Farb-Histogram erstellen und das mit der > Farbempfindlichkeit des menschlichen Auges gewichten. Wär interessant, > was dann rauskommen würde ... Ich glaube aber nicht so sehr, daß das hier das Problem ist. Ich denke eher, daß das Blaue hier besonders auffällt, weil es eine hohe Farbsättigung hat, weil es relativ mittig ist, sich farblich stark vom Hintergrund abhebt und weil es eine große quasi einfarbige Fläche am Stück ist. Da kann man sich bestimmt beliebig komplexe Regeln einfallen lassen, die da im Gehirn ablaufen, und es gibt bestimmt auch schon jemanden, der das getan hat. ;-) Interessant wäre vielleicht mal, was rauskommt, wenn man die Pixel einfach nach ihrer Farbsättigung gewichtet. Also im H-Histogramm für jeden Pixel bei seiner Farbe nicht 1, sondern seinen S-Wert draufzuaddieren. > Was ich mir auch gedacht habe wäre die Quantisierung der Farben. Früher > zu 8Bit-Palette-Zeiten und Gif musste man RGB doch in eine optimierte > Palette umrechnen. Wenn ich ein Bild auf z.B. 16 Farben quantisiere, hab > ich vlt schon das, was ich brauche. Naja, im Prinzip ist das rückwärts gedacht. Wenn man ein Bild auf 16 Farben reduziert, braucht man einen Algorithmus, der das möglichst "gut" macht, also die wichtigsten Farben beibehält. Du willst den jetzt nutzen, um die die wichtigste Farbe zu ermitteln. Da hängt's natürlich vom verwendeten Algorithmus ab, wie gut das klappt.
Aus welchem Farbraum stammen die Bilder? Enthalten sie ein Farbprofil? Da steht üblicherweise der Weisspunkt drin. Bei Bildern ohne Profil würde ich von sRGB ausgehen, stimmt meistens, ich glaube da liegt der Weisspunkt bei D65. Ich würde also das Histogramm nicht in HSB machen, sondern in LAB, relativ farbmetrisch (d.h. unter Berücksichtigung des Weisspunktes) ... Frank
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.