Files
SnapOtter/apps/docs/pt-BR/tools/image/content-aware-resize.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.0 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Redimensionamento por corte de costura (seam carving) que adiciona ou remove pixels ao longo de caminhos de baixa importância para preservar o conteúdo principal e os rostos. f383b28ab62a human d6732db341fa

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âmetro Tipo Obrigatório Padrão Descrição
file file Sim - Arquivo de imagem (multipart)
width number Não - Largura alvo em pixels
height number Não - Altura alvo em pixels
protectFaces boolean Não false Detecta e protege rostos da remoção de costuras
blurRadius number Não 4 Raio de desfoque de pré-processamento para o cálculo de energia (0-20)
sobelThreshold number Não 2 Limiar de detecção de bordas Sobel (1-20). Valores maiores tornam o algoritmo mais agressivo
square boolean Não false Redimensiona para um quadrado (usa a menor dimensão)

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

Exemplo de Requisição

curl -X POST http://localhost:1349/api/v1/tools/image/content-aware-resize \
  -F "file=@landscape.jpg" \
  -F 'settings={"width":800,"protectFaces":true}'

Resposta (200 OK)

{
  "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.