Forum: PC Hard- und Software Wie kann ich in Gimp alle Pixel einer bestimmten Farbe in eine andere Farbe ändern?


von Nano (Gast)


Lesenswert?

In Deluxe Paint waren die Farben früher indexiert, was dazu führte, dass 
man durch ändern des Farbwertes für einen bestimmten Indexwert alle 
Pixel, die diesen Indexwert und somit Farbwert hatten, auf einmal ändern 
konnte.

Ich suche nun eine vergleichbare Möglichkeit unter Gimp.

D.h. wenn ein Pixel bspw. den Farbwert 950c0c nach HTML Notation hat, 
dann möchte ich allen Pixel, die exakt den gleichen Farbwert haben, 
einen anderen Farbwert auf einmal zuweisen können.

Geht das irgendwie?

von Nano (Gast)


Lesenswert?

Ergänzung:

Also so ne Art "Suchen und Ersetzen" Funktion für Pixel, anstatt für 
einzelne Zeichen oder Wörter, wie man sie bspw. von guten Texteditoren 
her kennt.

von Achim S. (Gast)


Lesenswert?

Es gibt den Befehl "Nach Farbe auswählen" (Shift-O). Und dann kannst du 
die Auswahl mit einer Farbe deiner Wahl ersetzen ("mit Vordergrundfarbe 
füllen", Ctrl-,)

von Nano (Gast)


Lesenswert?

Besten Dank, das hat super funktioniert.

von Nano (Gast)


Lesenswert?

Nach einer Farbanalyse habe ich jetzt festgestellt, dass die Anzahl der 
eindeutigen Farben nicht mehr mit dem Ursprungsbild identisch ist.

Dies liegt sicherlich am gewählten Schwellwert, der leider eine 
Gleitkommazahl ist und für den ich anfangs fehlerhafterweise den Wert 
1.0 verwendet habe.

Allerdings ergibt 100.0/256 = 0,390625.

Insofern sollte man einen Schwellwert von 0.3 verwenden, um eindeutige 
Farben zu erhalten.
Bei nur 256 Farben ist das noch kein Problem, aber bei 65K oder mehr 
Farben wird das damit zu ungenau.

Ich erwähne es nur Vollständigerkeitshalber, damit ihr nicht den 
gleichen Fehler macht wie ich, zumal die Gefahr besteht, dass einem das 
gar nicht auffällt, wenn man in die Farbanalyse nicht rein schaut.


Das Feature ist aber praktisch um mit einem höheren Schwellwert die 
Anzahl der Farben zu reduzieren. Bei indexierten Dateiformaten könnte 
man so eventuell Speicherplatz sparen.
Für solche Zwecke könnte man das sicherlich mit der Skriptengine 
automatisieren und einen Farbreduktionsskript daraus basteln.
Nur mal so als Anmerkung, ich persönlich brauche das aber nicht.
Natürlich ist es denkbar, dass es so etwas schon als Skript gibt.

von Christian M. (Gast)


Lesenswert?

Nano schrieb:
> In Deluxe Paint waren die Farben früher indexiert

Amiga?! Ja, da war eine Palette...

Gruss Chregu

von ??? (Gast)


Lesenswert?

DeluxePaint gabs auch für DOS u.a. 
https://de.wikipedia.org/wiki/Deluxe_Paint
Die Farbindex-Liste gibts ja nur bei Formaten mit weniger als 19Mio 
Farben.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Nano schrieb:
> Insofern sollte man einen Schwellwert von 0.3 verwenden, um eindeutige
> Farben zu erhalten.

Setze doch einfach Schwellwert 0! Das sollte nur exakt 1 Farbe 
auswählen. Antialiasing und Feather Edges sollte man wohl auch 
abschalten um es "exakt" zu bekommen.

von Nano (Gast)


Lesenswert?

Das habe ich jetzt gerade getestet, aber mit Schwellwert 0 selektiert er 
gar nichts mehr. D.h. mit 0 funktioniert es nicht.

Der kleinste mögliche Wert, bei dem die Funktion noch die Pixel einer 
bestimmten Farbe selektiert, ist 0.1.
Weniger, mal von der 0.0 abgesehen, lässt sich nicht einstellen.
Das Eingabefeld erlaubt leider nur Zahlen mit nur einer Stelle nach dem 
Komma.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Nano schrieb:
> D.h. mit 0 funktioniert es nicht.

Bei mir schon, GIMP Version 2.8.22 (Ubuntu).

von Nano (Gast)


Lesenswert?

Hier werkelt GIMP 2.10.8 unter Win 7 Prof.

Das könnte dann ein Bug sein.
Gimp 2.10 war ja eine der ganz großen Änderungen von Gimp und 6 Jahre in 
Entwicklung und die dazugehörige Lib GEGL noch länger.

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
Noch kein Account? Hier anmelden.