Gestion des couleurs, calibration d’écran et d’imprimante sous linux : Calibration de l’écran avec Argyll CMS

Créé le 15 janvier 2009. Dernière modification le 21 octobre 2009
 

Chapitre précédent : Gestion des couleurs et mise en oeuvre avec Gimp

Argyll CMS est un ensemble d’utilitaire permettant de calibrer toute la chaine graphique. Ces programmes n’ont pas d’interface graphique et s’utilisent en mode ligne de commande. Dans ce descriptif je me suis inspiré, en détaillant un peu plus, du post Calibration d’écran, profil ICC et gestion des couleurs sous Ubuntu d’Effraie@blog grâce auquel j’ai fait mes premiers essais de calibration.

La calibration proprement dite va se passer en 4 phases :

  • Le Le réglage de l’écran qui va consister à calculer les paramètres à charger dans la table de réglage du gamma de la carte graphique (vlut : video look-up table en anglais) pour avoir le gamma et le point blanc voulu. Ce calcul est fait après avoir éventuellement ajusté les réglages du moniteur.
  • La génération des patterns de test qui seront utilisés pour la caractérisation colorimètrique de l’écran.
  • La caractérisation de l’écran qui consiste, avec la vlut de la carte graphique chargée avec les paramètres calculés lors de la première phase, à mesurer la couleur de chacun des patterns générés au cours de la phase précédente.
  • Enfin la génération du profil de l’écran (fichier .icc) à partir des informations recueillies pendant les phases précédentes.

La sonde

Une sonde est nécessaire pour mesurer les couleurs qui vont être affichées à l’écran. Un certain nombre de sondes du commerce sont supportées par Argyll CMS. La liste se trouve sur le site d’Argyll. J’ai personnellement utilisé la sonde Spyder2Express de Colorvision qui est une des moins chère du marché (on peut la trouver autour de 80€ sur les sites de vente en ligne).

Pour les bricoleurs ayant quelques connaissances en électronique la sonde HCFR (HOMECINEMA-FR) est aussi supportée par Argyll. Tous les plans, listes de composants, circuits imprimés et instructions de montage sont disponibles à l’adresse http://www.homecinema-fr.com/colori....

Installation

Télécharger Argyll CMS (actuellement en version 1.0.3) à l’adresse http://www.argyllcms.com/, puis décompresser l’archive.

Pour la sonde Spyder2Express il faut récupérer le firmware de la sonde sur le CDROM fourni avec celle-ci. Pour cela, après avoir inséré le CDROM dans le lecteur, entrer les commandes suivantes dans une console :


cd Argyll_V1.0.3/bin
./spyd2en -v


L’option -v permet de suivre le déroulement de la commande.
Un fichier appelé spyd2PLD.bin doit avoir été ajouté dans le répertoire bin.

Dans le cas d’une distribution Ubuntu il faut aussi régler un problème de droits d’accès à la sonde par les logiciels d’Argyll. Pour cela il faut recopier le fichier 55-Argyll.rules du répertoire Argyll_V1.0.3/libusb dans le répertoire système /etc/udev/rules.d (cette copie demande les droits administrateur) :


cd Argyll_V1.0.3/libusb
sudo cp 55-Argyll.rules /etc/udev/rules.d


Si l’on ne fait pas cela, il faut lancer certaines commandes Argyll avec les droits administrateurs. Pour d’autres distributions et en cas de problèmes d’accès à la sonde on peut trouver des informations à l’adresse http://www.argyllcms.com/doc/Instal...

Bien que cela ne soit pas obligatoire, on peut recopier les fichiers utiles à la calibrations dans un répertoire système. Il sont ainsi accessibles de n’importe où.


cd Argyll_V1.0.3/bin
sudo cp colprof /usr/local/bin
sudo cp dispcal /usr/local/bin
sudo cp dispread /usr/local/bin
sudo cp dispwin /usr/local/bin
sudo cp spyd2PLD.bin /usr/local/bin
sudo cp targen /usr/local/bin

Réglage de l’écran

Le réglage de l’écran se fait à l’aide de la commande dispcal :


dispcal -v -qh -yl -t 6500 -g 2.2 mon_profil

  • -v permet d’afficher quelques informations supplémentaires (mode bavard).
  • -qh pour haute qualité. Pour les premiers essais on peut aussi se mettre en qualité moyenne (-qm) ou basse (-ql). La durée de cette phase est directement liée au niveau de qualité choisi.
  • -yl pour un écran LCD. changer par -yc pour un écran cathodique.
  • -t 6500 pour un point blanc à 6500 °K
  • -g 2.2 pour un gamma de 2,2
  • mon_profil base du nom du fichier intermédiaire qui sera généré.

