Negative konvertieren

Wer Negative digitalisieren möchte, kämpft unter Linux mit zwei Problemen: Einmal kommt das System mit Filmscannern nur begrenzt zurecht. Viele unterstützte Flachbett-Scanner besitzen zwar eine Durchlichteinheit, doch selbst in so einem glücklichen Fall kennen dann die üblichen Scan-Programme wieder nur wenige Negativsorten.

Zum Glück bereitet ImageMagick das Umwandeln von Negativen kein Problem. Es verfügt für diesen Zweck die Funktion -negate. Allerdings haben Farbnegative aus technischen Gründen eine orangene Farbmaske, weshalb ein einfaches Anwenden der Option nicht zum gewünschten Ergebnis führt (Abbildung 1).

Abbildung 1: Filmnegative haben aus technischen Gründen eine orangene Maske (links). Das Umwandeln mit der Option -negate führt deshalb zu einem starken Farbstich (rechts).

Das ImageMagick-Programm muss also vor dem Invertieren die Maske herausrechnen. Dazu benötigen Sie zuerst den genauen Farbwert der Maske. Dies geht am einfachsten mit Gimp. Dazu laden Sie ein leeres Negativ (zum Beispiel vom Anfang des Films) oder schneiden einen Steg zwischen zwei Bildern aus und scannen diesen. Die Histogramm-Ansicht zeigt dann für jeden Kanal den durchschnittlichen Farbwert (Abbildung 2). Alternativ erledigen Sie diese Aufgabe mit ImageMagick:

$ identify -verbose steg.tif | grep -iE -A 4 "Red|Green|Blue"
Abbildung 2: Die Werte für die Durchschnittswerte der Farben bestimmen Sie anhand des Histogramms in Gimp.

Dieser Schritt ist für jeden Filmtyp nur einmalig notwendig. Anschließend kommt das Programm aus Listing 2 zum Einsatz. Zeile 18 lädt die Eingabedatei. Zeile 19 klont das eingelesene Bild, setzt die Füllfarbe über die Option -fill und färbt den Klon mit der Funktion -colorize zu 100 Prozent ein. Die Klammern bewirken, dass das Programm nur den Klon koloriert, nicht etwa das Original. Die Backslashes vor den Klammern verhindern, dass die Bash die Klammern interpretiert und so den Ablauf ändert. Anschließend invertiert ImageMagick die Maske. Damit haben Sie jetzt das Original und eine gleichgroße Maske im Bildspeicher von ImageMagick.

Listing 2

#!/bin/bash
inFile="$1"     # Eingabedatei
outFile="$2"    # Ausgabedatei
nr="${3:-0}"    # Nummer der Umwandlungsmethode (optional, default: 0)
method0="-noop"
method1="-equalize"
method2="-colorspace HSL -channel lightness -equalize -colorspace RGB"
method3="-normalize"
method4="-channel all -normalize +channel -normalize"
methodName="method$nr"
methodCmds="${!methodName}"  # Inhalt der Variable methodName
maskColor="rgb(188,126,101)"
convert "$inFile" \
  \( -clone 0 -fill "$maskColor" -colorize 100% -negate \) \
  -compose plus -composite \
  -negate \
  $methodCmds \
  "$outFile"

Die Zeile 20 überlagert jetzt die invertierte Maske mit dem Original und zieht sie somit ab. Dabei ist -compose wieder eine Option, und -composite die eigentliche Funktion. Die Optionen dürften auch am Anfang der Kommandozeile stehen, aber direkt vor der dazugehörigen Funktion erleichtern sie das Verständnis des Programms. Letztendlich wandelt das Programm in Zeile 21 dann die Daten in ein Positiv um.

Effizienter (aber erst einmal weniger verständlich) wäre es, das Bild direkt mittels -compose minus umzuwandeln, anstatt sowohl Maske als auch Überlagerung zu invertieren. Das Ergebnis der Operationen ist in jedem Fall etwas flau. Um es zu optimieren, stehen verschiedene Möglichkeiten zur Wahl: Das Skript aus Listing 2 nimmt einen optionalen Parameter entgegen, der die Umwandlungsmethode (Zeilen 7 bis 11) auswählt.

