CMS-Workflow
Aus archium.org
Inhaltsverzeichnis
- 1 Ein einfacher CMS-Workflow mit IT8-Calibration Targets
- 2 Software & Ausrüstung
- 3 Vorgehensweise beim Farbmanagement
- 4 Muster-Script für einen Batch-Job mit ArgyllCMS
- 5 Ausführung
- 6 Das Ergebnis nochmal im direkten Vergleich
Ein einfacher CMS-Workflow mit IT8-Calibration Targets
Was sind ICC-Profile:
- Zunächst ist es wichtig zu verstehen, daß ein digitales Bild keine Farbe hat, sondern nur Zahlen als Stellvertreter für Farbwerte. Und einzig die Interpretation der Darstellungsgeräte entscheidet später über die vom menschlichen Auge wahrgenommene Wirkung. Zu den Darstellungsgeräten ist nicht nur ein (kalibrierbarer) Monitor zu zählen, sondern auch die Grafiksoftware, der Einfluß des Betriebssystems und mehr.
- Ein einer Bilddatei beigefügtes ("appliziertes") ICC-Profil verändert das Bild nicht sondern gibt lediglich Auskunft darüber, wie die Farben zu interpretieren sind.
- Es gibt standardisierte Farbräume (z.B. sRGB, eciRGB, AdobeRGB1998 uva.), für die es auch entsprechend standardisierte ICC-Profile gibt.
- Wir haben in Grafikprogrammen nun die Möglichkeit, ein ICC-Profil anzuwenden. In diesem Fall wird die gegenwärtige Farbwirkung eines Bildes (inklusive der Wirkungen das applizierten ICC-Profils) auf einen Zielfarbraum umgerechnet und dieses Bild wird dann auch verändert! (Danach ist das vormals applizierte Farbprofil verschwunden und in der Regel durch das Farbprofil des Zielfarbraums ersetzt worden.)
- Die Berechnung einer Farbumwandlung zwischen zwei Farbräumen folgt dem s.g. "Rendering Intent", einer Vorgabe für den Umgang mit Farben, die im kleineren oder verschobenen Zielfarbraum entweder nicht dargestellt werden können, oder auf einen größeren Farbraum ausgebreitet werden könnten. Nachfolgend wird der perceptuative/wahrnehmungsgetreue Rendering Intent verwendet.
- Nachfolgend wird ein eigenes ICC-Profil generiert und zunächst appliziert. Ohne anschließende Umwandlung in einen standardisierten Farbraum darf das eigene ICC-Profil von der Bilddatei nicht getrennt werden, sonst werden die Farben verfälscht.
Software & Ausrüstung
Hier im Beispiel benötigt
Farbmanagement
- Das Argyll Color Management System steht unter der GNU-Lizenz und macht die überteuerten proprietären CMS-Tools überflüssig.
Farbreferenz-Tafeln
- Die IT8-Calibration Targets von Wolf Faust haben nicht nur einen fairen Preis, sie sind auch richtig gut und in sehr vielen Größen zu haben. Selbst Sonderformate kann er herstellen!
Bildbearbeitung
- Es gibt kaum einen Bildbearbeitungsschritt, der nicht mit ImageMagick durchgeführt werden könnte.
Desweiteren sehr praktisch
Rohdatenverarbeitung
- RawTherapee macht LightRoom und andere Platzhirsche eigentlich überflüssig. Es beherrscht u.v.a. Farbmanagement und auch Flatfield-Korrekturen (Entfernung von Beleuchtungsschwächen und Schatten durch Farbdivision mit einem rein weißen/grauen Referenzbild). Ein phantastisches Werkzeug!
Bildschirmkalibrierung (erfordert zusätzliche Hardware
- DispCAL (früher dispcalGUI) basiert auf ArgyllCMS und hat einen ähnlich großen Leistungsumfang
Metadatenbearbeitung im Bild
- Exiftool liest und schreibt jedes Dateiformat ohne die Bilddaten zu verändern, auch bei JPEG.
Vorgehensweise beim Farbmanagement
Referenzbild, soll
Das Referenzbild wird unter identischen Einstellungen und Lichtverhältnissen gemeinsam mit den übrigen Vorlagen digitalisiert ...
Referenzbild, ist
... und sieht dann sehr wahrscheinlich ein kleines bißchen anders aus, als im Original.
Farbkorrektur mit ArgyllCMS
ArgyllCMS erkennt die Abweichung und errechnet mit Hilfe der Referenzwerte ein ICC-Profil zur Korrektur der Farbwerte.
Korrektur durch Applizieren des eigenen ICC-Profils
Durch das Applizieren des eigenen ICC-Profils kann immerhin die Farbwirkung (aber nicht die identische Farbe!) ziemlich gut rekonstruiert werden.
Wichtig!
- Das eigene ICC-Profil wird nun auf alle Bilder appliziert, die mit dieser Kameraeinstellung digitalisiert wurden. Ideal ist es, diesen Schritt bereits an den Kamerarohdaten zu vollziehen.
Muster-Script für einen Batch-Job mit ArgyllCMS
- Erzeugt werden zwei verschiedene ICC-Profile mit' und ohne Ausrichtung des Refenzbildes und des damit erzeugten Farbprofils am Weißpunkt.
#!/bin/bash
export LANG="en_EN.UTF-8"
scn=$1 # IT8-Bilddatei ohne Extension (.tif)
ref=$2 # Pfad zu IT8-Text-Referenz
cht='/usr/share/argyllcms/ref/it8.cht' # Auch andere Test-Patterns sind möglich
dgi="$scn.diag" # Wie soll die Diagnose-Datei heißen?
echo "Schritt 1: Messe TIFF-Datei aus"
argyll-scanin -v -dipo -a -O "$scn".measurement.ti3 $scn."tif" $cht $ref $dgi."tif"
# Erzeuge eine Kopie des augemessenen Bildes für die Weiterverarbeitung mit und ohne Weißpunktkorrektur
cp "$scn".measurement.ti3 "$scn".measurement_WhiteBlackPointCorrection.ti3
echo "cp "$scn".measurement.ti3 "$scn".measurement_WhiteBlackPointCorrection.ti3"
echo -e "\nStep 2: Calculate ICC-profile"
# Set up profile metadata
mnf='Universität Stuttgart, DH-Ringvorlesung'
mdl="Generated at $(date)"
dsc='Beispielhafte Farbkorrektur'
cpr='© usw.'
# Experimentiere mit diversen Einstellungen! Siehe "argyll-colprof --help"
# Using -ax gave lower dE in my experiments, but -al (the default) is also worth trying. If a small profile is needed,
# -qm seems to give only slightly higher dE values than -qh.
# opt='-ax -bn -nc -qh -U 1.15'
# -q l[ow] m[edium] h[igh] u[ltra]
# opt='-ax -bn -nc -qh'
opt='-aX -bn -qu' #-am -nc -U1.15
# Erzeuge das Profil ohne Weißpunktkorrektur
argyll-colprof -v -A"$mnf" -M"$mdl" -D"$dsc" -C"$cpr" $opt -O "$scn".profile.icc "$scn".measurement
# Erzeuge das Profil mit Weißpunktkorrektur
argyll-colprof -R -v -A"$mnf" -M"$mdl" -D"$dsc" -C"$cpr" $opt -O "$scn".profile_WhiteBlackPointCorrection.icc "$scn".measurement_WhiteBlackPointCorrection
# Experimentiere auch mit Skalierung des Weißpunktes. Z.B. um eine Bild dunkler oder heller zu machen.
#argyll-colprof -U 0.97 -R -v -A"$mnf" -M"$mdl" -D"$dsc" -C"$cpr" $opt -O "$scn".profile_WhiteBlackPointCorrection_ScaledDarker.icc "$scn".measurement_WhiteBlackPointCorrection_ScaledDarker
#argyll-colprof -U 1.03 -R -v -A"$mnf" -M"$mdl" -D"$dsc" -C"$cpr" $opt -O "$scn".profile_WhiteBlackPointCorrection_ScaledLighter.icc "$scn".measurement_WhiteBlackPointCorrection_ScaledLighter
echo -e "\nStep 3: Überprüfe die Abweichung des generierten ICC-profiles von den Meßwerten"
# Siehe "argyll-profcheck --help"
argyll-profcheck -c -w -e "$scn".measurement.ti3 "$scn".profile.icc
argyll-profcheck -c -w -e "$scn".measurement_WhiteBlackPointCorrection.ti3 "$scn".profile_WhiteBlackPointCorrection.icc
#argyll-profcheck -c -w -e "$scn".measurement_WhiteBlackPointCorrection_ScaledDarker.ti3 "$scn".profile_WhiteBlackPointCorrection_ScaledDarker.icc
#argyll-profcheck -c -w -e "$scn".measurement_WhiteBlackPointCorrection_ScaledLighter.ti3 "$scn".profile_WhiteBlackPointCorrection_ScaledLighter.icc
echo -e "\nStep 4: Erzeuge .gam und .html-files zur visuellen Kontrolle des Farbraums im Browser"
# Siehe "argyll-iccgamut --help" und "argyll-viewgam --help"
argyll-iccgamut -w "$scn".profile.icc
argyll-iccgamut -w "$scn".profile_WhiteBlackPointCorrection.icc
#argyll-iccgamut -w "$scn".profile_WhiteBlackPointCorrection_ScaledDarker.icc
#argyll-iccgamut -w "$scn".profile_WhiteBlackPointCorrection_ScaledLighter.icc
argyll-viewgam "$scn".profile.gam "$scn".profile.x3d.html
argyll-viewgam "$scn".profile_WhiteBlackPointCorrection.gam "$scn".profile_WhiteBlackPointCorrection.x3d.html
Ausführung
Beachte
- Pfade bitte anpassen!'
- Alle Beispiele gelten für Linux, die wesentlichen Werkzeuge existieren aber auch für Windows.
Den oben vorbereiteten ArgylCMS Batch-Job starten
$ it8_complete.sh it8-R120804 /usr/share/color/IT8-Referenzen/WolfFaust/R120804.txt
Das eigene ICC-Profil applizieren (mit ImageMagick)
Einzelne Datei
$ convert MEINBILD.tif -strip -profile /path/to/iccprofile/it8-R120804.profile_WhiteBlackPointCorrection.icc MEINBILD_sRGB.tif
Mehrere Dateien (Beispiel im Tiff-Format)
$ find -iname "*.tif" -exec convert {} -strip -profile /path/to/iccprofile/it8-R120804.profile_WhiteBlackPointCorrection.icc {}.tif \;
Das korrigierte Bild in einen standardisierten Zielfarbraum umwandeln (mit ImageMagick)
Einzelne Datei
$ convert MEINBILD.tif -profile /usr/share/color/icc/OpenICC/sRGB.icc -intent perceptual MEINBILD_sRGB.tif
Mehrere Dateien (Beispiel im Tiff-Format)
$ find -iname "*.tif" -exec convert {} -profile /usr/share/color/icc/OpenICC/sRGB.icc -intent perceptual {}_sRGB.tif \;
$ mmv "*.tif_sRGB.tif" "#1_sRGB.tif"