Описание
Узел Image Transform KJ предоставляет интерактивный интерфейс в предпросмотре для обрезки, изменения размера, добавления отступов и поворота изображений (и опциональных масок).
Подключите вход изображения, и предпросмотр появится автоматически, позволяя рисовать области обрезки, настраивать расположение отступов и применять поворот непосредственно в предпросмотре.
Обрезка:
- Нажмите и перетащите, чтобы нарисовать область обрезки.
- Перетащите внутрь области, чтобы переместить её; перетащите края или углы, чтобы изменить размер.
- Правой кнопкой мыши — удалить область.
- Удерживайте Ctrl для привязки к сетке.
- Удерживайте Shift при изменении размера для сохранения соотношения сторон.
- Удерживайте Alt при изменении размера для симметричного изменения размера относительно центра.
Отступы:
- Удерживайте Shift и перетащите содержимое внутри предпросмотра, чтобы настроить позицию отступа (эквивалентно изменению
pad_xиpad_y).
Поворот:
- Нажмите кнопку Поворот, чтобы включить крест поворота. Перетащите для поворота; правой кнопкой мыши — сброс поворота.
Входы
| Имя | Тип | По умолчанию | Подсказка / Описание |
|---|---|---|---|
image | IMAGE / MATCHTYPE | – | Изображение (или тензор, совместимый с маской) для преобразования. |
mask | MASK | optional | Опциональная маска для преобразования вместе с изображением. |
target_width | INT | 0 | Целевая ширина вывода. 0 = сохранить оригинальную ширину. |
target_height | INT | 0 | Целевая высота вывода. 0 = сохранить оригинальную высоту. |
upscale_method | COMBO | lanczos | Метод интерполяции для изменения размера: nearest-exact, bilinear, area, bicubic, lanczos. |
keep_proportion | DYNAMICCOMBO | – | Управляет тем, как содержимое вписывается в целевые размеры (например, сохранение соотношения сторон, растяжение и т.д.). Параметры зависят от бэкенда: настройте в соответствии с вашим рабочим процессом. |
divisible_by | INT | 2 | Гарантирует, что размеры вывода делятся на это значение (0 = без ограничений; макс. 512). |
extra_padding | DYNAMICCOMBO | – | Включает дополнительные отступы вокруг обрезанного содержимого. Когда активно, используются pad_x, pad_y и edge_mode. |
invert_crop | DYNAMICCOMBO | – | Когда включено, область обрезки инвертируется (область вне обрезки сохраняется/обрабатывается). |
bboxes | STRING | "" | Опциональные существующие границы (например, от узла детекции) для применения или изменения. |
pad_x | FLOAT | 0.5 | Горизонтальное положение содержимого внутри области с отступом (0 = слева, 0.5 = по центру, 1 = справа). Также настраивается интерактивно с помощью Shift+перетаскивания содержимого. |
pad_y | FLOAT | 0.5 | Вертикальное положение содержимого внутри области с отступом (0 = сверху, 0.5 = по центру, 1 = снизу). Также настраивается интерактивно с помощью Shift+перетаскивания содержимого. |
edge_mode | COMBO | clamp | Как заполнять области отступов: clamp (расширение краевых пикселей), repeat (замостить изображение), mirror (замостить с зеркалированием). |
width_mult | FLOAT | 1.0 | Умножить ширину обрезки на этот коэффициент. Диапазон [0.01, 16], шаг 0.05. |
height_mult | FLOAT | 1.0 | Умножить высоту обрезки на этот коэффициент. Диапазон [0.01, 16], шаг 0.05. |
Примечание: Интерактивный предпросмотр обновляется в реальном времени. Изменения pad_x, pad_y, width_mult, height_mult и поворота отражаются немедленно.
Выходы
| Выход # | Тип | Описание |
|---|---|---|
| 1 | IMAGE (того же типа, что и вход) | Преобразованное изображение после обрезки, изменения размера, отступа и поворота. |
| 2 | MASK | Преобразованная маска (если был предоставлен вход маски; в противном случае пустая маска). |
| 3 | BBOX | Координаты границ (Bounding Box) примененной области обрезки (формат зависит от бэкенда, обычно [x1, y1, x2, y2] или аналогично). |
| 4 | MASK | Маска, соответствующая обрезанной области (полезна для композиционирования или дальнейшей обработки). |
| 5 | INT | Ширина итоговой области обрезки. |
| 6 | INT | Высота итоговой области обрезки. |
Замечания по использованию
- Интерактивная обрезка является основным рекомендуемым рабочим процессом: предпросмотр позволяет интуитивно выбирать области обрезки. Вход
bboxesможно использовать для программного предоставления или переопределения области. - Поведение изменения размера: Когда и
target_width, иtarget_heightравны 0, выход сохраняет размер обрезки/отступа без дополнительного увеличения разрешения. Чтобы изменить размер до конкретного разрешения, установите одну или обе цели и выберитеupscale_method. Опцияkeep_proportionопределяет, будет ли изображение растянуто, обрезано для вписывания или дополнено отступами для заполнения цели. - Отступы применяются только когда
extra_paddingактивен. Используйтеpad_x/pad_yдля позиционирования содержимого, аedge_modeдля управления заполнением области отступа. - Поворот применяется после обрезки и до изменения размера/отступов. Крест поворота в предпросмотре дает точный контроль; поворот хранится внутренне и может быть настроен для каждого сеанса.
- Параметр
divisible_byполезен для выравнивания размеров до дружественных модели размеров (например, кратных 8, 16, 32). Установка значения 0 отключает ограничение. - Привязка координат: Удерживайте Ctrl при рисовании или перемещении прямоугольника обрезки, чтобы привязать его положение и размер к сетке (шаг сетки определяется внутренним шагом узла). Это помогает выравнивать обрезки по регулярной сетке.
Все параметры, влияющие на итоговый выход, представлены как входы, поэтому узел можно использовать как интерактивно, так и в автоматизированных пайплайнах, подключая соответствующие значения (например, от других узлов, которые выводят границы или размеры).
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.