Gray pixels turn pink upon saturation boost

XnConvert Multi Platform - Windows, MacOSX, Linux

Moderator: xnview

crystallize
Posts: 2
Joined: Mon Jun 30, 2025 3:22 am

Gray pixels turn pink upon saturation boost

Post by crystallize »

When I use Curve action and wrap it with Adjust blocks (Saturation -15 and Saturation +15, noticed that it helps to avoid decoloration of pixels affected by Curve) grey pixels frequently turn pink.
Is it a bug or something?
I've noticed that it can be helped with Hue 85 in one block and Hue 15 in the other (no idea why this works), but maybe there is a better solution?
juanitaneely
Posts: 1
Joined: Mon Mar 02, 2026 7:41 am

Re: Gray pixels turn pink upon saturation boost

Post by juanitaneely »

crystallize wrote: Mon Jun 30, 2025 3:46 am When I use Curve action and wrap it with Adjust blocks (Saturation -15 and Saturation +15, noticed that it helps to avoid decoloration of pixels affected by Curve) grey pixels frequently turn pink.
Is it a bug or something?
I've noticed that it can be helped with Hue 85 in one block and Hue 15 in the other (no idea why this works), but maybe there is a better solution?
I think it's not bug. What’s happening:

- The Curve slightly unbalances RGB channels (even if the curve looks neutral).
- Saturation −15 and then +15 is not mathematically reversible (it’s nonlinear).
- Tiny channel differences get amplified when you restore saturation.
- Neutral grey (R=G=B) becomes slightly red-biased → appears pink.
- 8-bit rounding makes it worse.

Here are better solutions:

- Apply the curve to luminance/lightness only (not RGB channels).
- Work in 16-bit if possible.
- Avoid symmetric −Saturation / +Saturation wrapping.