Jede der Methoden führt zu einem anderen Ergebnis (Abbildung 3), einen klaren Gewinner gibt es nicht. Wer das Ergebnis fein abstimmen will, nutzt Gimp für ein Beispielbild und dann die Technik des nächsten Abschnitts, um das Ergebnis auf alle ähnlichen Bilder zu übertragen.

Abbildung 3: Vergleich alternativer Algorithmen zum Optimieren des Bild nach dem Umwandeln.

Im Duett

Während ImageMagick beim automatische Konvertieren vieler Dateien seine Stärken ausspielt, glänzt Gimp beim individuellen Bearbeiten von Bildern. Bei Bedarf verbinden Sie das Beste aus beiden Welten: Zuerst bearbeiten Sie das Bild innerhalb von Gimp nach allen Regeln der Kunst.

Wollen Sie das Ergebnis auf viele Bilder übertragen, gilt es sich auf solche Werkzeuge zu beschränken, die lediglich Tonwerte ändern und nicht etwa strukturelle Änderungen vornehmen. Tabu sind also Stempel zum Klonen, Modifikationen der Perspektive oder Schärfen. Alle diese Operationen müssen Sie individuell auf das Bild abstimmen, zum Übertragen eignen sie sich nicht.

Wichtig beim gesamten Vorgehen: Notieren Sie penibel jeden Schritt. Bei manchen Tools, wie etwa dem Kurvenwerkzeug, speichert Gimp die Kurven inzwischen mit Zeitstempel automatisch. Als Nächstes erzeugen Sie ein so genanntes CLUT-Bild. Dafür bietet sich ein verlustfreies Format wie PNG oder TIF an:

$ convert hald:8 hald-clut.png

Das CLUT-Bild bearbeiten Sie anschließend genauso in Gimp wie das Beispielbild (Abbildung 4). Technisch gesehen enthält jedes Pixel des CLUT-Bildes einen Farbwert aus der Farbtabelle des Systems. Das Bearbeiten mit Gimp verändert die Werte, und per ImageMagick übertragen Sie jetzt diese Änderungen auf andere Bilder:

$ convert Eingabedatei hald-clut.png -hald-clut Ausgabedatei
Abbildung 4: Eine Color-Lookup-Tabelle auf dem Testsystem als Bild.

Mehrere Bilder setzen Sie automatisch mit der aus Listing 1 bekannten Methode (-set filename:f ...) um.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Sicherheitslücke in ImageMagick
    Die Bildbearbeitungssoftware ImageMagick liegt nicht nur vielen Linux-Distributionen bei, sie kommt auch auf Webservern zum Einsatz. Jetzt wurde eine dramatische Sicherheitslücke entdeckt. Ein Update von ImageMagick steht jedoch noch aus.
  • Bildbearbeitung mit ImageMagick
    Wer nicht 1000 Urlaubsbilder von Hand skalieren, normieren, beschneiden oder mit Wasserzeichen versehen möchte, für den führt kein Weg an der Werkzeugsammlung ImageMagick vorbei.
  • Zügiger Wechsel
    Manchmal muss man einen ganzen Schwung Bilder am Stück konvertieren. Hier macht ExactImage dem traditionellen ImageMagick Konkurrenz.
  • Grafiken schnell passend gemacht
    Sei es für die Verwendung innerhalb von Web-Seiten oder andere Zwecke: Häufig müssen Grafiken von einem Format in ein anderes konvertiert und dabei noch in Größe und Qualität verändert werden. Mit convertaus dem ImageMagick-Paket machen Sie das schnell auf der Kommandozeile.
  • Am laufenden Band
    Kommandozeilenprogramme zur Bildbearbeitung punkten gegenüber den Tools mit grafischer Oberfläche durch einen entscheidenden Vorteil: Sie bieten vor allem beim Bearbeiten mehrerer Bilder deutlich mehr Flexibilität.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 1 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...