Search K
Изменение размера с учётом содержимого
Изменение размера методом вырезания швов, которое интеллектуально удаляет или добавляет пиксели вдоль путей наименьшей визуальной значимости, сохраняя важное содержимое и опционально защищая лица.
Конечная точка 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.
Пример запроса
bash
curl -X POST http://localhost:1349/api/v1/tools/image/content-aware-resize \
-F "[email protected]" \
-F 'settings={"width":800,"protectFaces":true}'Ответ (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
}Примечания
- Этот пользовательский маршрут в настоящее время возвращает синхронный ответ 200.
- Использует библиотеку вырезания швов
caireдля изменения размера с учётом содержимого. - Только уменьшает размеры (удаляет швы). Не может увеличить изображение сверх его исходного размера.
- Опция
protectFacesиспользует ИИ-обнаружение лиц, чтобы отметить области лиц как высокоэнергетические, предотвращая прохождение швов через лица. blurRadiusуправляет сглаживанием перед расчётом карты энергии. Более высокие значения делают карту энергии более однородной, что может помочь с зашумлёнными изображениями.sobelThresholdвлияет на то, насколько агрессивно обнаруживаются границы. Меньшие значения сохраняют больше слабых границ.- Вывод всегда в формате PNG.
- Поддерживает входные форматы HEIC/HEIF, RAW, TGA, PSD, EXR и HDR через автоматическое декодирование.
