ForHosting KIT · Imagens

Converta pixels RGB em cinza com luminância ponderada

Transforme valores de vermelho, verde e azul em um cinza fiel ao jeito como o olho percebe o brilho: vermelho puro vira 76, verde puro 150 e azul puro 29, enquanto um cinza neutro de 128 continua 128. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Converta amostras RGB de uma imagem em tons de cinza sem enviar um arquivo nem depender de um decodificador. Forneça uma matriz ordenada de pixels com canais vermelho, verde e azul e receba a mesma quantidade com os três canais definidos pelo cinza ponderado por luminância. O cálculo prioriza verde, depois vermelho e azul, representando melhor o brilho percebido do que uma média simples. Todos os canais são validados; pixels incompletos, valores não numéricos ou fora de 0 a 255 geram um erro claro.

Prepare registros RGB completos

Ele deve ser uma matriz não vazia, e cada item deve ser um objeto com os nomes canônicos r, g e b. Os canais podem ser inteiros ou fracionários, mas precisam ser finitos e estar entre 0 e 255, inclusive. O conversor exige todos os canais em cada registro.

Ela nunca presume zero, copia outro canal ou ignora um pixel, pois isso mudaria o brilho e quebraria a correspondência posicional. São aceitas até cem mil amostras. Divida imagens maiores em blocos determinísticos.

A interface trabalha com amostras decodificadas, não com bytes PNG, JPEG ou WebP.

Entenda o cálculo de luminância

Para cada amostra, o cinza é o inteiro mais próximo de 0.299 vezes vermelho mais 0.587 vezes verde mais 0.114 vezes azul. Os coeficientes somam um, mantêm pixels neutros e refletem a maior sensibilidade visual ao verde. Uma média simples pode clarear demais o azul e escurecer o verde.

Depois de um único arredondamento, o valor é gravado em r, g e b, criando um cinza RGB sem dominante. A resposta inclui a contagem e a fórmula para facilitar auditorias. A função é pura: não usa rede, aleatoriedade, relógio, modelo externo nem estado mutável.

Assim, a mesma entrada sempre produz a mesma saída. O cálculo não lineariza gama, administra perfis ICC, aplica HDR, preserva alfa ou executa pontilhamento; fluxos especializados devem cuidar dessas etapas.

Use o resultado com segurança

Leia samples como substituição posicional da matriz enviada. Como cada registro continua com três canais, consumidores RGB comuns podem recebê-lo sem formato especial. Compare count com a quantidade enviada antes de reconstruir linhas, blocos ou imagens.

Largura, altura, passo, orientação, alfa e metadados continuam sob responsabilidade de quem chama. Mantenha o alfa separado e recombine-o ao codificar. Trate erros de canal ausente, número não finito, faixa ou tamanho como problemas de dados, não como falhas para repetição automática.

Teste preto, branco, cores primárias, cinza neutro, valores fracionários e uma amostra incompleta.

Montar buffers em tons de cinza

Converta amostras RGB decodificadas e recoloque-as no raster original antes da codificação.

Qual fórmula de cinza é usada?

Cada resultado é round(0.299 × r + 0.587 × g + 0.114 × b), depois atribuído aos três canais.

A transparência é preservada?

O alfa não faz parte do contrato. Guarde-o separadamente e recombine-o com os canais convertidos.

Por que o azul puro fica bem mais escuro que o verde puro?

Porque o olho percebe o verde como muito mais brilhante que o azul, e a fórmula dá ao verde peso 0,587 e ao azul só 0,114. O verde puro vira 150, o vermelho puro 76 e o azul puro 29.

Posso enviar um arquivo PNG ou JPEG direto?

Não. A conversão trabalha com valores de pixels já decodificados: abra o arquivo antes, envie os valores de vermelho, verde e azul e, se precisar de uma imagem, gere o arquivo depois com o resultado em cinza.

O que acontece se faltar uma das cores de um pixel?

A conversão para e indica qual pixel e qual canal estão faltando. Ela nunca supõe que o valor ausente é zero nem copia outro canal, porque isso mudaria o brilho e quebraria a ordem dos pixels.

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.

POSThttps://api.kit.forhosting.com/image/grayscale-convert

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/image/grayscale-convert \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"samples":[{"r":255,"g":0,"b":0},{"r":0,"g":128,"b":255}]}'
{
  "samples": [
    {
      "r": 255,
      "g": 0,
      "b": 0
    },
    {
      "r": 0,
      "g": 128,
      "b": 255
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.grayscale_convert",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_samples100000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Prepare registros RGB completos

Envie os pixels no campo JSON samples. Se o verde estiver ausente, por exemplo, a operação retorna invalid_input com o índice e o canal faltante.

Use o resultado com segurança

O executor do navegador usa a mesma função determinística da API. O navegador é gratuito e cada solicitação API custa US$ 0,002.

Criar fixtures determinísticos

Gere resultados exatos para testes de filtros, canvas e pipelines de pixels.

Verificar pequenos lotes

Cole valores RGB representativos no navegador antes de automatizar o fluxo pela API.

O que ocorre se faltar um canal?

A solicitação falha com invalid_input e identifica o índice iniciado em zero e o canal r, g ou b ausente.

O endpoint aceita arquivo de imagem?

Não. Ele recebe amostras RGB já decodificadas; faça a decodificação e a codificação externamente.

Quanto custa uma solicitação API?

Uma solicitação custa US$ 0,002; você também pode executar a mesma conversão gratuitamente no navegador.

Ver a documentação completa do KIT →