Finden einer Farbe, die einem Bild wahrnehmungsmäßig ähnlich ist


7

Ich arbeite an einem Programm, um zufällig ausgewählte Bilder als Desktop-Hintergrund zu verwenden. Jetzt haben nicht alle Bilder die gleiche Form wie ein Computermonitor. Eine Idee, die ich hatte, um damit umzugehen, ist, eine Hintergrundfarbe festzulegen, die dem Bild wahrnehmungsmäßig ähnlich ist. Wie würde ich vorgehen, um diese Farbe zu finden?

Die einfache RGB-Mittelung berücksichtigt keine Nichtlinearitäten wie Monitor-Gamma und befasst sich nicht mit dem menschlichen Sichtsystem.


Es ist nicht Ihre Frage, aber Sie sehen häufig im Fernsehen, dass 4: 3-Bilder durch Verwendung einer unscharfen und gestreckten Kopie im Hintergrund auf Breitbild erweitert werden. Das könnte für Sie funktionieren.
Jorge Rodriguez

Antworten:


3

Sie könnten eine Art Farbquantisierungsalgorithmus ausprobieren, der im Allgemeinen die dominantesten N Farben extrahiert. Diejenige, auf die ich am häufigsten Bezug genommen habe, ist die modifizierte Medianschnittquantisierung [.pdf], die auf der Medianschnittquantisierung [.doc] basiert . Der Vorteil dieser Art von Algorithmus besteht darin, dass anstatt einfach jede Farbe im Bild zu mitteln, andere herausragende Farben extrahiert und verworfen werden, anstatt dass sie den Durchschnitt verschmutzen können.

Das Konzept besteht darin, dass der Farbraum (RGB-Raum) in an der 3D-Achse ausgerichtete rechteckige Bereiche unterteilt wird (das Papier nennt sie Vboxen) und durch Teilen von Vboxen iterativ unterteilt wird, wobei versucht wird, die Hälfte der Pixel auf jeder Seite der Teilung zu belassen. Das Ergebnis sind Farbcluster, die Farbclustern im Bild entsprechen sollten. Die größte Farbe hat eine hohe Wahrscheinlichkeit, dem Bild "wahrnehmungsmäßig ähnlich" zu sein.

Es gibt eine JavaScript-Implementierung und Demo dieses Algorithmus namens Color Thief .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.