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

2.5 KiB

Documentation

Parabolize节点旨在对图像应用抛物线变换,通过调整其颜色和对比度来增强其视觉特征。它通过应用一个数学函数来实现这一点,该函数基于给定的系数和顶点参数来操作像素值,从而产生可用于各种创意或分析目的的风格化输出。

Input types

Required

  • image
    • 图像参数是节点将处理的输入图像。它对节点的操作至关重要,因为它是抛物线变换的对象。图像的内容和格式直接影响节点执行的结果。
    • Comfy dtype: IMAGE
    • Python dtype: torch.Tensor
  • coeff
    • 系数参数决定了应用于图像的抛物线效果的程度。它是一个可选参数,允许用户控制变换的强度,默认值提供了一个平衡的效果。
    • Comfy dtype: FLOAT
    • Python dtype: float
  • vertex_x
    • vertex_x参数指定了抛物线函数顶点的x坐标。它是一个可选参数,影响图像内抛物线曲线的位置,影响变换像素值的分布。
    • Comfy dtype: FLOAT
    • Python dtype: float
  • vertex_y
    • vertex_y参数定义了抛物线函数顶点的y坐标。它是一个可选参数,调整抛物线曲线的垂直位置,从而影响变换图像的整体亮度。
    • Comfy dtype: FLOAT
    • Python dtype: float

Output types

  • parabolized_image
    • parabolized_image输出是将抛物线变换应用于输入图像的结果。它代表了一个新的图像,其像素值经过调整,反映了所选择的系数和顶点参数的效果。
    • Comfy dtype: IMAGE
    • Python dtype: torch.Tensor

Usage tips

  • Infra type: CPU

Source code

class Parabolize:

    def __init__(self):
        pass

    @classmethod
    def INPUT_TYPES(cls):
        return {'required': {'image': ('IMAGE',), 'coeff': ('FLOAT', {'default': 1.0, 'min': -10.0, 'max': 10.0, 'step': 0.1}), 'vertex_x': ('FLOAT', {'default': 0.5, 'min': 0.0, 'max': 1.0, 'step': 0.1}), 'vertex_y': ('FLOAT', {'default': 0.5, 'min': 0.0, 'max': 1.0, 'step': 0.1})}}
    RETURN_TYPES = ('IMAGE',)
    FUNCTION = 'parabolize_image'
    CATEGORY = 'postprocessing/Color Adjustments'

    def parabolize_image(self, image: torch.Tensor, coeff: float, vertex_x: float, vertex_y: float):
        parabolized_image = coeff * torch.pow(image - vertex_x, 2) + vertex_y
        parabolized_image = torch.clamp(parabolized_image, 0, 1)
        return (parabolized_image,)