Le gamma de 2,2 et la température de 6500 °K sont les valeurs généralement conseillées mais on peut en choisir d’autres.

Positionner la sonde sur le carré gris qui apparait au centre de l’écran puis appuyez sur une touche.

La documentation conseille pour les écrans cathodiques de travailler avec un fond d’écran sombre de couleur unie. Les écrans LCD semblent y être moins sensibles. Le menu suivant s’affiche :

Les 4 premiers choix permettent de régler l’écran de manière itérative avec les boutons de réglages du moniteur et les informations affichées par dispcal pour s’approcher au mieux des valeurs cibles (gamma 2,2 et température 6500 °K). On se reportera à la documentation de dispcal pour plus de détails. J’ai essayé cette méthode mais sans succès. Je finissais avec des réglages en buttée minimum ou maximum. Mon moniteur ayant des réglages de gamma et de température non quantifiés (gamma 1, gamma 2, ... pour le gamma et froide, moyenne et chaude pour la température) j’ai procédé de la manière suivante pour cette étape :

  • Pour le contraste j’ai gardé la valeur par défaut du moniteur (75%)
  • Pour la luminosité j’ai gardé la valeur de 40% que j’avais réglé pour ne pas être ébloui (la valeur de 100% par défaut est trop lumineuse)
  • Puis j’ai mesuré, avec la commande dispcal -R, le gamma et la température des différents réglages proposés par le moniteur et choisi ceux qui donnaient les valeurs les plus proches des valeurs cibles.

On peut aussi passer directement au choix 7, ça ne pose pas de problème. Je ne sais pas si le fait de sauter cette étape impacte sur la qualité du réglage final ou si le processus sera juste un peu plus long puisque l’on est un peu plus loin de la cible.

Il suffit ensuite de choisir 7 et d’attendre. Cela peut être assez long surtout si on est en haute qualité. On pensera aussi à désactiver tout économiseur d’écran et autre mise en veille qui pourraient gâcher le travail. Un fichier mon_profil.cal est créé à la fin de cette étape.

Génération des pattern de test

Les patterns de test sont générés avec la commande targen :


targen -v -d3 -f500 mon_profil

  • -v permet d’afficher quelques informations supplémentaires (mode bavard).
  • -d3 pour un écran RGB.
  • -f500 pour générer 500 patterns. Plus ce nombre sera grand meilleure sera la qualité (et plus la caractérisation sera longue ...). La documentation donne comme valeur typique de 200 à 600 patterns.
  • mon_profil base du nom du fichier intermédiaire qui sera généré.

Cette commande est rapide et produit un fichier mon_profil.ti1.

Caractérisation de l’écran

La caractérisation de l’écran se fait à l’aide de la commande dispread :


dispread -v -yl -k mon_profil.cal mon_profil

  • -v permet d’afficher quelques informations supplémentaires (mode bavard).
  • -yl pour un écran LCD. changer par -yc pour un écran cathodique.
  • -k mon_profil.cal pour utiliser le fichier créé au cours de la première phase.
  • mon_profil base du nom des fichiers intermédiaires : mon_profil.ti1 en entrée et mon_profil.ti3 en sortie.

Cette phase est un peu longue. Un fichier mon_profil.ti3 est créé à la fin de cette phase.

Génération du profil d’écran

Enfin le profil est généré avec la commande colprof :


colprof -v -A "Fabriquant" -M "Modèle" -D "Description du profil" -qm -al mon_profil

  • -v permet d’afficher quelques informations supplémentaires (mode bavard).
  • -A "Fabriquant" nom du fabriquant de l’écran
  • -M "Modèle" modèle de l’écran
  • -D "Description du profil description du profil. C’est ce champ qui apparait dans Gimp en face du profil d’écran et pas le nom du fichier .icc.
  • -qm pour qualté moyenne (-ql pour qualité basse et -qh pour qualité haute).
  • -al pour un profil avec une table ou -as pour un profil matriciel. Un profil matriciel est normalement suffisant pour un écran, un profil avec une table ayant une qualité un peu meilleure mais une taille beaucoup plus importante. A essayer. Dans mon cas particulier j’ai opté pour une table le profil matriciel me donnant, pour un gris très sombre (10 à 15%), une teinte tirant très légèrement vers le rouge.
  • mon_profil base du nom du fichier d’entrée mon_profil.ti3 et de sortie mon_profil.icc.

