Cut And Drag On Path(CutAndDragOnPath)
Узел сначала анализирует входную строку с координатами пути, затем точно определяет границы области изображения, покрытой маской, и обрезает её.
Cut And Drag On Path
Узел Cut And Drag On Path сначала анализирует входную строку с координатами пути, затем точно определяет границы области изображения, покрытой маской, и вырезает её.
Cut And Drag On Path — это инструмент обработки изображений, который вырезает область, выбранную маской на изображении, и перемещает её вдоль определённого пользователем пути. Узел в основном используется для создания динамических эффектов, например, для скольжения или парения объекта по определённой траектории в кадре. Если включена функция восстановления (inpaint), он также может интеллектуально заполнять пустые области, оставшиеся после вырезания.
Функциональность узла
Узел сначала анализирует входную строку с координатами пути, затем точно определяет границы области изображения, покрытой маской, и вырезает её. Вырезанный фрагмент изображения перемещается и компонуется на холсте заданного размера в соответствии с последовательностью координат. Техническая суть заключается в анализе координат, вырезании области и перераспределении позиций. Поддерживаются стандартные форматы тензоров IMAGE и MASK, а также опциональное использование фонового изображения или встроенного алгоритма восстановления для обработки фона.
Описание параметров узла - Cut And Drag On Path
Входные соединения (Inputs)
| Название параметра | Тип данных | Обязательный | Значение по умолчанию | Диапазон/Опции | Описание |
|---|---|---|---|---|---|
image | IMAGE | Да | - | - | Входное изображение, из которого будет вырезана область маски и перемещена по пути. |
mask | MASK | Да | - | - | Маска, определяющая область для вырезания из изображения. Учитываются только ненулевые пиксели. |
bg_image | IMAGE | Нет | - | - | Необязательное фоновое изображение. Если указано, будет использоваться для заполнения пустых областей вместо алгоритма восстановления. |
Параметры управления (Parameters)
| Название параметра | Тип данных | Обязательный | Значение по умолчанию | Диапазон/Опции | Описание |
|---|---|---|---|---|---|
coordinates | STRING | Да | - | - | Строка, задающая последовательность координат для пути перемещения. Должна быть JSON-массивом определённого формата. |
frame_width | INT | Да | 512 | 16 - 4096 (шаг: 1) | Задаёт ширину выходного изображения. Диапазон от 16 до 4096, шаг 1. |
frame_height | INT | Да | 512 | 16 - 4096 (шаг: 1) | Задаёт высоту выходного изображения. Диапазон от 16 до 4096, шаг 1. |
inpaint | BOOLEAN | Да | True | - | Логический переключатель, управляющий выполнением интеллектуального восстановления для заполнения пустых областей, оставшихся после вырезания. При включении и отсутствии фонового изображения область вырезания заполняется с помощью алгоритма cv2 TELEA. |
Выходные данные (Output)
| Название параметра | Тип данных | Описание |
|---|---|---|
| image | IMAGE | Обработанная последовательность выходных изображений. |
| mask | MASK | Последовательность масок, преобразованная по тому же пути. |
Сценарии использования
Этот узел можно использовать при создании простой анимации или спецэффектов. Например, в рабочем процессе обработки видеокадров: сначала с помощью SAM или ручного рисования получается маска объекта, затем через другие узлы генерируется строка координат пути движения, которая, наконец, подаётся на этот узел. В результате будет выведена последовательность изображений, где объект движется по пути, для последующего синтеза кадров.
Важные замечания
Обратите внимание, что входная строка координат должна соответствовать определённым требованиям формата JSON, иначе она может быть некорректно проанализирована. Кроме того, если область маски полностью чёрная (т.е. не выбрана ни одна область), узел просто вернёт исходный вход без какой-либо обработки.
Ссылка на исходный код узла Cut And Drag On Path
Узел Cut And Drag On Path из пакета узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.