Skip to content

Glossary

Gamma

O mapeamento não linear entre valores armazenados e luz emitida

By Published Updated

Gamma é a relação não linear entre os valores de pixel armazenados em um arquivo de imagem e a intensidade real de luz que um display emite. Matematicamente: intensidade_saída = valor_entradaγ, onde γ ≈ 2,2 para o padrão sRGB.

Por que isso não é simplesmente linear: o olho humano é muito mais sensível às diferenças em tons escuros do que em tons claros. Uma codificação linear desperdiçaria a maioria dos 256 valores de um canal de 8 bits em detalhes de destaque que ninguém consegue ver, enquanto comprimiria os tons escuros em poucos valores mal distinguíveis. A aplicação de gamma aloca mais da codificação para valores escuros onde o olho realmente se importa.

Concretamente: um valor de pixel de 8 bits de 128 (a meio caminho entre 0 e 255) não significa metade da intensidade de luz. Significa cerca de 22% da intensidade total, porque 128/255 = 0,502 e 0,502² (gamma 2,2 é bem aproximado pelo quadrado) ≈ 0,252, mas a transferência sRGB completa é um pouco mais sutil perto de zero. A intuição: valores de cinza médio são na verdade bem escuros em luz linear.

Implicações práticas: misturar duas cores no espaço sRGB “normal” produz resultados que parecem muito escuros — a média de preto e branco em sRGB parece muito mais escura do que o ponto médio óptico. Softwares como Photoshop e Figma oferecem opções de “mistura linear” que convertem para luz linear, calculam a média ali e recodificam. O color-mix(in oklab, ...) do CSS faz isso automaticamente. Ferramentas com reconhecimento de gamut lidam com isso de forma transparente; a matemática manual de hex geralmente não.

Exemplo prático

Pegue o vermelho puro sRGB #FF0000 (255, 0, 0) e o verde puro #00FF00 (0, 255, 0). Média ingênua no espaço sRGB: ((255+0)/2, (0+255)/2, 0) = (127, 127, 0), um amarelo-oliva escuro. Converta cada componente para luz linear primeiro (eleve a 2,2): R→1,0, G→1,0 cada. Calcule a média em linear: (0,5, 0,5, 0). Converta de volta para sRGB (eleve a 1/2,2): (188, 188, 0) — um amarelo muito mais brilhante e convincente. A diferença entre (127, 127, 0) e (188, 188, 0) em um display calibrado é a diferença entre “por que meu gradiente parece sujo?” e “ah, isso parece certo.” Toda ferramenta de edição de imagem com uma caixa de seleção “mistura linear” está oferecendo exatamente essa opção. O CSS agora suporta color-mix(in oklab, red, green), que realiza a conversão automaticamente, produzindo um ponto médio perceptualmente uniforme independentemente das cores iniciais.

Quando e por que isso importa

Gamma importa sempre que cores são combinadas, dimensionadas ou anti-aliadas — o que é dizer, em essencialmente todo pipeline de renderização. A razão pela qual os motores 3D produzem saída desbotada e de baixo contraste a menos que sejam explicitamente escritos para fazer iluminação com correção de gamma: as intensidades de luz somam-se linearmente na física, mas os valores de pixel são codificados com gamma; tratar um como o outro faz com que as contribuições de luz sejam efetivamente elevadas ao quadrado. Os motores de jogos modernos (Unreal, Unity) fazem toda a iluminação em espaço linear e convertem para sRGB na escrita final do framebuffer. A conclusão prática para o web designer: use oklab ou oklch para qualquer gradiente que cruze matizes, e evite cinza médio (50% de luminosidade) como uma mistura pura de 50% — o ponto médio óptico entre preto e branco é mais próximo de L*=50 no CIELAB, que é RGB 188, não RGB 128. Referência: W3C — Espaço de cores sRGB.

Gamma do display vs gamma de codificação vs gamma do sistema: a imagem sRGB codificada usa uma função de transferência próxima de uma potência 1/2,2 (a curva sRGB formal é linear por partes para os valores mais escuros e um expoente 2,4 acima), o display aplica um gamma inverso de aproximadamente 2,2 para converter o valor de volta para luz, e o produto — o “gamma do sistema” que o espectador realmente vê — fica ligeiramente acima de 1,0 para compensar o ambiente de visualização escuro que o Rec. 709 e o sRGB pressupõem. O macOS anterior ao 10.6 (2009) usava um gamma de sistema de 1,8 herdado de impressoras Apple LaserWriter antigas, razão pela qual imagens antigas criadas em Mac frequentemente parecem desbotadas em monitores PC; o macOS moderno usa 2,2 como todos os outros.

O HDR quebra completamente esse modelo: os formatos HDR (Rec. 2100 PQ, HLG) usam curvas de quantizador perceptual projetadas para displays que podem atingir 1000-10.000 nits, não os ~80 nits dos CRTs para os quais o sRGB foi ajustado. Misturar conteúdo sRGB com conteúdo HDR requer mapeamento de tonalidade explícito — um tópico que os compositores de SO agora tratam, mas que os aplicativos historicamente faziam mal. Veja sRGB, Display P3 e perfis ICC para como os espaços de cores tratam os mesmos valores de pixel de forma diferente. Referência: Especificação sRGB IEC 61966-2-1.

Frequently asked questions

O que é gamma na tecnologia de displays?
Gamma é o expoente na relação de lei de potência entre valores de pixel armazenados e a luz emitida: saída = entrada^γ. Um gamma de display de 2,2 significa que um valor de pixel de 128 (a metade em 0–255) emite apenas cerca de 22% do brilho máximo, não 50% — correspondendo à sensibilidade perceptual humana a tons escuros.
Como o gamma afeta a edição de imagens?
Se você aplicar um desfoque ou ajuste de exposição em luz linear (gamma = 1,0), as bordas permanecem perceptualmente nítidas e as cores se misturam corretamente. Aplicar a mesma operação em valores codificados com gamma corrigido (sRGB) causa halos escuros em torno de objetos brilhantes e mistura de cores incorreta. Ferramentas profissionais como Photoshop oferecem ambos os modos.
Qual é a diferença entre codificação gamma e correção gamma?
A codificação gamma (ou compressão gamma) é aplicada ao salvar uma imagem: valores de pixel brilhantes são comprimidos para alocar mais valores de código para tons mais escuros. A correção gamma (decodificação) é aplicada pelo display para restaurar a saída de luz linear. O sRGB usa uma função de transferência gamma ≈ 2,2 para codificação.
Qual valor de gamma os monitores modernos usam?
Os monitores para consumidores visam um gamma de 2,2, que corresponde aos padrões sRGB e BT.709. O Mac OS historicamente usava gamma 1,8 até 2009, quando a Apple mudou para 2,2. Os displays HDR usam as curvas PQ (Quantizador Perceptual) ou HLG em vez de uma simples lei de potência.

Related

Published May 16, 2026 · Last reviewed May 31, 2026