Le profil de l’écran mon_profil.icc est créé à la fin de cette étape.

Installation du profil d’écran

Il ne reste plus qu’a ranger le profil vers le répertoire système adéquat et à le charger ce qui se fait avec la commande dispwin.


sudo cp mon_profil.icc /usr/share/color/icc
dispwin -I /usr/share/color/icc/mon_profil.icc

  • -I pour installer le profil comme profil par défaut du système.
  • /usr/share/color/icc/mon_profil.icc chemin vers le fichier mon_profil.icc.

J’ai rangé ici le profil d’écran dans le répertoire système où sont rangés, en général, les profil sous Linux. Ce n’est toutefois pas une obligation et on peut le mettre où l’on veut.

Il y a à ce stade une chose à bien comprendre et qui est très rarement explicitée. Le profil d’écran que l’on vient de créer est composé de 2 parties :

  • Une première partie qui est la table de correction de gamma qui va être chargée dans la carte graphique. C’est ce que fait la commande dispwin.
  • Une seconde partie qui décrit le comportement colorimètrique de l’écran. C’est cette partie qui sera utilisée par Gimp (ou autre logiciel gérant les couleur).

Pour utiliser convenablement le profil il faut à la fois le charger dans la carte graphique avec dispwin et aussi le déclarer dans la les préférences de la gestion des couleurs de Gimp. Lorsque l’on charge le profil dans la carte graphique le bureau et toutes les application bénéficient du réglage de l’écran mais seules les applications gérant les couleurs et qui ont ce profil comme profil d’écran ont réellement des couleurs correctes.

Pour avoir le profil toujours chargé au démarrage j’ai ajouté la commande dispwin dans les programmes à lancer au démarrage de ma session :

On fera aussi attention au fait que l’économiseur d’écran de Gnome remet à zéro la table de correction de gamma de la carte graphique. C’est apparemment un bug (voir http://bugzilla.gnome.org/show_bug....) qui est peut être corrigé pour Ubuntu 8.10 mais je n’ai pas essayé (je suis sous Ubuntu 8.04). Pour contourner le problème je l’ai désactivé et j’utilise la mise en veille de l’écran. On notera aussi qu’au retour d’une mise en veille de l’ordinateur on a le même problème (bug ?).

Vérification de la qualité du réglage

La commande colprof donne, à la fin, l’erreur moyenne et l’erreur crête pour le profil créé. Une erreur inférieure à 3 est considérée comme très bonne et pour une valeur inférieure à 1 on considère que les couleurs sont parfaitement reproduites.

On put aussi mesurer la qualité de la partie réglage de l’écran de la calibration avec le logiciel du Colorimètre HCFR. Ce logiciel ne tourne malheureusement que sous Windows. Ce problème peut être contourné si vous disposez d’un Windows installé dans une machine virtuelle comme VirtualBox. Vous pouvez aussi, si vous êtes en dual boot, l’utiliser sous Windows après avoir chargé le profil de l’écran que vous venez de créer sous Linux avec la commande dispwin (mais il faut télécharger la version Windows de Argyll CMS).

Avec ce programme on va pouvoir vérifier l’action de la table de correction du gamma chargée dans la carte graphique. On se reportera à la documentation du programme Colorimètre HCFR pour l’utilisation de ce programme.

A titre d’illustration j’ai mis ci-dessous les copies d’écran de ce programme (que j’ai fait tourner grâce à VirtualBox) pour différents réglages.

  • Aucune table chargée dans la carte graphique.
  • Profil crée avec le logiciel fourni avec la sonde Spyder2Express.
  • Profil créé avec Argyll, la commande dispcal étant lancée avec l’option -qm
  • Profil créé avec Argyll, la commande dispcal étant lancée avec l’option -qh
PNG - 40 ko
Aucune table chargée dans la carte graphique

 

PNG - 41.2 ko
Logiciel de la Spyder2Express

 

PNG - 41.4 ko
Argyll - dispcal qualité moyenne

 

PNG - 41.5 ko
Argyll - dispcal qualité haute

 

Chapitre suivant : Calibration de l’imprimante



Retour en haut de la page