Rausch-Gift
Bilder unter Linux entrauschen
Imagemagick
Vor allem zur Stapelverarbeitung von Bildern eignet sich der Kommandozeilen-Werkzeugkasten Imagemagick bestens. Dessen Tool Convert verfügt über verschiedene Operatoren zum Entrauschen:
$ convert i.tif -despeckle o.tif $ convert i.tif -noise 3 o.tif $ convert i.tif -adaptive-blur 0x1 o.tif
Von den genannten Operatoren erweist sich adaptive-blur als völlig ungeeignet: Anders als in der Dokumentation beschrieben zeichnet er das Bild nicht weich, sondern schärft es. Der noise-Operator eignet sich eher zum Entfernen defekter Pixel. Mit despeckle dagegen erhalten Sie recht gute Resultate. In ein Skript verpackt, wenden Sie die Filter auf einfache Weise auf ganze Verzeichnisse an.
Auch Imagemagick erlaubt es, das Originalbild mit der entrauschten Variante zu mischen. Der Befehl
$ composite -blend 80% weich.tif original.tif ergebnis.tif
mischt 80 Prozent des weichgezeichneten mit 20 Prozent des originalen Bilds. Wollen Sie nur die dunkelsten 40 Prozent des Bilds entrauschen, dann müssen Sie tiefer in die Imagemagick-Zauberkiste greifen. Das Script aus Listing 1 erzeugt dafür einmal die entrauschte Version (Zeile 13), sowie zusätzlich aus dem Originalbild eine Graustufenversion als Maske (Zeilen 14 bis 18). Die Zeilen 15 und 16 reduzieren die Maske auf reines Schwarz-Weiß; die abschließende Negation sorgt dafür, dass die ursprünglich dunklen Stellen im Bild weiß, also durchlässig sind. Zuletzt legt die Zeile 19 die bearbeitete Version entsprechend maskiert auf das Original und gibt das Ergebnis in die Datei out.png aus. Die auskommentierte Zeile 20 sorgt mit etwas Bash-Voodoo dafür, dass die Ausgabedatei ähnlich heißt und im selben Verzeichnis wie die Originaldatei liegt.
#!/bin/bash
usage() {
echo "Gebrauch: $0 bild"
exit 1
}
image="${1}"
[ -z "$1" ] && usage
convert -monitor "$image" \
\( -clone 0 -despeckle \) \
\( -clone 0 -colorspace gray \
-black-threshold 40% \
-white-threshold 40% \
-negate \
\) \
-compose Over -composite "out.png"
# -compose Over -composite "${image%.*}-despeckle-mask.${image##*.}"
Ähnlich funktioniert das Skript im-edge, das Sie auf der Heft-DVD im Verzeichnis LinuxUser/entrauschen/ zusammen mit den anderen Skripten finden. Die hier erzeugte Maske schützt nur die Kanten (der -edge-Operator erzeugt eine Kantenmaske), damit mehr Schärfe des Bilds erhalten bleibt.
Wenn auch nicht ganz trivial zu bedienen, gibt Ihnen Imagemagick ein mächtiges Werkzeug an die Hand, um immer wiederkehrende Aufgaben skriptgesteuert zu erledigen. Auch das im Kasten "Techniken zum Entrauschen" erwähnte Lab-Verfahren beherrscht Imagemagick.
Ufraw
Das RAW-Konvertierungsprogramm Ufraw [3] erlaubt das Bildentrauschen per Wavelet-Algorithmus. Die Stärke steuern Sie über den Schieber Threshold (Abbildung 4). Das Entrauschen setzt sehr früh in der Umwandlung der Rohdaten an und lässt sich deswegen nicht direkt mit dem Wavelet-Plugin für Gimp vergleichen.
Insgesamt geht der Algorithmus sehr schonend zu Werk, weswegen Sie hohe Werte von 20 bis 50 für den Threshold durchaus vernünftig erscheinen. Allerdings erlaubt die GUI von Ufraw keine Skalierung des Bilds auf 100 Prozent, weshalb sich der Weichzeichnungseffekt erst nach erfolgtem Umwandeln bewerten lässt. Das Programm besitzt einen Batch-Modus, mit dem Sie ganze Bilderserien auf einfache Weise mit den selben Einstellungen bearbeiten.



