Kalibrierung und Profilierung
Diese Beschreibung wurde mit folgenden Distributionen getestet: |
OpenSuse 11.2 (32Bit) mit KDE 4.4 |
Zu einem funktionierenden Farbmanagement gehört das Profilieren seines Monitors. Wie das Erstellen eines solchen Monitor-Profils in Linux funktioniert, das ist hier hier erläutert, und zwar speziell für OpenSuse.
Inhaltsverzeichnis
- 1 Einführung
- 2 Einleitung
- 3 Grundlagen des Farbmanagements
- 4 Herunterladen und Installieren von ArgyllCMS
- 5 Installation des Farbmessgerätes mit einer aktuellen OpenSuse-Version
- 6 Installation des Farbmessgerätes mit einer älteren OpenSuse-Version
- 7 Voreinstellung des Monitors
- 8 Kalibrieren und Profilieren
- 9 Autostart
- 10 Das Ergebnis
- 11 Kalibrierung oder Profilierung
- 12 Und was ist mit den Raw-Bildern meiner Kamera?
- 13 dispcalGUI
- 14 Firefox und Farbmanagement
- 15 Links
Einführung
Nehmt mal ein Bild aus eurer digitalen Spiegelreflexkamera und schaut es euch auf drei verschiedenen Bildschirmen an. Ihr werden denken, drei unterschiedliche Bearbeitungen des gleichen Fotos vor euch zu haben. Da kommt Freude auf!
Ich kann mir denken, daß sich ein ähnliches Hochgefühl einstellt, wenn ihr in einen Grossmarkt fahrt, um einen neuen Fernseher zu kaufen. 1000 Bildschirme, überall das gleiche verrauschte Programm, und auf jedem der Geräte sieht das Bild anders aus. Befriedigend...
Wir aber, als lernfreudige Benutzer von Linux, sind in der Lage, gegenzusteuern, wenigstens bei unserer DSLR. Wir können dafür sorgen, daß die Fotos auf Monitor und Drucker annähernd genauso aussehen, wie wir sie durch den Sucher der Kamera gesehen haben.
Das Zauberwort hierfür heißt Farbmanagement!
"Tja, wo ist da nun das Problem?", werdet ihr fragen. "Da gibt es doch Farbmessgeräte, Colorimeter oder so ähnlich heisen die Dinger. Installieren, Programm starten und fertig!"
Und ich, ich werde antworten, demütig, fast resignierend:
"Seelig sind die Anhänger derer aus Redmond, denn mit ihnen sind die Hardware-Fabrikanten. Seelig sind die, die von den Herstellern überschüttet werden mit Treibern für ihre Geräte!"
Und ich werde hinzufügen: "Ja, ich bin einer von denen auf der anderen Seite, denn bei mir im Computer arbeitet Linux. Ich gebe es zu! Ja, ich habe gefehlt, als ich die Windows-Welt verlassen habe. Aber lasst euch eines sagen, ich habe es noch keine einzige Minute bereut, diesen Schritt getan zu haben!"
Und ihr! Ihr werdet mich ansehen, vorsichtig und etwas ängstlich vielleicht, ob dieses Verrückten, der da vor euch steht. Und ich werde euren Blicken standhalten. Denn ich weiss, obwohl ich Linux auf der Festplatte habe, kann ich trotzdem Farbmanagement benutzen
Einleitung
Voraussetzungen
Bei der Erstellung dieses Artikels hat folgende Hard- bzw. Software bei mir ihren Dienst verrichtet:
- Betriebssystem: OpenSuse 11.2 bzw. 11.3 mit KDE 4
- Grafikkarte: nVidia Geforce 6600GT
- Bildschirm: BenQ FP937s
- Farbmessgerät: Gretag-Macbeth Huey
- Software für's Kalibrieren und Profilieren: ArgyllCMS 1.3.0
Ziel
Ich möchte eine speziell auf meinen Monitor zugeschnittene Profildatei (ICC-Datei) haben, die es mir ermöglicht, sinnvoll Farbmanagement zu betreiben. Und bei dieser Gelegenheit möchte ich auch gleich den Monitor kalibrieren.
Geplantes Vorgehen
- Software herunterladen und installieren
- Colorimeter installieren
- Monitor kalibrieren
- Ein ICC-Profil erstellen
- ICC-Profil ins Farbmanagement einbinden
Etwas genauer, bitteschön!
Also, wenn ihr es unbedingt so wollt, dann sollt ihr ihn bekommen, einen genaueren Überblick über mein Vorhaben:
Ich möchte, daß das Bild auf meinem Monitor möglichst farbgeteu dargestellt wird. Und diese Farbtreue soll sich nicht allein auf meinen Monitor beschränken, sondern auch auf auf die Fotos, die ich bei einem Belichter entwickeln lassen will.
Das mit dem Belichter ist einfach. Da brauche ich mir nur eine Firma raussuchen, die Farbmanagement anwendet. Das macht allerdings nur dann so richtig Sinn, wenn auch ich für meinen Workflow der Bildaufnahme und -bearbeitung dieses Farbmanagement einsetze.
Dazu benötige ich aber ein Farbmessgerät, mit dem ich den Bildschirm ausmessen und profilieren kann. Und ich benötige eine Software, mit der ich ein solches Bildschirmprofil erstellen kann. Und es darf auch nicht vergessen werden, daß für mein Bildbearbeitungsprogramm Farbmanagement kein Fremdwort sein darf. Und zu guter Letzt muß das Ganze natürlich unter Linux OpenSuse funktionieren.
Grundlagen des Farbmanagements
Bevor wir das Vorhaben in Angriff nehmen, sollten wir erst einmal ein paar Grundbegriffe klären.
Farben
Was Farben sind, brauche ich wohl niemandem zu erklären. Denn Farben sehen wir jeden Tag. Die technische und mathematische Seite braucht uns nicht zu interessieren. Wir sollten nur wissen, was Farbmischung ist. Und wir sollten wissen, daß es unterschiedliche Arten der Mischung von Farben gibt.
Farbmodelle
Es gibt eine ganze Anzahl von Modellen, die Farben beschreiben. Greifen wir uns Zwei davon heraus: RGB und CMYK.
RGB
RGB ist ein additives Farbmodell der Lichtmischung. Durch die Mischung der drei Grundfarben Rot, Grün und Blau kann (fast) jede andere Farbe hergestellt werden.
Dieses Prinzip wird bei der Bildröhre eines Farbfernsehgerätes angewandt und beim LCD-Monitor.
Stellt man bei den drei Lichtstrahlen gleiche Helligkeit ein und überlagert sie, dann kommt Grau raus. Dreht man die Helligskeitsregler alle auf Rechtsanschag, also auf Maximum, ist das Ergebnis die Farbe Weiß. Schwarz ist das Fehlen jeglichen Lichtes.
CMYK
CMYK wird für den Druck verwendet. Hier sind es keine Lichtfarben, die gemischt werden, sondern Körperfarben.
Aus den Grundfarben Cyan, Magenta und Yellow (Tschuldigung, Gelb wollte ich sagen) werden die anderen Farben erzeugt.
Die Grundfarben, in gleichem Verhältnis gemischt, ergeben Schwarz oder besser sollten es ergeben. Da es keine idealen, voll gesättigten Körperfarben gibt, hat man bei diesem Modell Schwarz als vierte Farbe dazugenommen. Weiß ist gar keine Farbe auf unserem Blatt Papier.
Könnt ihr euch noch an die Kindheit erinnern? Den Malkasten mit den Wasserfarben haben wir über alles geliebt. Wie haben wir oft ausgesehen, nach unseren Malaktionen. Die Klamotten waren voller Farbflecken, das Gesicht verschmiert, und erst die Tischdecke...
Das, was wir damals trieben, liebe Freunde der gepflegten Abendunterhaltung, war substraktive Farbmischung in Vollendung!
Farbräume
Stellen wir uns mal vor, wieviele Farben es eigentlich gibt. Und dann nehmen wir uns vor, diese Farben in einer Tabelle aufzuschreiben. Na ja, viel Spass kann ich da nur sagen. Die Anzahl der Farben geht nämlich gegen unendlich. Da sitzt man dann schon ein, zwei Tage vor seiner Tastatur, um die Tabelle fertig zu bekommen...
Wenn's so nicht geht, dann müssen wir halt malen. Und zwar ein schönes Diagramm...
CIELab
Nehmen wir also ein Blatt Papier und pinseln ein Koordinatenkreuz drauf. Die eine Achse wird unsere rot-grün-Achse. Die nennen wir a. Die andere Achse bekommt den Namen b und ist für gelb und blau zuständig.
Mit diesem Diagramm werden wir in der Lage sein, alle Farben, die es gibt, grafisch darzustellen.
Fehlt noch die Helligkeit. Dafür stellen wir eine dritte Achse senkrecht auf das Blatt Papier. Je höher, um so heller die jeweilige Farbe. Diese Achse nennen wir L.
Das ein lustiges Diagramm geworden. und auch noch dreidimensional! Aber keine Panik! Wir brauchen uns das alles nicht so genau zu merken. Wir müssen nur wissen, daß es es sowas gibt, so ein Farbdiagramm.
Jede denkbare Farbe befindet sich irgendwo im dreidimensionalen Raum dieses 3D-Diagrammes. Man spricht deshalb von Farbraum. Und das, was wir gerade konstruiert haben, ist ein ziemlicher großer Farbraum, denn es ist ja alles drin, was es gibt. Sein Name ist CIELab-Farbraum (erkennt ihr das Lab unserer Achsen?). Dieser Farbraum wird auch als geräteunabhängiger Farbraum bezeichtet. An seiner Erfindung waren nur Theorie und etwas Mathematik beteiligt. Irgendwelche Einschränkungen von Ein- und Ausgabegeräten oder von Anzeigegeräten blieben außen vor.
AdobeRGB
Es gibt noch andere Farbräume. Einige davon können wir uns als Teilmenge des CIELab-Farbraums vorstellen. In diesen "Teilmengen-Farbräumen" sind nicht alle denkbaren Farben enthalten (ist auch unnötig, da es manche Schattierungen bestimmter Farben in der Natur sowieso nur selten gibt). Und jeder dieser Farbräume dient einem bestimmten Zweck.
Ein noch verhältnissmäßig großer vordefinierter Farbraum ist AdobeRGB. Er wurde entwickelt für den Offsetdruck, um hier alle notwendigen Farben verarbeiten zu können.
sRGB
Etwas kleiner ist der sRGB-Farbraum. Er ist aber immer noch groß genug, um auf unserem Monitor schöne Fotos ansehen zu können. Dieser Farbraum ist fürs Internet gedacht und für das Anzeigegerät Monitor.
Arbeitsfarbraum
Der Farbraum, in dem wir uns bewegen wollen mit der Bildbearbeitung wird Arbeitsfarbraum genannt.
Prinzip
Diese Sache mit den Farbräumen schauen wir uns nun noch etwas genauer an:
So ein RGB-Farbraum hat die Angewohnheit, daß eine Farbe durch die drei Grundfarben Rot Grün und Blau definiert ist. Das Mischungsverhältnis dieser Grundfarben ergibt den Farbton, den wir sehen.
Jede dieser drei Grundfarben kann dunkler oder heller sein. Dafür stehen uns pro Farbe 8 Bit zur Verfügung. 8 Bit bedeutet 2^8 Abstufungen, also 256 unterschiedliche Helligkeitswerte. Das bedeutet: Drei Farben mit je 256 Abstufungen, sind 256 x 256 x 256 verschiedene Farbtöne, die dargestellt werden können. Wenn ich meine mathematischen Restkenntnissee hervorkrame (bzw. den Taschenrechner verwende), denn komme ich auf ungefähr 16,7 Millionen Farbabstufungen, die mit dieser 24-Bit Farbtiefe angezeigt werden können. Das nennt sich in der Computertechnik True Color.
Wir haben vorhin sRGB bzw. AdobeRGB erwähnt. Diese beiden Farbräume haben jeweils eine Farbtiefe von 24 Bit, also 8 Bit pro Grundfarbe.
AdobeRGB wurde ersonnen, damit alle beim Offsetdruck machbaren Farben auch tatsächlich aufs Papier kommen können. Die Farbtiefe beträgt, wie bei sRGB, 24Bit, also 16,7 Millionen darstellbare Farben. AdobeRGB hat aber einen größeren Farbraum (Gammut) als sRGB. Das darstellbare Farbspektrum ist größer. Das geht allerdings zu Lasten der Farbabstufungen, die dann nicht mehr ganz so fein sein können, da wir ja auf die 24 Bit beschränkt bleiben.
Nicht ganz einfach zu verstehen, oder? Also, noch ein Beispiel:
Ein schönes sattes Grün in RGB bedeutet in Zahlen ausgedrückt: 0 256 0. Also 0 Helligkeit für Rot, ebenso ist Blau durch den Wert 0 nicht vorhanden. Grün dagegen powered mit seinem Maximalwert rein, also mit 256. Das Ergebnis ist, wie gesagt, ein schönes, sattes Grün, grüner geht nicht.
0 256 0 ist das intensivste Grün, das im sRBG-Farbraum daratellbar ist. Und 0 256 0 ist auch das intensivste Grün, das in AdobeRGB darstellbar ist. Nur, und jetzt wird es interessant, ist das Grün von AdobeRGB noch ein bißchen grüner als das von sRGB.
"Noch grüner, wenn der Grünwert doch sowieso schon auf Maximum steht. Das ist doch Unsinn! Und Weihnachten ist im August, oder?", so höre ich euch sagen. Und ich werde darauf antworten: "Ein großer Mann hat einmal etwas über die Relativität gesagt. Und ich sage jetzt auch: Relativität! Alles ist relativ, es kommt nur auf den Bezugspunkt an!"
Unser Bezugspunkt ist der geräteunabhängige CIELab-Farbraum.
Wir haben schon gehört, daß dieser Farbraum so ziemlich alle denkbaren Farben enthält. Unser schönes sattes Grün aus sRGB hat im CIELab-Farbraum noch jede Luft nach oben (erinnert mich irgendwie an unsere Fussballnationalmannschaft). Ob es sinnvoll ist, diese Luft auch auszunutzen, steht auf einem anderen Blatt.
ICC-Profile
Wenn es nur genial durchdachte und konstruierte Geräte gäbe, wäre das Leben einfach. Der Monitor hätte exakt das gleiche Verhalten wie der Monitor gegenüber oder wie der Drucker oder die Kamera oder der Belichter oder...
Freunde, ich habe eine eine schlechte Nachricht für euch: Dem ist nicht so!
Um diese Unvollkommenheit der Geräte in den Griff zu bekommen, wurden die Profile erfunden. Ein solches Profil ist gerätespezifisch. Es beschreibt genau das Verhalten des Geräts, für das es erstellt wurde. Und es gilt tatsächlich auch nur für dieses eine Gerät!
Grob gesagt, tut ein ICC-Profil folgendes:
Es sorgt dafür, daß Farben trotz der Unvollkommenheit der Geräte in hohem Maße wirklichkeitsgetreu angezeigt bzw. weiterverarbeitet werden. Dazu ist in dem Profil eine Tabelle enthalten, welche die Werte des gerade verwendeten Farbraums auf den CIELab-Farbraum abbildet.
Farbmanagement
Was also macht Farbmanagement:
Der Bezugspunkt ist der Referenzfarbraum CIELab.
Haben wir bei unserer Kamera sRGB eingestellt, so werden die Farben des Jpeg-Bildes entsprechend dem sRGB-Farbraum behandelt. Das heißt, Maximum in sRGB ist noch lange nicht Maximum in CIELab. Im ICC-Profil der Kamera ist diese Umrechnung festgehalten. Anders ausgedrückt: Durch das ICC-Profil der Kamera ist festgelegt, welcher Farbwert im sRGB der Kamera welchem Farbwert in CIELab entspricht.
Unser Monitor hat auch so ein Profil. Und dieses Profil werden wir nachher sogar noch selber erzeugen. Das ICC-Profil des Monitors sagt, welche Farbe unseres Monitors welchen Wert in CIELab hat.
Würden wir jetzt noch unseren Drucker hinzunehmen, dann würde dessen Profil aussagen, welche Druckfarbe welchen Wert in CIELab hat.
Und wenn wir ein Bild bei einem Bilderdienst bestellen wollen, so wäre es von Vorteil, wenn dieser auch Farbmanagement verwenden würde (was leider nur von sehr wenigen tatsächlich angeboten wird). Denn dann wäre da auch ein Profil vorhanden, welches auf den CIELab-Farbraum zurückgreifen könnte.
Also noch mal anders:
Farbmanagement bedeutet, daß im Hintergrund ein geräteunabhängiger Farbraum verwendet wird. Das merken wir nicht, denn er dient nur als Übersetzer. Die Farben der von uns verwendeten Geräte werden mit Hilfe ihrer ICC-Profile in diesen Farbraum übersetzt bzw. zurückübersetzt. Das Resultat ist, daß die Farben im Verarbeitungsprozess immer gleich bleiben.
Das gilt natürlich nur im Rahmen der technischen Möglichkeiten. Denn ein Schwarzweiß-Monitor wird sich mit der Darstellung einer Grünen Farbe etwas schwer tun, egal wie gut sein Profil ist...
Herunterladen und Installieren von ArgyllCMS
ArgyllCMS ist eine Sammlung von Kommandozeilentools, mit deren Hilfe man einen Monitor ausmessen, kalibrieren und profilieren kann. Und ArgyllCMS hat noch einen riesengroßen Vorteil: Es funktioniert unter Linux und kann mit vielen aktuellen Farbmessgeräten (Colorimetern) umgehen.
Methode 1: Sourcecode
Der Sourcecode kann von der Homepage von ArgyllCMS heruntergeladen werden und muss dann selbst kompiliert werden. Dazu sollte man aber sein Betriebssystem sehr gut kennen und auch wissen, wie das funktioniert mit dem kompilieren. Es ist keine Hexenkunst, setzt aber doch einiges an Vorkenntnis vorraus. Dafür bekommt man eine aktuelle, speziell auf sein System zugeschnittene Programmsammlung.
Diese Methode kann ich nur dem empfehlen, der weiss, was er tut. Wer neugierig ist, dem sei die Homepage von ArgyllCMS empfohlen. In den Installationsanweisungen für Linux gibt es hier weiterführende Informationen. Ist aber auf Englisch!
Methode 2: Fertiges RPM aus dem OpenSuse Build Service
Im OpenSuse Build Service stehen fertig kompilierte RPM-Pakete von ArgyllCMS zur Verfügung. Das entsprechende Repo (hier suchen: http://software.opensuse.org/ ) kann mit Yast eingebunden werden. Die Programmsammlung wird dann ganz normal mit dem Paketmanager installiert. Achtung, nicht die 1 Klick-Installation verwenden. Die funktioniert zwar auch, kann aber, wenn man nicht aufpasst, das System ganz schön durcheinander bringen.
Methode 3: bin-File
Das bin-File enthält in gepackter Form alle notwenigen Dateien, also die komplette Programmsammlung in der aktuellen Version. Sie muss nur noch entpackt werden. Die entpackten Dateien sind dann an geeigneter Stelle im System zu speichern. Spielen wir das mal durch:
- Download des gepackten bin-files ( In meinem Fall sind das die Linux x86 Executables in der 32Bit-Version ) von der Homepage von ArgyllCMS
- Das File ( Argyll_V1.3.0_linux_x86_bin.tgz ) wird dabei im Download-Ordner gespeichert ( bei mir ist das ~/Downloads )
- Rechtsklick auf das File
- Entpacken nach ~/Programme (Hier speichere ich Programme, die nicht aus Repositories stammen)
Damit habe ich das bin-File in den Ordner Programme in meinem Heimatverzeichnis entpackt. Dem entpackten Ordner gebe ich nun noch einen neuen Namen, nämlich ArgyllCMS (Den kann ich mir leichter merken).
In diesem Ordner ArgyllCMS befindet sich das Unterverzeichnis bin. Hier sind eine Menge Kommandozeilenprogramme zu finden, mit deren Hilfe das Kalibrieren und Profilieren zum Kinderspiel wird.
Installation des Farbmessgerätes mit einer aktuellen OpenSuse-Version
Das in diesem Abschnitt Beschriebene ist nur wichtig, wenn das Programm nach Methode 1 oder 3 installiert worden ist.
lsusb
Mein Colorimeter hat den schönen Namen Gretag-Macbeth Huey. Das ist ein Farbmessgerät mit USB-Anschluss. Öffnen wir nun eine Konsole und überprüfen, ob der Kernel das Gerät auch erkennt. Dazu tippen wir folgenden Befehl ein:
lsusb
Das Ergebnis könnte etwa so aussehen:
Bus 001 Device 010: ID 0971:2005 Gretag-Macbeth AG Bus 002 Device 002: ID 046d:c50e Logitech, Inc. MX-1000 Cordless Mouse Receiver Bus 003 Device 003: ID 046a:0021 Cherry GmbH
Das Colorimeter ist dieser Liste enthalten und wird demnach vom Kernel erkannt.
Für das weiteres Vorgehen sind zwei Begriffe wichtig, nämlich udev und sudo
udev
Udev ist ein Programm, mit dessen Hilfe das "Hotplugging" überwacht und geregelt wird. Mit Hotplugging ist gemeint, daß USB-Geräte vom System automatisch erkannt werden. Sie können im Betrieb ein- oder ausgestopselt werden, das Betriebssystem erkennt das. Das erfordert natürlich gewisse Regeln, die in den udev-rules verwaltet werden können. Für manche Geräte, auch wenn sie vom Kernel erkannt werden, sind dort noch keine Regeln abgelegt. Auch mein Colorimeter ist dort nicht zu finden. Das bedeutet, daß für das Gerät eine neue Regel angelegt werden muß (Ausnahme: Installation über RPM, da erfolgt das automatisch).
Klingt kompliziert, oder? So richtig nach Arbeit! Aber keine Angst. So schwierig ist es nun auch wieder nicht. Denn ArgyllCMS stellt eine solche Regel zur Verfügung, und zwar im Unterordner libusb.
sudo
Linux hat gewisse Sicherheitsmaßnahmen eingebaut. Eine davon ist, daß der User nur in seinem Heimatverzeichnis tun und lassen darf, was er will. Auf andere Verzeichnisse (Systemverzeichnisse, Heimatverzeichnisse anderer User hat er höchsten lesend Zugriff. Er kann dort aber keine Veränderungen durchführen. Und auch dieser Lesezugriff lässt sich vom Administrator durch entsprechende Rechtevergabe abschalten.
Möchte man also irgendwo anders als im Heimatverzeichnis etwas ändern, so sind root-Rechte notwendig. Diese lassen sich bei Eingaben über die Konsole durch Voranstellen des Befehls sudo erlangen. Man wird dann nach dem Administrator-Passwort gefragt.
Kopieren der udev-Regel in das Regelverzeichnis
Warum sind diese beiden eben erklärten Begriffe nun so wichtig? Nun ja, es ist so:
Das Verzeichnis für die Udev-Regeln befindet sich hier:
/etc/udev/rules.d
Da sich dieser Ordner nicht in unserem Heimatverzeichnis befindet, können wir auf ihn nur mit Administratorrechten verändernd zugreifen. Und diese Administratorrechte erhalten wir durch den Konsolenbefehl sudo.
Also, kopieren wir die Regel dorthin, wo sie hingehört.
sudo cp ~/Programme/ArgyllCMS/libusb/55-Argyll.rules /etc/udev/rules.d
- sudo: Der folgende Befeht hat Administratorrechte
- cp: Kopiere
- ~/Programme/ArgyllCMS/libusb1/55-Argyll.rules: die Regeldatei
- /etc/udev/rules.d: in den Regelordner
Damit das System die neue Regel für das USB-Gerät erkennt, müssen wir den Computer neu starten. Danach sollte das Colorimeter funktionsfähig installiert sein.
Installation des Farbmessgerätes mit einer älteren OpenSuse-Version
Das in diesem Abschnitt Beschriebene ist nur wichtig, wenn das Programm nach Methode 1 oder 3 installiert worden ist.
Bei älteren Distributionen kann es sein, daß nach dem Kopieren der Regel zusätzlich noch an der Rechtevergabe gespielt werden muß. Dazu überprüfen wir aber erst einmal diese Notwendigkeit. Stöpseln wir also das Colorimeter in eine USB-Buchse und öffnen eine Konsole. Hier geben wir folgenden Befehl ein:
~/Programme/ArgyllCMS/bin/dispcal -yl -r
Bei so einer Fehlermeldung müssen wir die Rechte anpassen:
XRandR 1.2 is faulty - falling back to older extensions dispcal: Error - icoms - set_ser_port: port number out of range!
Daß die XRandR faulty ist, ignorieren wir, hier und in allen anderen Beispielen, die noch folgen.
Gruppe plugdev erzeugen
Mit unserer udev-Regel wird das Colorimeter einer Benutzergruppe zugeordnet. Diese Griuppe ist mit Rechten ausgestattet ist, die es ihren Mitgliedern (also uns) erlauben, mit dem Colorimeter zu arbeiten. Aller Vorraussicht nach wird diese Gruppe auf dem Computer aber noch nicht vorhanden sein. Wir müssen sie deshalb erst explizit anlegen:
- Yast starten, Administrator-Passwort eingeben und die Benutzer und Gruppenverwaltung aufrufen.
- Den Reiter Gruppe drücken und auf hinzufügen gehen
- Bei Name der Gruppe eingeben: plugdev
- OK drücken
Damit existiert eine neue Benutzergruppe mit dem Namen plugdev auf unserem PC. Jetzt müssen wir nur noch Mitglied dieser Gruppe werden.
Gruppenzugehörigkeit
- Den Reiter Gruppe drücken und auf bearbeiten gehen
- Bei Mitglieder der Gruppe unseren User-Namen ankreuzen
- OK drücken
- Neustart
Voreinstellung des Monitors
Grundeinstellung
Ich gehe einmal davon aus, daß der Monitor, den wir kalibrieren wollen noch so eingestellt ist, wie wir ihn gekauft haben. Ist das nicht der Fall, dann sollten wir ihn auf seine Defaultwerte zurücksetzen.
Damit bekommen wir ein Bild mit wunderschön leuchtenden Farben. Hier zeigen sich zwei kleine Probleme:
1. Die Hinergrundbeleuchtung des Monitors ist ziemlich weit aufgedreht, das Bild damit brilliant, aber zu hell. 2. Die Farben stimmen nicht ganz.
Ich hab meinen Monitor mal ausgemessen und bin auf eine Helligkeit von mehr als 160 cd/qm gekommen. Damit kannst du fast gegen die Helligkeit einer explodierenden Supernova ankämpfen. Von der Supernova wirst du nicht blind werden, wohl aber von einem intensiveren Blick auf den Bildschirm.
Nun Ja, ich geb es zu, manchmal übertreib ich ein bißchen. Trotzdem sollten wir etwas mit der Helligkeit zurückgehen. Unsere Augen werden es uns danken.
Und das mit den Farben werden wir im Zuge der Kalibrierung auch in den Griff bekommen-
Messwerte des unkalibrierten Monitors
So bekommen wir die Messwerte raus raus:
dispcal -yl -R
ergibt
Uncalibrated response: Black level = 0.35 cd/m^2 White level = 167.59 cd/m^2 Aprox. gamma = 2.22 Contrast ratio = 476:1 White chromaticity coordinates 0.3284, 0.3515 White Correlated Color Temperature = 5670K, DE 2K to locus = 9.1 White Correlated Daylight Temperature = 5670K, DE 2K to locus = 5.4 White Visual Color Temperature = 5425K, DE 2K to locus = 8.8 White Visual Daylight Temperature = 5538K, DE 2K to locus = 5.2 Effective LUT entry depth seems to be 8 bits The instrument can be removed from the screen.
Die beiden Optionen von dispcal bedeuten dabei:
- -yl: Ich hab einen LCD-Bildschirm
- -R: Messung des unkalibrierten Monitors
Die Helligkeit
Die Helligkeit meines Monitors ist mit 167 cd/qm ziemlich intensiv eingestellt. Wenn es außen rum auch sehr hell ist, dann passt das. Unter normalen Bedingungen ist es allerdings zu viel. Das tut irgendwann den Augen weh.
Für die Bildbearbeitung (wenn das Ergebnis ausbelichtet oder gedruckt werden soll) wird in vielen Quellen eine Helligkeit zwischen 90 und 120 cd/qm empfohlen. Zudem muss eine definierte und immer gleichbleibende Raumbeleuchtung vorhanden sein. Durch Experimentieren habe ich eine für meine Bedürfnisse optimale Helligkeit von 115 cd/qm gewählt. Die stelle ich mit dem Helligkeitsregler des Monitors ein (zurück von 90 auf 50).
Die Helligkeit darf nun nicht mehr verändert werden. Sie muß auf dem eingestellten Wert bleiben, sonst ist die ganze nachfolgende Kalibrierung und Profilierung für die Katz.
Die Farbtemperatur
Auch hier gibt es Empfehlungen für einen profimäßigen Workflow. So sollte die Farbtemperatur für die Druckvorstufe 5000K betragen. Das Umgebungslicht sollte aber auch 5000K haben. Auch 6500K wird gerne als Farbtemperatur genannt.
Diese Beleuchtungsvoraussetzungen kann ich nicht bieten. Drum ist es egal, auf welchen Wert ich die Farbtemperatur einstelle. Na ja, ganz egal eigentlich doch nicht, denn Weiß sollte nicht unbedingt einen sichtbaren Farbstich haben. 5000K ist mir entschieden zu warm. Da wird mir das Bild zu rötlich. Wenn ich meinen Monitor auf seine Fabrikeinstellungen zurücksetze, dann erhalte ich etwa 5700K. Damit kann ich leben. Und diese native Farbtemperatur ist auch ganz gut für die Minimierung etwaiger ungewollter Seiteneffekte bei der Kalibrierung.
Gamma
Die Kalibrierung erfolgt bei ArgyllCMS standardmäßich mit einem Gamma von 2,4. Das können wir so lassen. Wenn wir wollen können wir aber auch ein Gamma von 2,2 wählen, indem wir bei "dispcal" die Option "-g 2.2" dazu nehmen.
Zur Beachtung
Während dieser und den nun folgenden Messungen sollten ein paar Kleinigkeiten beachtet werden:
- Helles Kunst- und auch Sonnenlicht vermeiden
- Monitor eine halbe Stunde warmlaufen lassen, das Colorimeter am besten auch.
- Bildschirmschoner abschalten
- Bildschirm vorher sauber machen und hinterher schadet's auch nicht
- Explodierende Supernovas vermeiden
Und noch was:
Sollten eigenartige Fehlermeldungen angezeigt werden, daß die XRANDR faulty sei, so können wir das getrost vergessen. Das ist für unsere Messungen ohne Belang. Die Meldung kommmt daher, daß proprietäre Grafiktreiber und XRANDR sich in der Regel nicht besonders lieb haben. Haben wir keine solche Meldung, so ist es wahrscheinlich, daß bei uns ein freier Grafiktreiber sein Werk tut.
Und diese komischen Meldungen, daß wir das Colorimeter vom Bildschirm entfernen können, ignorieren wir ebenfalls. Dieses Farbmessteil bleibt auf dem Schirm kleben, und zwar so lange, bis alle Messungen durch sind.
Kalibrieren und Profilieren
Das Kalibrierungsfile
Mit folgendem Befehl generieren wir das Kalibrierungsfile:
dispcal -yl -v -qh fp937s
Die Optionen bedeuten folgendes:
- -yl: LCD-Monitor
- -v: erzähle genauer, was du tust, während du arbeitest
- -g 2.2: Gamma = 2,2 (wenn ich´s denn so will)
- -qh: Wähle eine hohe Qualität (Dauert es es zu lange, dann genügt auch die mittlere Qualität mit -qm)
- fp937s: so heißt mein Monitor und so soll auch die Kalibrierungsdatei heißen
Nachdem wir die Erzeugung des Kalibrierungsfiles mit der Eingabetaste gestartet haben, erscheint ein Menü. Hier wählen wir den Punkt 7 aus:
Display type is LCD Target white = native whitepoint Target white brightness = native brightness Target black brightness = native brightness Target gamma = 2.4 Display adjustment menu: Press 1 .. 7 1) Black level (CRT: Offset/Brightness) 2) White point (Color temperature, R,G,B, Gain/Contrast) 3) White level (CRT: Gain/Contrast, LCD: Brightness/Backlight) 4) Black point (R,G,B, Offset/Brightness) 5) Check all 6) Measure and set ambient for viewing condition adjustment 7) Continue on to calibration 8) Exit Commencing device calibration
Hier ein kurzer Ausschnitt der Konsolenmeldungen während der Messung:
. . . Computing update to calibration curves... Doing iteration 4 with 96 sample points and repeat threshold of 0.400000 DE patch 96 of 96 Brightness error = -0.299317 cd/m^2 (is 99.700683, should be 100.000000) White point error = 0.357362 deltaE Maximum neutral error (@ 0.069836) = 0.737973 deltaE Average neutral error = 0.356115 deltaE Failed to meet target 0.400000 delta E, got worst case 0.479578 Number of measurements taken = 528 The instrument can be removed from the screen. Written calibration file 'fp937s.cal'
Generieren der Targets
Nun erstellen wir die Targets, an Hand derer der Monitor nacher profiliert wird. Standardmäßig werden mehr als 800 Patches angezeigt. Ist uns das zu viel, weil es zu lange dauert, dann können wir die Anzahl mit der Option "-f 256" zum Beispiel auf 256 reduzieren
targen -d3 -v fp937s
- -d3: RGB
- -v: Erzähl ein bißchen
- -f 256: 256 Patches
Das Ergebnis ist die Datei fp937s.ti1
Profilierung
Ausmessung des Bildschirms für das ICC-Profil:
dispread -yl -v -k fp937s.cal fp937s
- -yl: Monitortyp ist LCD
- -v: Gesprächig
- -k fp937s.cal: Quellfile
- fp937s: Ergebnis
Das Ergebnis ist die Datei fp937s.ti3
Erzeugen des ICC-Profils
Aus dem eben gemessenen wird nun die ICC-Profildatei erzeugt:
colprof -v -qh fp937s
- -v: Erzähl'
- -qh: Hohe Qualität
Installieren des ICC-Profils
dispwin -I fp937s.icc
Mit diesem Befehl wird das ICC-Profil als Default-Monitorprofil für den User gesetzt. Das Profil kann dann in diesem Ordner wiedergefunden werden.
~/.local/share/color/icc/devices/display
In diesem Profil ist auch die (vorhin mit dispcal erzeugte) Kalibrierungstabelle enthalten. Diese wird in die LUT der Grafikkarte geschrieben.
Autostart
Mit dem Befehl dispwin -I werden also unter anderem die Kalibrierungsdaten in die LUT der Grafikkarte geschrieben wurden. Dort sind sie nun, aber nur solange wir am System angemeldet sind. Schalten wir den Rechner aus bzw. melden uns ab, so verschwindet auch das Kalibrierungsfile aus dem LUT der Grafikkarte.
Dieses Problem läßt sich mit Hilfe des Autostartverzeichnisses von KDE beheben. Was in diesem Ordner steht, das wird beim Start von KDE automatisch ausgeführt. Also erstellen wir in diesem Verzeichnis eine Desktop-Datei, mit der dispwin -L ausgeführt wird:
- Systemeinstellungen aufrufen
- Erweitert - Autostart - Programm hinzufügen
- Eingeben: dispwin -L
- OK
Das war's. Nach einem Neustart des Rechners sitzen wir vor einem kalibrierten Monitor.
Das Ergebnis
Schauen wir uns nun noch an, ob unsere Bemühungen Erfolg hatten:
dispcal -yl -r
Mit diesem Befehl können wir uns die Werte des (nun) kalibrierten Monitors anzeigen lasssen.
Kalibrierung oder Profilierung
Hier nochmal der Unterschied zwischen Kalibrierung und Profilierung
Kalibrierung
Bei der Kalibrierung wird der Monitor mit Hilfe eines Farbmessgerätes ausgemessen und daraus eine Kalibrierungstabelle erstellt. Dazu werden verschiedene Farbtafeln angezeigt. Die Werte der angezeigten Farben werden mit Hilfe des Colorimeters gemessen und mit den Sollwerten verglichen. Daraus lassen sich die Umrechnungsfaktoren für jede Farbe bestimmen.
Die Tabelle wird in die LUT der Grafikkarte geschrieben. Dadurch wird die Anzeige des Monitors korrigiert. Von dieser Korrektur profitieren alle Programme, auch solche, die kein Farbmanagement benutzen.
Es sollte vielleicht noch erwähnt werden, daß bei der Kalibrierung die Farbtöne nicht verändert werden. Verändert bzw. festgelegt werden unter anderem Weiß- und Schwarzpunkt, Helligkeit und Gamma-Kurve.
Profilierung
Bei der Profilierung wird der Bildschirm wieder mit Hilfe von Farbtargets vermessen. Die Messwerte (im CIELab) werden in einem Profil gespeichert. Dieses Profil ist unser ICC-Profil.
Jedes am Farbmanagement beteiligte Gerät besitzt so ein ICC-Profil. Das Weiterreichen der Farben geschieht also über den geräteunabhängigen CIELab-Farbraum.
Und was ist mit den Raw-Bildern meiner Kamera?
Auch eine Kamera kann profiliert werden. Das macht allerdings nur für konstante Beleuchtungsverhältnisse Sinn, also zum Beispiel für Studioaufnahmen. Ändern sich die Lichtverhältnisse, dann stimmt das Profil nicht mehr und es müsste ein neues erstellt werden.
Eine Raw-Aufnahme bekommt in der Regel erst nach der Decodierung im Raw-Konverter einen Farbraum zugewiesen. Davor ist alles, wie der Name schon sagt, roh und profillos.
dispcalGUI
So, nachdem ich euch nun alle verwirrt habe mit wunderschönen Bash-Befehlen, zeige ich euch, wie das Ganze etwas einfacher zu handhaben ist. Denn für ArgyllCMS gibt es eine Bedienoberfläche und die werde ich euch im folgenden etwas näher bringen.
Installation
Im OpenSuse Build Service stehen fertig kompilierte RPM-Pakete von dispcalGUI zur Verfügung. Das entsprechende Repo (hier suchen: http://software.opensuse.org/ ) kann mit Yast eingebunden werden. Die Programmsammlung wird dann ganz normal mit dem Paketmanager installiert. Achtung, nicht die 1 Klick-Installation verwenden. Die funktioniert zwar auch, kann aber, wenn man nicht aufpasst, das System ganz schön durcheinander bringen.
Bedienung
- Colorimeter einstecken
- dispcalGUI aufrufen
- gewünschte Werte eingeben
- auf Kalibrieren und Profilieren drücken
- den Anweisungen auf dem Bildschirm folgen
- ein Bierchen trinken gehen
Installation des Profils
Am Ende der Profilierung wird gefragt, ob das Profil installiert werden soll.
Ich empfehle hier: ...Nein!
Der Grund liegt darin, daß der Profilloader von dispcalGUI in der Regel zwar funktioniert, in gewissen Ausnahmefällen aber Probleme hat. Ich habe mit dem Entwickler von dispcalGUI darüber diskutiert. Es scheint im Profilloader ein Fehler im Error-Handling mit Oyranos vorzuliegen. Ich gehe davon aus, daß dieser Fehler in einer der kommenden Versionen von dispcalGUI behoben sein wird.
Installieren wir das Profil also auf althergebrachte Weise, die oben in den Abschnitten "Installieren des ICC-Profils" und "Autostart" beschrieben wurde.
Wenn das Problem beseitigt ist, sag ich hier Bescheid.
Update
Das Problem ist behoben, wie der Entwickler mitteilt: "The erroneous behavior should be fixed in dispcalGUI 0.6.5.3". Damit erübrigt sich der Umweg über die Autostart-Datei von KDE. Also kann man nun ruhig mit "Ja" antworten, wenn man gefragt wird, ob das Profil installiert werden soll.
Settings
DispcalGui verwendet in seiner Default-Einstellung die Default-Werte von ArgllCMS. Damit wird ein funktionierendes ICC-Profil generiert.
Schaut man nun, neugierig wie man ist, in den Settings von dispcalGUI nach, dann wird man einige Auwahlmöglichkeiten erkennen, die ein noch hochwertigeres Profil erhoffen lassen. Eine dieser Einstellungen lautet "Photo". Und da wir ja mit Photos arbeiten, ist diese Einstellung auch ruckzuck ausgewählt.
Doch damit ist es nicht unwahrscheinlich, daß wir ein Problem bekommen. In dieser Einstellung (wie auch in der Einstellung für die Druckvorstufe) wird zusätzlich zu einem LUT-Profil ein Matrix-basierendes Profil erzeugt, bei dem Rot und Grün vertauscht sind. Die daraus resultierenden Bilder haben eine wirklich lustige Farbgebung: Gelb wird zu Grün, der Himmel wir violett: wirklich spassig...
Der Grund für diese swapped matrix ist in der Dokumentation von dispcalGui erläutert. Doch mal ehrlich, wer liest schon eine Dokumentation in allen Einzelheiten, noch dazu, wenn sie Englisch ist. Also erklär ich hier mal kurz, was Sache ist:
Ein LUT-basiertes Profil ist sehr hochwertig, aber nicht alle Andungen verwenden ein solches Profil. Darktable zum Beispiel arbeitet aus Performancegründen ausschließlich mit Matrix-basierten Profilen. Hat man nun sein ICC-Profil mit dispcalGUI in der Einstellung "Photo" getätigt, dann wird Darktable, da es ja mit dem LUT-Profil nicht umgehen kann, auf das Matrix-Profil zurückgreifen. Aber bei der Matrix sind die Farben vertauscht...
Diese vertauschten Farben sind deswegen vorgegeben worden, damit man sofort erkennen kann, wenn eine Anwendung kein LUT-Profil mag. Nur, es gibt nicht wenige Anwendungen, die nicht mit LUT wollen. Deshalb hat der Autor von dispcalGUI vor, die Settings in seiner GUI so anzupassen, daß hier keine Probleme mehr entstehen können.
Machen wir es wie immer: Wenn ich die Anpassung realisiert haben,dann gebe ich euch hier Bescheid.
Firefox und Farbmanagement
In den neueren Versionen des Browsers ist Farbmanagement serienmäßig eingesxchaltet. Ab Version 8 kann auch mit ICC V4 umgegangen werden, was allerdings explizit enabled werden muß. Dadurch kann der Browser dann mit matrix und lut-Profilen arbeiten.
Eingeschaltet wird das so:
In der Adresszeile eingeben: about:config Danach den Eintrag "gfx.color_management.enablev4" von false auf true ändern.
Firefox kann mit diesen Testbildern auf seine Farbmanagementfähigkeiten getestet werden:
Links
Homepage ArgyllCMS
Homepage dispcalGUI
OpenSuse-Repos