Files
SnapOtter/apps/docs/ru/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

4.4 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Изменение размера методом вырезания швов, добавляющее или удаляющее пиксели вдоль путей с низкой значимостью для сохранения ключевого содержимого и лиц. f383b28ab62a human 1d1b27052ac0

Изменение размера с учётом содержимого

Изменение размера методом вырезания швов, которое интеллектуально удаляет или добавляет пиксели вдоль путей наименьшей визуальной значимости, сохраняя важное содержимое и опционально защищая лица.

Конечная точка API

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

Обработка: Синхронная (возвращает результат напрямую)

Пакет модели: Не требуется для базовой работы. Защита лиц использует пакет face-detection (200-300 МБ), если включена.

Параметры

Параметр Тип Обязательный По умолчанию Описание
file file Да - Файл изображения (multipart)
width number Нет - Целевая ширина в пикселях
height number Нет - Целевая высота в пикселях
protectFaces boolean Нет false Обнаруживать и защищать лица от удаления швов
blurRadius number Нет 4 Радиус предварительного размытия для расчёта энергии (0-20)
sobelThreshold number Нет 2 Порог обнаружения границ Собеля (1-20). Более высокие значения делают алгоритм более агрессивным
square boolean Нет false Изменить размер до квадрата (использует меньший размер)

Должен быть указан хотя бы один из width, height или square.

Пример запроса

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

Ответ (200 OK)

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

Примечания

  • Этот пользовательский маршрут в настоящее время возвращает синхронный ответ 200.
  • Использует библиотеку вырезания швов caire для изменения размера с учётом содержимого.
  • Только уменьшает размеры (удаляет швы). Не может увеличить изображение сверх его исходного размера.
  • Опция protectFaces использует ИИ-обнаружение лиц, чтобы отметить области лиц как высокоэнергетические, предотвращая прохождение швов через лица.
  • blurRadius управляет сглаживанием перед расчётом карты энергии. Более высокие значения делают карту энергии более однородной, что может помочь с зашумлёнными изображениями.
  • sobelThreshold влияет на то, насколько агрессивно обнаруживаются границы. Меньшие значения сохраняют больше слабых границ.
  • Вывод всегда в формате PNG.
  • Поддерживает входные форматы HEIC/HEIF, RAW, TGA, PSD, EXR и HDR через автоматическое декодирование.