Files
SnapOtter/apps/docs/ru/tools/image/content-aware-resize.md
T

65 lines
4.4 KiB
Markdown
Raw Normal View History

---
description: "Изменение размера методом вырезания швов, добавляющее или удаляющее пиксели вдоль путей с низкой значимостью для сохранения ключевого содержимого и лиц."
i18n_source_hash: f383b28ab62a
i18n_provenance: human
i18n_output_hash: 1d1b27052ac0
---
# Изменение размера с учётом содержимого {#content-aware-resize}
Изменение размера методом вырезания швов, которое интеллектуально удаляет или добавляет пиксели вдоль путей наименьшей визуальной значимости, сохраняя важное содержимое и опционально защищая лица.
## Конечная точка API {#api-endpoint}
`POST /api/v1/tools/image/content-aware-resize`
**Обработка:** Синхронная (возвращает результат напрямую)
**Пакет модели:** Не требуется для базовой работы. Защита лиц использует пакет `face-detection` (200-300 МБ), если включена.
## Параметры {#parameters}
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|-----------|------|----------|---------|-------------|
| 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`.
## Пример запроса {#example-request}
```bash
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) {#response-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
}
```
## Примечания {#notes}
- Этот пользовательский маршрут в настоящее время возвращает синхронный ответ 200.
- Использует библиотеку вырезания швов `caire` для изменения размера с учётом содержимого.
- Только уменьшает размеры (удаляет швы). Не может увеличить изображение сверх его исходного размера.
- Опция `protectFaces` использует ИИ-обнаружение лиц, чтобы отметить области лиц как высокоэнергетические, предотвращая прохождение швов через лица.
- `blurRadius` управляет сглаживанием перед расчётом карты энергии. Более высокие значения делают карту энергии более однородной, что может помочь с зашумлёнными изображениями.
- `sobelThreshold` влияет на то, насколько агрессивно обнаруживаются границы. Меньшие значения сохраняют больше слабых границ.
- Вывод всегда в формате PNG.
- Поддерживает входные форматы HEIC/HEIF, RAW, TGA, PSD, EXR и HDR через автоматическое декодирование.