Nodes/ComfyUI LC123 Nodes/LC Image Desaturate
ComfyUI Node

LC Image Desaturate

Every way to compute grayscale, one factor

By lonecatone23·Created 2 months ago·Updated 3 days ago· 18
LC Image Desaturate
  • image
  • image
factor1.00
methodluminance (Rec.709)

Desaturation sounds trivial until you actually do it - and then you discover that how you compute the gray changes the whole image. LC Image Desaturate (LCImageDesaturate) is the LC123 pack's take on the operation: a single factor slider (0 = full color, 1 = fully grayscale) plus a method dropdown with six different ways to compute the luminance. It's the "Essentials-style" desaturator, per the node's own description, and it settles an argument most people didn't know existed.

Why the method matters

If you just average red, green, and blue, you get a gray that's lighter than the image looks - because human vision weights green far more heavily than blue. That's why the luminance methods exist:

  • luminance (Rec.709) - the modern HD standard (0.2126 R, 0.7152 G, 0.0722 B). The default, and usually the right answer - it matches how bright things actually look.
  • luminance (Rec.601) - the older SDTV standard (0.299 / 0.587 / 0.114), slightly heavier on red. If your grayscale looks different from Rec.709 on the same image, this is why.
  • average - the naive (R+G+B)/3. Flat, and brighter than reality. Fine for a stylistic "flat" look.
  • lightness - (max + min) / 2, the HSL definition. Very gentle, low contrast.
  • max / min - take the brightest or darkest channel. These are not "grayscale" so much as "which channel wins" - max gives a bright, saturated-feeling gray; min gives a dark, moody one.

The whole point: different images flatter different methods. A red-dominant render desaturated with Rec.601 will be noticeably lighter than with Rec.709, because 601 gives red more weight.

The controls

Just two, which is the node's whole personality:

  • factor (0–1, default 1) - how far toward gray to go. 0.5 leaves you half-desaturated, which is a genuinely nice trick for "muted, not mono."
  • method - the six above.

Output is a single image. With the pack's on-node wipe preview, A/B-ing methods takes about two seconds each.

Where it fits

Two uses stand out. First, honest B&W groundwork: if you're heading to grayscale, desaturate properly with Rec.709 luminance and you'll get a much better base than a blind average - then stack LC Film Stock (B&W) on top if you want an actual film look. Second, the partial-factor trick: 0.3–0.6 desaturation with a strong grade on top is a classic "washed, nostalgic" look that pure saturation sliders can't reach.

Install

Part of ComfyUI_LC123_nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes

or ComfyUI Manager, then restart. Pure tensor math - no dependencies, no models.

The pack is a quiet niche collection with no real Reddit presence, so don't expect community wisdom here. The source in lc_image_tools.py is about fifteen lines and is the definitive spec: it's a lerp from the original toward your chosen gray, nothing more, nothing less.

CategoryLC123/image

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
factorFLOAT1.000–10 = full color, 1 = fully desaturated
methodCOMBOluminance (Rec.709)How grayscale is computed

Outputs (1)

NameTypeDescription
imageIMAGE