Le canal alpha doit-il être corrigé gamma

11

Nous savons qu'en PNG, BMP, etc ... la valeur de pixel stockée n'est pas dans l'espace RVB linéaire. Mais je n'ai trouvé aucun document disant quoi que ce soit sur le canal alpha. Le canal alpha est-il stocké dans les fichiers images dans un espace linéaire ou non?

Mary Chang
la source

Réponses:

11

Nous savons qu'en PNG, BMP, etc ... la valeur de pixel stockée n'est pas dans l'espace RVB linéaire.

Ce n'est pas nécessairement vrai. Vous pouvez stocker n'importe quel espace colorimétrique que vous souhaitez dans une image, il n'a même pas besoin d'être des couleurs (comme les cartes normales).

Le canal alpha est généralement linéaire. Le canal alpha ne s'affiche pas, mais il s'agit généralement d'un terme sans couleur utilisé pour la transparence (ou autre). Parce qu'ils n'ont pas besoin de s'afficher sur un moniteur, il n'y a aucune raison de les stocker dans un espace gamma. Si vous le faisiez, vous perdriez inutilement la précision à l'extrémité inférieure des valeurs alpha. Les cartes normales suivent un raisonnement similaire, comme l'explique très bien Julien Guertault .

as
la source
3

Les formats de fichier image eux-mêmes ne considèrent pas le gamma mais stockent des valeurs de pixel non modifiées car le programme de création (par exemple Photoshop) décide de stocker les valeurs, donc les canaux RVB et alpha n'ont aucune distinction du point de vue du format de fichier image (sauf les stratégies de compression avec perte potentielles, mais c'est un autre sujet).

Cependant, lorsque vous créez des images dans Photoshop, elles sont affichées à l'écran dans l'espace sRGB, y compris le canal alpha, donc si vous créez un canal alpha en vous appuyant sur le fait que la luminosité perçue des pixels représente la transparence, vous pouvez dire que l'alpha est également stocké dans le espace gamma. MAIS, si vous créez un alpha en utilisant la transparence des calques dans Photoshop, alors l'alpha est stocké de façon linéaire (par exemple, un calque transparent à 50% est stocké en alpha = 128).

Donc, en fin de compte, cela dépend de la façon dont vous créez les données dans quel espace les données sont stockées et de la façon dont vous devez les interpréter. Une autre chose à considérer est de savoir si la distribution non linéaire des valeurs vous offre des avantages de précision. Les valeurs de couleur sont stockées dans sRGB car le système visuel humain répond logarithmiquement à la luminosité lumineuse, il est donc logique d'avoir plus de détails dans les tons foncés que dans les couleurs vives pour réduire la bande perçue, mais vous pouvez demander si une telle distribution serait bénéfique, par exemple des cartes normales ou des valeurs de rugosité stockées dans les textures.

JarkkoL
la source