Color Transform Processor

Overview

The Color Transform Processor applies color-based effects to an image. It can perform a variety of color transformations such as inverting colors, applying a color tint (colorize), converting the image to grayscale, and applying a sepia tone. This processor is designed to work on the entire image or selected areas based on a mask.


Example Usage

- processor:
   processor: "color_transform"
      inputs:
         source: "input/image.png" # Input image (RGBA)
         mask: "input/mask.png" # (Optional) Grayscale mask to limit the effect to a specific area
      params:
         effect: "invert" # Effect to apply. Options: "invert", "colorize", "grayscale", "sepia"
         # Parameters specific to "colorize" effect:
         color: "rgba(255, 0, 0, 0.5)" # Color in RGBA (only used if effect is "colorize")
         intensity: 0.75 # Intensity of the effect (0.0 to 1.0)
      outputs:
         target: "output/colored.png" # Output PNG image after applying the effect

Inputs

Key Required Description
source Yes Filepath to the input image (RGBA).
mask Filepath to the grayscale mask image. Limits effect application if provided.

Params

Key Type Default Description
effect str "invert" The color transformation to apply. Options include "invert", "colorize", "grayscale", "sepia".
tint_color str N/A Tint color in RGBA for the "colorize" effect.
intensity float 1.0 Intensity of the effect, ranging from 0.0 (no effect) to 1.0 (full effect).

Outputs

Key Required Description
target Yes Filepath to the output PNG image with the color transformation applied.

Processing Details

  1. Input Loading:

    • Load the source image in RGBA.
    • Optionally load a grayscale mask if provided, to restrict the effect to specific areas.
  2. Effect Application:

    • Invert: Reverse the color values of each pixel.
    • Colorize: Blend the original colors with the specified tint_color based on the intensity parameter.
    • Grayscale: Convert the image to grayscale.
    • Sepia: Apply a sepia tone transformation to give the image a warm, vintage look.
    • The processor uses the intensity value to adjust the strength of the effect.
  3. Mask Handling (Optional):

    • If a mask is provided, limit the effect application to the regions where the mask is non-zero.
  4. Output Generation:

    • Generate the processed image and save it as a PNG in RGBA format to the specified output target.