Ajustar temperatura de cor da imagem
Informe o vermelho, o verde e o azul médios de uma foto, como 142, 128 e 110, e um ajuste de 1200 K, e receba três ganhos para um balanço de branco mais frio: o vermelho cai, o azul sobe e o verde fica em um. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Avg r
- 142
- Avg g
- 128
- Avg b
- 110
- Deslocamento (K)
- 1.200
- Temperatura estimada (K)
- 4.843,897796
- Temperatura-alvo (K)
- 6.043,897796
- Multiplicador de vermelho
- 0,910823
- Multiplicador de verde
- 1
Esta calculadora de temperatura de cor transforma os valores médios de vermelho, verde e azul de uma imagem, junto com um deslocamento em Kelvin, em três multiplicadores de canal. Ela estima a temperatura de cor correlacionada da média, aplica a mudança mais quente ou fria solicitada e retorna ganhos RGB normalizados. Você pode usar o resultado em um fluxo de cores com luz linear para obter um balanço de branco reproduzível sem enviar a imagem.
Prepare um valor RGB médio representativo
Comece com a média aritmética de cada canal sRGB de 8 bits nos pixels que devem representar a correção. Uma média da imagem inteira funciona para fotografias com iluminação ampla, lotes de produtos, miniaturas e prévias automatizadas. Porém, em uma imagem com tema fortemente colorido, a média de uma região neutra pode descrever a iluminação com mais fidelidade do que o quadro todo.
Uma parede vermelha ou um oceano azul pode dominar a média global mesmo quando o balanço de branco da câmera já está correto. A calculadora não examina pixels, reconhece objetos neutros nem separa a iluminação da cor do tema; ela usa exatamente o resumo fornecido por você. Médias totalmente pretas são rejeitadas porque não possuem cromaticidade para estimar a temperatura.
Números não finitos e valores fora da faixa de 8 bits também são recusados. Use o mesmo método de amostragem em todo o lote para manter as correções comparáveis.
Escolha o deslocamento em Kelvin e entenda o modelo
Um valor positivo aumenta a temperatura estimada e cria uma correção mais fria; um valor negativo a reduz e cria uma correção mais quente. São aceitos deslocamentos de -10,000 a 10,000 Kelvin, e o alvo resultante deve permanecer entre 1,000 e 40,000 Kelvin. O cálculo primeiro lineariza os canais sRGB médios, converte-os em cromaticidade CIE XYZ e estima a temperatura de cor correlacionada pela aproximação cúbica de McCamy.
Em seguida, avalia curvas RGB determinísticas de corpo negro nas temperaturas estimada e alvo. A razão entre esses dois pontos brancos se torna um conjunto de ganhos, normalizado para que o verde seja um. Trata-se de uma aproximação de engenharia, não de uma medição espectral.
A temperatura correlacionada é mais significativa perto do locus planckiano; por isso, médias muito saturadas geram apenas uma estimativa aproximada. O método e as temperaturas retornados tornam essa premissa explícita para auditoria.
Aplique os multiplicadores sem prejudicar a imagem
Um fluxo confiável decodifica sRGB para luz linear, multiplica cada canal pelo ganho correspondente, trata valores acima da faixa de exibição com exposição ou mapeamento de tons e codifica novamente em sRGB. Multiplicar bytes codificados pode parecer razoável em um pequeno ajuste, mas não preserva a relação pretendida entre luz e valores armazenados. O verde é normalizado em um, portanto o resultado expressa equilíbrio cromático e não uma alteração geral de exposição.
Vermelho ou azul podem ultrapassar um, causando recorte nas áreas claras; processe com ponto flutuante ou profundidade suficiente antes da exportação final. Teste imagens representativas antes de aplicar a correção a uma coleção grande, principalmente quando a média vier de uma cena colorida.
Casos de uso
Normalizar um lote de fotos de produtos
Calcule ganhos repetíveis com o mesmo método de amostragem antes de exportar imagens de catálogo.
Criar um controle de balanço de branco
Transforme o movimento de um seletor Kelvin em multiplicadores RGB explícitos para um editor web ou desktop.
Registrar correções reproduzíveis
Armazene temperaturas estimada e alvo com os ganhos ao lado do arquivo em um fluxo automatizado de mídia.
Perguntas frequentes
O que um deslocamento Kelvin positivo faz?
Ele eleva a temperatura de cor alvo estimada e produz uma correção mais fria, com relativamente mais azul e menos vermelho.
Qual faixa de deslocamento é aceita?
A mudança deve ficar entre -10,000 e 10,000 Kelvin, inclusive, e o alvo resultante entre 1,000 e 40,000 Kelvin.
Por que o multiplicador verde é sempre um?
Os ganhos são normalizados pelo verde para representar o equilíbrio de cor separadamente de um ajuste de exposição.
Devo multiplicar diretamente valores RGB de 8 bits?
Não. Decodifique sRGB para luz linear, aplique os ganhos, controle as áreas claras e codifique novamente em sRGB.
Qual é a precisão da temperatura estimada?
É uma aproximação baseada na cromaticidade média. Funciona melhor quando a amostra representa iluminação neutra e pior com cores muito saturadas.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/image/color-temperature-adjust \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"avg_r":142,"avg_g":128,"avg_b":110,"shift_kelvin":1200}'const res = await fetch("https://api.kit.forhosting.com/image/color-temperature-adjust", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"avg_r": 142,
"avg_g": 128,
"avg_b": 110,
"shift_kelvin": 1200
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/color-temperature-adjust",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"avg_r": 142,
"avg_g": 128,
"avg_b": 110,
"shift_kelvin": 1200
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/color-temperature-adjust", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"avg_r":142,"avg_g":128,"avg_b":110,"shift_kelvin":1200}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"avg_r":142,"avg_g":128,"avg_b":110,"shift_kelvin":1200}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/color-temperature-adjust", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"avg_r": 142,
"avg_g": 128,
"avg_b": 110,
"shift_kelvin": 1200
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.color_temperature_adjust",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
min_shift_kelvin | -10000 |
max_shift_kelvin | 10000 |
min_temperature_kelvin | 1000 |
max_temperature_kelvin | 40000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
O cálculo é determinístico, e cada solicitação de API custa US$ 0,002.
Prepare um valor RGB médio representativo
Informe esses valores como avg_r, avg_g e avg_b na escala habitual de 0 a 255.
Escolha o deslocamento em Kelvin e entenda o modelo
Informe shift_kelvin como uma mudança relativa, e não como um destino absoluto.
Aplique os multiplicadores sem prejudicar a imagem
Aplique red_multiplier, green_multiplier e blue_multiplier a valores RGB em luz linear, não diretamente aos números de canal de 8 bits codificados com gama. A API custa US$ 0,002 por solicitação, enquanto a calculadora no navegador executa localmente a mesma aritmética determinística.
Perguntas técnicas
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A versão web realiza gratuitamente o mesmo cálculo determinístico no dispositivo.