Wie kann ich in Gimp Pixelwerte mit einer Konstante multiplizieren?

Wie kann ich in Gimp den Wert jedes Pixels in einem Graustufenbild mit einem konstanten Wert multiplizieren? Multiplizieren Sie beispielsweise jedes Pixel mit 2.

Antworten (3)

Ich dachte an eine zusätzliche Möglichkeit, es zu tun:

Wählen Sie die Ebene aus, die Sie multiplizieren möchten, und gehen Sie dann zu Filters -> Generic -> Convolution Matrix .

Lassen Sie im angezeigten Fenster alle Zellen auf Null, mit Ausnahme der mittleren Zelle, die Sie auf den Wert einstellen sollten, mit dem Sie multiplizieren möchten. Es sollte so aussehen:

Faltungsmatrix-Fenster

Es sollte funktionieren (bis Ihre Startwerte kleiner als 128 sind oder Ihre Gimp-Version Graustufenbilder mit einer Tiefe von mehr als 8 Bit verarbeiten kann). Wenn dieser Weg Ihr Problem löst, können Sie Ihre eigene Lösung als richtige Antwort markieren.
Sie sagen also, dass die Pixelwerte kleiner als 128 sein müssen, sonst werden sie nach der Multiplikation mit 2 gesättigt, richtig?
Genau, bis Sie ein 8-Bit-Graustufenbild verwenden. Zukünftige Versionen von Gimp sollten in der Lage sein, eine größere Tiefe zu verwalten.
Cool, danke! Übrigens, ich glaube, du meinst "vorausgesetzt" statt "bis".
Mein Englisch ist verbesserungswürdig... ;-)

Anstatt zu sagen, dass Sie jeden Pixelwert mit 2 multiplizieren, können Sie sich dieses Problem auch anders vorstellen, indem Sie sagen, dass Sie Pixel im Bereich von (0,127) nehmen und sie strecken, um den gesamten Bereich (0,255) auszufüllen.

So gesehen geht das ganz einfach im Werkzeug „Levels“.

Stellen Sie die Eingangspegel „Weißpunkt“ auf 127 ein und belassen Sie die Ausgangspegel „Weißpunkt“ auf 255, und alles wird hochskaliert.

Bild des GIMP Levels-Dialogs mit Einstellungen wie im Text beschrieben

Für andere Multiplikationsfaktoren müssen Sie nur eine schnelle Berechnung durchführen, um herauszufinden, welcher Eingabewert 255 Ausgabe entsprechen sollte.

Wenn Sie die Pixelwerte aus irgendeinem Grund teilen wollten, würden Sie den Eingangsweißpunkt auf 255 belassen und den maximalen Ausgangspegel verringern.

Pixelmathematik ist in Gimp schwierig (und etwas langsam), entweder mit einem Skript (dh Aufrufen von gimp-drawable-set-pixel für jedes Pixel mit Script-Fu oder Python-Fu ) oder mit Plug-Ins wie MathMap .

Beachten Sie, dass die Multiplikation mit einer Konstante den Wert der Pixel über den maximalen Bereich für das Bild hinaus erhöhen könnte und dass Sie nach der Operation einige gesättigte Bereiche haben können. Ich weiß nicht, ob die aktuelle Version von Gimp bereits eine eingebaute Unterstützung für die Arbeit mit 16-Bit (oder mehr) Graustufenbildern hat, und ich empfehle Ihnen, Pixelmultiplikationen mit ImageJ durchzuführen , was trotz der schlechten Benutzeroberfläche sehr ist schnell und nützlich für diese Art von Operationen und kann Werte bis zu 32-Bit-Graustufenbildern verwalten.

Gimp ist ein großartiges Bildbearbeitungsprogramm, aber in diesem Fall denke ich, dass ImageJ ein geeigneteres Werkzeug sein könnte.