Farbpalette aus Bild generieren?

Ich möchte aus einem Bild eine Farbpalette erstellen. Es ist ein langer, langwieriger und mühsamer Prozess, weil ich jede der 16-32 Farben pro Bild kopieren und einfügen muss, um sicherzustellen, dass ich sie nicht vergesse, was ich wahrscheinlich tun werde und zu dem Bild zurückkehren muss, um danach zu suchen um es in mein Palettenbild einzufügen.

Ich habe online nachgeschaut, ob es Bildpalettengeneratoren gibt, aber sie generieren keine Palette aus einem Bild, sie versuchen, Ihnen eine "ähnliche Palette" oder so etwas Seltsames zu geben. Ich möchte ein Bild mit jeder einzelnen Farbe aus dem Bild in einer Reihe erzeugen, etwa so:

(Dies ist meine manuell erstellte Palette):manuelle Palette

So ähnlich, aber am besten in 1px Höhe. Sogenannte "Palettengeneratoren" geben mir aus irgendeinem Grund immer wieder Sachen wie diese:

Geben Sie hier die Bildbeschreibung ein

Welche(s) Werkzeug(e) kann ich verwenden, um ein Bild aus jeder einzelnen Farbe eines anderen Bildes hintereinander zu erzeugen, wie das erste Bild?

Meiner Meinung nach ist die Verwendung dieser Website der einfachere und schnellere Weg, dies zu tun: color.adobe.com/create/image
@Gianmarco: Das erstellt keine Palette mit allen Farben aus dem Bild; Stattdessen erstellt es eine mit nur 5 Farben basierend auf einem Thema.

Antworten (2)

Sie können dies mit ImageMagick tun (hier unter Bash gezeigt):

magick goHGJ.png -depth 8 txt:- | sed -e "1d;s/.* #/#/;s/ .*//" | sort -u

Dadurch wird das Bild in das „txt“-Format konvertiert, dann ein „sed“-Skript verwendet, um die Hex-Werte für die Farben zu extrahieren, und dann „sort -u“, um Duplikate zu entfernen. Hier ist das Ergebnis für Ihr Testbild:

#209020FF
#282830FF
#30C830FF
#403078FF
#505060FF
#5840A0FF
#8050D8FF
#888898FF
#A02000FF
#B090F0FF
#B8B8C8FF
#D03800FF
#E06810FF
#F0B020FF

Dies ist ungefähr das gleiche Verfahren, das Sie angedeutet haben, außer dass alles automatisch für Sie erledigt wird, ohne das manuelle Ausschneiden und Einfügen.

Das abschließende „FF“ bei jedem Eintrag ist der Alpha-Wert (vollständig undurchsichtig). Für Ihre Zwecke können Sie es ignorieren.

Beachten Sie, dass Sie so viele Einträge erhalten, wie Sie Farben in Ihrem Bild haben. Wenn Sie also mit einem Foto beginnen, ist die Liste wahrscheinlich ziemlich lang. In einem solchen Fall können Sie die ImageMagick-Option "-colors N" verwenden, um die Anzahl der Farben auf eine bestimmte Grenze, N, zu reduzieren.

Warum wird (oder nicht?) -Tiefe 8 benötigt?
Ich habe die Option -depth 8 hinzugefügt, falls die Eingabe eine 16-Bit-Präzision hat, was Farben mit 16 Bit pro Komponente ergeben würde, wie #F0F0B0B02020FFFF

ColorFavs , Pictaculous und ColorKitty generieren alle eine Farbpalette aus einem Bild. Sie geben Ihnen vielleicht nicht genau das, was Sie wollen, aber sie könnten für zukünftige Personen hilfreich sein, die diese Frage sehen.

Eine vollständigere Liste der Farbpalettengeneratoren finden Sie in diesem Beitrag .