Calcular radio de desenfoque y kernel gaussiano
Esta calculadora de radio de desenfoque convierte una intensidad no negativa en dimensiones prácticas para una convolución gaussiana.
Ejecutar — gratis
La intensidad se interpreta como la desviación estándar gaussiana, o sigma, en píxeles. El resultado indica el radio necesario para abarcar tres desviaciones estándar a cada lado y el tamaño impar del kernel correspondiente. Está pensada para configurar bibliotecas de imagen, shaders, filtros de canvas y flujos de procesamiento con controles de desenfoque distintos. No se carga ni analiza ninguna imagen, y una misma entrada siempre genera la misma salida.
Convierta la intensidad en dimensiones utilizables
Las herramientas de imagen suelen describir el mismo desenfoque gaussiano mediante controles diferentes. Una interfaz solicita sigma, otra pide un radio y una función de convolución puede exigir el ancho completo del kernel. Esta calculadora relaciona esas representaciones de forma explícita. Interpreta la intensidad como sigma en píxeles y elige un radio que cubre desde menos tres sigma hasta más tres sigma. Ese intervalo conserva prácticamente todo el peso útil de una distribución gaussiana sin hacer infinita la convolución. El radio es el entero superior de tres veces la intensidad, porque un límite fraccionario todavía requiere una posición de píxel completa. Después, el tamaño del kernel se obtiene multiplicando el radio por dos y sumando uno: un lado, el píxel central y las posiciones equivalentes del otro lado. Por ejemplo, una intensidad de dos produce un radio de seis y un kernel de trece píxeles.
Interprete correctamente el radio y el tamaño
El resultado `gaussian_radius` representa cuántas posiciones vecinas se muestrean en cada dirección desde el centro; no es el ancho total. Un radio de seis alcanza seis píxeles a izquierda y derecha en una pasada horizontal, o seis arriba y abajo en una pasada vertical. `kernel_size` incluye ambos lados y el centro, por lo que siempre es un entero positivo impar. Algunas bibliotecas aceptan directamente este tamaño, mientras que otras reciben el radio o sigma y calculan sus propios coeficientes. Compruebe qué magnitud espera la API de destino. Los valores devueltos describen la geometría, no los pesos. Para obtenerlos, evalúe la función gaussiana en cada desplazamiento entero y normalice el conjunto para que sume uno. En dos dimensiones suele aplicarse el kernel unidimensional en pasadas horizontal y vertical separadas, con el mismo resultado y mucho menos trabajo que una convolución cuadrada completa.
Gestione cero, fracciones y diferencias visuales
Una intensidad de cero significa que no hay desenfoque: devuelve radio cero y tamaño uno, es decir, una operación identidad que solo contiene el píxel central. Se admiten valores fraccionarios positivos para suavizados sutiles. Como el radio se redondea hacia arriba, el kernel solo cambia cuando tres veces la intensidad cruza un entero, aunque los coeficientes gaussianos varíen continuamente. Se rechazan intensidades negativas porque una desviación estándar no puede ser negativa; la calculadora no toma el valor absoluto ni corrige silenciosamente la entrada. La estimación emplea un corte de tres sigma, un equilibrio práctico habitual entre exactitud y coste. Otro programa puede escoger dos o cuatro sigma, imponer un radio máximo o usar una aproximación propia. También influyen el espacio de color, el tratamiento de bordes y alfa, la precisión y el remuestreo. Documente esas decisiones junto a las dimensiones si necesita una reproducción exacta.
Qué puede hacer con ella
Configure una función de convolución
Convierta un control de desenfoque basado en sigma al ancho impar que requiere una biblioteca de procesamiento.
Planifique el muestreo de un shader
Estime cuántos texeles vecinos debe muestrear un shader gaussiano separable a cada lado del centro.
Documente un flujo de procesamiento
Guarde un radio y un tamaño explícitos junto a la intensidad para compartir la misma regla de corte.
Preguntas frecuentes
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002. La calculadora determinista también está disponible gratis en el navegador.
¿Qué significa la intensidad?
Se interpreta como la desviación estándar gaussiana, normalmente llamada sigma, medida en píxeles.
¿Cómo se calcula el radio?
Para una intensidad positiva, es el entero superior de tres veces la intensidad y cubre tres desviaciones estándar a cada lado.
¿Por qué el tamaño del kernel siempre es impar?
Incluye el píxel central y el mismo número de posiciones a ambos lados: dos veces el radio más uno.
¿Qué ocurre si la intensidad es cero?
El resultado es radio cero y tamaño uno, una operación identidad sin desenfoque.
¿La calculadora procesa una imagen?
No. Solo estima la geometría del kernel gaussiano; no carga, decodifica, modifica ni almacena imágenes.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"strength": 2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.blur_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 15 |
max_megapixels | 12 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |