Files
CavinHuang-comfyui-nodes-docs/docs/CenterImage.md
2024-05-26 20:35:16 +08:00

63 lines
3.0 KiB
Markdown

# Documentation
- Class name: CenterImage
- Category: ♾️Mixlab/Layer
- Output node: False
- Repo Ref: https://github.com/shadowcz007/comfyui-mixlab-nodes.git
CenterImage节点旨在将图像处理并居中放置在给定的画布内,重点关注指定的区域。它通过计算所需的坐标和尺寸来实现这一点,同时考虑所提供的边距。该节点的功能不仅限于简单的放置;它还生成一个与居中区域相对应的掩码,增强了其在各种图像处理任务中的适用性。
# Input types
## Required
- canvas
- 画布参数是必需的,因为它代表了将执行居中操作的基础图像。它是节点执行的基础,直接影响输出的网格和掩码。
- Comfy dtype: IMAGE
- Python dtype: PIL.Image.Image
- left
- left参数指定了居中操作的左边距。它对于确定图像在画布中的确切位置至关重要,并有助于最终居中的外观。
- Comfy dtype: INT
- Python dtype: int
- top
- top参数定义了居中过程中的上边距。它在图像的垂直放置中起着重要作用,并影响整体的居中布局。
- Comfy dtype: INT
- Python dtype: int
- right
- right参数设置了画布内图像的右边距。它是水平定位的重要因素,并有助于精确地构建居中图像的框架。
- Comfy dtype: INT
- Python dtype: int
- bottom
- bottom参数指示了图像居中所需的下边距。它对于垂直对齐至关重要,并确保图像正确地包含在画布边界内。
- Comfy dtype: INT
- Python dtype: int
# Output types
- grid
- 网格输出提供了画布内居中图像的坐标和尺寸。这些信息对于进一步的图像处理或操作任务至关重要。
- Comfy dtype: _GRID
- Python dtype: Tuple[int, int, int, int]
- mask
- 掩码输出是一个二进制图像,它描绘了居中图像的区域。它在图像处理工作流程中的掩蔽、过滤或分割等应用中非常重要。
- Comfy dtype: MASK
- Python dtype: torch.Tensor
# Usage tips
- Infra type: CPU
# Source code
```
class CenterImage:
@classmethod
def INPUT_TYPES(s):
return {'required': {'canvas': ('IMAGE',), 'left': ('INT', {'default': 24, 'min': 0, 'max': 5000, 'step': 1, 'display': 'number'}), 'top': ('INT', {'default': 24, 'min': 0, 'max': 5000, 'step': 1, 'display': 'number'}), 'right': ('INT', {'default': 24, 'min': 0, 'max': 5000, 'step': 1, 'display': 'number'}), 'bottom': ('INT', {'default': 24, 'min': 0, 'max': 5000, 'step': 1, 'display': 'number'})}}
RETURN_TYPES = ('_GRID', 'MASK')
RETURN_NAMES = ('grid', 'mask')
FUNCTION = 'run'
CATEGORY = '♾️Mixlab/Layer'
INPUT_IS_LIST = False
def run(self, canvas, left, top, right, bottom):
canvas = tensor2pil(canvas)
grid = centerImage((left, top, right, bottom), canvas)
mask = createMask(canvas, left, top, canvas.width - left - right, canvas.height - top - bottom)
return (grid, pil2tensor(mask))
```