This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Redimensionamento com Reconhecimento de Conteúdo

Redimensionamento por corte de costura (seam carving) que remove ou adiciona pixels de forma inteligente ao longo dos caminhos de menor importância visual, preservando o conteúdo importante e, opcionalmente, protegendo os rostos.

Endpoint da API

POST /api/v1/tools/image/content-aware-resize

Processamento: Síncrono (retorna o resultado diretamente)

Pacote do modelo: Nenhum necessário para a operação básica. A proteção de rostos usa o pacote face-detection (200-300 MB) se ativada.

Parâmetros

ParâmetroTipoObrigatórioPadrãoDescrição
filefileSim-Arquivo de imagem (multipart)
widthnumberNão-Largura alvo em pixels
heightnumberNão-Altura alvo em pixels
protectFacesbooleanNãofalseDetecta e protege rostos da remoção de costuras
blurRadiusnumberNão4Raio de desfoque de pré-processamento para o cálculo de energia (0-20)
sobelThresholdnumberNão2Limiar de detecção de bordas Sobel (1-20). Valores maiores tornam o algoritmo mais agressivo
squarebooleanNãofalseRedimensiona para um quadrado (usa a menor dimensão)

Pelo menos um entre width, height ou square deve ser especificado.

Exemplo de Requisição

bash
curl -X POST http://localhost:1349/api/v1/tools/image/content-aware-resize \
  -F "[email protected]" \
  -F 'settings={"width":800,"protectFaces":true}'

Resposta (200 OK)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/{jobId}/landscape_seam.png",
  "originalSize": 450000,
  "processedSize": 380000,
  "width": 800,
  "height": 600
}

Notas

  • Esta rota personalizada atualmente retorna uma resposta síncrona 200.
  • Usa a biblioteca de corte de costura caire para o redimensionamento com reconhecimento de conteúdo.
  • Apenas reduz as dimensões (remove costuras). Não pode expandir uma imagem além do seu tamanho original.
  • A opção protectFaces usa detecção de rostos por IA para marcar as regiões de rosto como de alta energia, impedindo que as costuras passem pelos rostos.
  • blurRadius controla a suavização antes do cálculo do mapa de energia. Valores maiores tornam o mapa de energia mais uniforme, o que pode ajudar com imagens ruidosas.
  • sobelThreshold afeta o quão agressivamente as bordas são detectadas. Valores menores preservam mais bordas sutis.
  • A saída é sempre no formato PNG.
  • Suporta os formatos de entrada HEIC/HEIF, RAW, TGA, PSD, EXR e HDR via decodificação automática.