Content-type: text/html
La spécification du format PPM indique que certaines valeurs dans un fichier représente les intensités de lumière dans une image. Ces valeurs sont proportionnelles aux intensités produites par la correction du gamma. La correction du gamma spécifiée ici est le CIE Rec. 709.
Toutefois, les gens travaillent parfois avec des approximations du PPM et du PGM, où la relation entre les intensités de l'image et les échantillons de valeurs sont quelque chose d'autre. Par exemple, l'échantillon de valeur pourrait être directement proportionnel avec l'intensité sans correction de gamma, ou une fonction de transfert de gamma différente pourrait être utilisée.
pnmgamma vous permet de manipuler cette fonction de transfert, donc de créer des pseudo fichier PPM qui peuvent vous être utiles.
Par exemple, si vous utilisez un vrai PPM avec pnmgamma -cieramp -ungamma, vous aurez en sortie un fichier qui respecte le PPM sauf que les échantillons sont directement proportionnels aux intensités de lumière de l'image. En revanche, si vous utilisez pnmgamma -cieramp, vous aurez un vrai PPM.
Pour les images PGM, c'est la même chose. Aussi, pnmgamma traite les PBM comme des PGM.
Si vous utilisez une image PPM linéaire dans un programme d'édition ou de visualisation qui s'attend à recevoir des vrais PPM, l'affichage sera plus sombre qu'il ne devrait l'être, et pnmgamma permet d'éclaircir l'image. Si vous utilisez un vrai PPM pour un programme qui ne gère que les PPM linéaires, alors l'image sera trop claire. pnmgamma invoqué avec une valeur de gamma inférieure à 1 permet d'assombrir l'image.
Les seuls paramètres sont les spécifications du fichier en entrée et les valeurs du gamma. Chaque fonction de transfert que pnmgamma utilise contient un argument, qui est la valeur du gamma, que vous pouvez indiquer.
De plus, vous pouvez choisir des valeurs différentes pour chacune des couleurs (rouge, bleu, vert). Si vous spécifiez seulement une valeur de gamma, alors pnmgamma utilisera cette valeur pour les trois couleurs.
Si vous ne spécifiez aucun paramètre de gamma, pnmgamma utilise une valeur par défaut. Pour les fonctions de transfert standards, la valeur par défaut est définie par ce standard. Si vous spécifiez quelque chose d'autre, cela modifiera le standard. Pour la plus simple des fonctions de transfert, le gamma par défaut est de 1/.45.
Si vous ne spécifiez ni -cieramp ni -srgbramp, la fonction de transfert deviendra une simple fonction de force.
SRGB est souvent écrit « sRGB ». Dans ce document, nous utilisons la typographie anglaise classique, qui n'autorise pas ce genre de choses.
Une bonne explication du gamma est celle de Charles Poynton, que l'on peut trouver dans le ColorFAQ <http://www.inforamp.net/~poynton/ColorFAQ.html> et dans le GammaFAQ <http://www.inforamp.net/~poynton/GammaFAQ.html>.
En bref, le méthode la plus simple pour encoder une image est d'utiliser des échantillons qui sont proportionnels à l'intensité de la couleur dans l'image. C'est un gâchis d'espace car l'oeil humain ne peut pas aussi bien discerner les couleurs qui ont une forte intensité que celles qui ont une faible intensité. On passe donc les valeurs des intensités de lumière à une fonction de transfert qui fait en sorte que changer une valeur de 1 dans un échantillon ne change pas le nombre de couleurs affichées, mais juste leur intensité. On stocke les résultats dans l'image. Cette fonction de transfert est appelée la fonction de transfert de gamma, et la transformation, la correction de gamma.
Presque tous les formats d'images utilisent des valeurs d'échantillons où le gamma est corrigé.
Ce qui est vraiment sympathique concernant le gamma est que la fonction inverse, que vous avez à faire pour convertir des valeurs où le gamma a été corrigé vers des valeurs correspondantes à la vraie lumière, est effectuée automatiquement par l'écran. Vous avez juste à donner au canon à électron un voltage qui est proportionnel à l'échantillon de la valeur corrigée, et l'intensité de lumière qui sort de l'écran est proche de celle de l'intensité de l'image avant que vous ayez corrigé le gamma.
Enfin, les cartes graphiques des ordinateurs stockent dans leur mémoire la valeur proportionnelle du voltage à envoyer à l'écran. Et ce dernier l'applique au canon à électron, par conséquent c'est très pratique de travailler avec des échantillons où le gamma est corrigé.