Calcular raio de desfoque e kernel gaussiano
Esta calculadora de raio de desfoque transforma uma intensidade não negativa em dimensões práticas para convolução gaussiana.
Executar grátis
A intensidade é interpretada como o desvio padrão gaussiano, ou sigma, em pixels. O resultado informa o raio necessário para abranger três desvios padrão de cada lado e o tamanho ímpar correspondente do kernel. Ela foi criada para quem configura bibliotecas de imagem, shaders, filtros de canvas e pipelines que oferecem controles de desfoque diferentes. Nenhuma imagem é enviada ou examinada, e a mesma entrada sempre produz a mesma saída.
Converta a intensidade em dimensões de implementação
Ferramentas de imagem frequentemente descrevem o mesmo desfoque gaussiano com controles diferentes. Uma interface solicita sigma, outra pede o raio e uma função de convolução pode exigir a largura completa do kernel. Esta calculadora conecta essas representações com uma regra clara. Ela trata a intensidade como sigma em pixels e escolhe um raio que cobre de menos três sigma até mais três sigma. Esse intervalo preserva praticamente todo o peso útil da distribuição gaussiana sem tornar a convolução infinita. O raio é o teto de três vezes a intensidade, pois um limite fracionário ainda exige uma posição inteira de pixel. Em seguida, o tamanho do kernel é duas vezes o raio mais um: um lado, o pixel central e as posições correspondentes do outro lado. Por exemplo, intensidade dois gera raio seis e kernel de treze pixels. Assim, implementações diferentes podem compartilhar uma regra reproduzível em vez de depender de um controle deslizante sem documentação.
Interprete corretamente o raio e o tamanho
O resultado `gaussian_radius` indica quantas posições vizinhas são amostradas em cada direção a partir do centro; ele não representa a largura total. Um raio seis alcança seis pixels à esquerda e à direita em uma passagem horizontal, ou seis acima e abaixo em uma passagem vertical. `kernel_size` inclui os dois lados e o centro, portanto sempre é um inteiro positivo ímpar. Algumas bibliotecas aceitam esse tamanho completo, enquanto outras recebem raio ou sigma e montam os próprios coeficientes. Confira qual grandeza a API de destino espera. Os números retornados descrevem a geometria, não os pesos gaussianos. Para criar os pesos, avalie a função gaussiana em cada deslocamento inteiro e normalize os valores para que a soma seja um. Em duas dimensões, costuma-se aplicar o kernel unidimensional em passagens horizontal e vertical separadas, obtendo o mesmo resultado com muito menos trabalho que uma convolução quadrada completa.
Trate zero, frações e diferenças visuais
Intensidade zero representa ausência de desfoque. O resultado traz raio zero e tamanho um, uma operação identidade formada apenas pelo pixel central. Valores fracionários positivos são aceitos e permitem suavização discreta. Como o raio usa arredondamento para cima, o kernel só muda quando três vezes a intensidade cruza um número inteiro, embora os coeficientes gaussianos continuem mudando suavemente. Uma intensidade negativa é rejeitada, pois o desvio padrão não pode ser negativo; a calculadora não usa o valor absoluto nem limita a entrada silenciosamente. A estimativa adota um corte de três sigma, equilíbrio prático comum entre precisão e custo. Outro aplicativo pode escolher dois ou quatro sigma, limitar o raio ou aplicar uma aproximação própria. Espaço de cor, extensão das bordas, tratamento do alfa, precisão e redimensionamento também alteram o resultado visual. Registre essas escolhas com as dimensões quando a reprodução exata for importante.
Casos de uso
Configure uma função de convolução
Converta um controle baseado em sigma na largura ímpar exigida por uma biblioteca de processamento de imagens.
Planeje a amostragem de um shader
Estime quantos texels vizinhos um shader gaussiano separável precisa amostrar de cada lado do centro.
Documente um pipeline de processamento
Registre raio e tamanho explícitos com a intensidade para que implementações adotem a mesma regra de corte.
Perguntas frequentes
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A calculadora determinística também pode ser usada grátis no navegador.
O que significa intensidade?
Ela é interpretada como o desvio padrão gaussiano, normalmente chamado sigma, medido em pixels.
Como o raio é calculado?
Para intensidade positiva, o raio é o teto de três vezes a intensidade, cobrindo três desvios padrão de cada lado.
Por que o tamanho do kernel é sempre ímpar?
O kernel inclui o pixel central e o mesmo número de posições dos dois lados: duas vezes o raio mais um.
O que acontece quando a intensidade é zero?
O resultado é raio zero e tamanho um, representando uma operação identidade sem desfoque.
A calculadora processa uma imagem?
Não. Ela apenas estima a geometria do kernel gaussiano; não envia, decodifica, altera nem armazena imagens.
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/blur-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"strength":2}'const res = await fetch("https://api.kit.forhosting.com/image/blur-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"strength": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/blur-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"strength": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/blur-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"strength":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"strength":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/blur-estimate", 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
{
"strength": 2
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.blur_estimate",
"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
max_mb | 15 |
max_megapixels | 12 |
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. |