ForHosting KIT · Imágenes

Estimador de recorte cuadrado centrado en el rostro

Un rostro de 200 × 240 en la posición 400, 250 de una foto de 1200 × 900 da un cuadrado de 360 píxeles que empieza en x 320, y 190, con la cara centrada y un cuarto de margen en cada lado. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Ancho
1 200
Altura
900
Rostro X
400
Rostro Y
250
Ancho del rostro
200
Alto del rostro
240
Obtiene
X
320
Y
190
Lado
360
Derecha
680

El estimador de recorte centrado en el rostro convierte el resultado de una detección facial en una región de recorte cuadrada lista para usar. Usted envía las dimensiones de la imagen y la caja delimitadora del rostro detectado —izquierda, parte superior, ancho y alto— más un margen opcional, y recibe las coordenadas exactas x, y y lado de un cuadrado que mantiene el rostro centrado y completamente dentro de la imagen. No se suben, decodifican ni transforman píxeles: es geometría pura y determinista, el paso de planificación que se ejecuta antes de un recorte real.

Por qué estimar el recorte antes de recortar

El recorte basado en rostros aparece en todas partes: fotos de perfil, generadores de avatares, miniaturas de un directorio de personas, vistas previas inteligentes en una biblioteca de fotos. En todos estos casos, la parte costosa es decodificar y recodificar la imagen, y la parte molesta es descubrir después que el encuadre era incorrecto: el rostro cortado por el borde, el cuadrado descentrado, el margen demasiado ajustado para una máscara circular. Esta capacidad separa la decisión barata de la ejecución costosa.

Usted ya ejecutó un detector de rostros y dispone de una caja delimitadora; en lugar de enviar la imagen directamente a una canalización y confiar en la suerte, pide primero la región exacta de recorte.

Cómo se calcula la región

El algoritmo es deliberadamente sencillo y totalmente determinista. Primero halla el centro de la caja delimitadora del rostro. El lado del cuadrado comienza como el mayor entre el ancho y el alto del rostro, escalado por uno más el doble del margen: así, el margen predeterminado de 0.25 añade una cuarta parte del tamaño del rostro a cada lado, dando un cuadrado de vez y media el lado mayor del rostro, un encuadre cómodo para retratos.

Si ese cuadrado es mayor que la propia imagen, se reduce a la dimensión más pequeña de esta. Después el cuadrado se centra en el centro del rostro y, cuando sobresaldría por un borde, se desplaza de nuevo hacia dentro de la imagen —se ajusta, nunca se deforma—, de modo que la región devuelta siempre es un recorte válido dentro de los límites.

Dónde encaja en una canalización

El flujo típico es: ejecute su detector de rostros preferido, tome la mejor caja delimitadora, llame a este estimador y pase la región devuelta a un recortador real, como la capacidad image.crop o su propio trabajador de miniaturas. Como el estimador nunca toca los bytes de la imagen, también puede usarlo solo con metadatos, por ejemplo para decidir, antes de descargar nada, si un rostro detectado cerca del borde producirá un cuadrado aprovechable o conviene recurrir a otro diseño.

El parámetro de margen es su único control: 0 da un cuadrado ajustado exactamente alrededor del lado mayor del rostro, 0.25 es el encuadre predeterminado para retratos, y 0.5 o más deja espacio para el cabello y los hombros.

Generar avatares cuadrados a partir de subidas

Tome la caja del rostro de su detector y obtenga el cuadrado exacto para alimentar su trabajador de recorte, con un margen que resiste una máscara circular.

Validar previamente una canalización de miniaturas

Valide las cajas de rostros y calcule las regiones de recorte solo a partir de metadatos, antes de pagar el costo de decodificar y recodificar una sola imagen.

Auditar recortes automatizados

Guarde la región estimada junto a cada recurso para que un avatar mal encuadrado pueda rastrearse hasta las coordenadas exactas que lo produjeron.

¿Cuánto cuesta?

También es gratis ejecutarlo en su navegador en esta página, con exactamente el mismo resultado.

¿Tengo que subir la imagen?

No. Solo se envían las dimensiones de la imagen y la caja delimitadora del rostro: seis números. No se transmite, procesa ni almacena ningún dato de píxeles.

¿Qué ocurre si la caja del rostro sobresale de la imagen?

Una caja facial fuera de la imagen casi siempre es un error de detección o de correspondencia de coordenadas, y se notifica en lugar de recortarse en silencio.

¿Y si el cuadrado se extendiera más allá de un borde?

El cuadrado se desplaza de nuevo hacia dentro de la imagen manteniendo su tamaño y, si es mayor que la propia imagen, se reduce a su dimensión más pequeña. La región devuelta siempre queda completamente dentro de los límites.

¿Qué hace el margen?

Añade espacio alrededor del rostro como fracción de su lado mayor. El valor predeterminado 0.25 produce un cuadrado de 1.5 veces el lado mayor del rostro; 0 da un recorte ajustado y 0.5 deja un espacio generoso.

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.

POSThttps://api.kit.forhosting.com/image/crop-face-center-estimate

¿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.

curl -X POST https://api.kit.forhosting.com/image/crop-face-center-estimate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"width":1200,"height":900,"face_x":400,"face_y":250,"face_width":200,"face_height":240}'
{
  "width": 1200,
  "height": 900,
  "face_x": 400,
  "face_y": 250,
  "face_width": 200,
  "face_height": 240
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.crop_face_center_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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_mb15
max_megapixels12
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Funciona gratis en su navegador en esta página, y mediante API a $0.002 por llamada.

Por qué estimar el recorte antes de recortar

La respuesta es un sencillo objeto JSON con x, y y lado que puede entregar a cualquier herramienta de recorte, desde ImageMagick hasta un elemento canvas, o guardar junto al recurso para que la decisión sea auditable. Como el cálculo es aritmética pura sobre seis números, casi no cuesta nada, responde en microsegundos y se comporta de forma idéntica en el navegador y en la API, de modo que puede prototipar de forma interactiva y automatizar después sin volver a comprobar ni un solo resultado.

Cómo se calcula la región

La propia caja del rostro se valida con rigor: orígenes negativos, tamaños no positivos y cajas que se extienden más allá de los bordes de la imagen generan un error invalid_input en lugar de producir en silencio un recorte defectuoso, porque una caja facial fuera de la imagen es un error del detector del que usted quiere enterarse.

Dónde encaja en una canalización

Todo se ejecuta en nuestra red global de borde sin almacenar nada, y el mismo módulo impulsa la calculadora gratuita de esta página, así que el número que ve en el navegador es, byte a byte, el número que la API devuelve cuando automatiza la llamada.

¿El resultado es determinista?

Sí. Es aritmética pura: mismos datos de entrada, mismas coordenadas, en el navegador y en la API, sin aleatoriedad, relojes ni red de por medio.

Ver la documentación completa del KIT →