Converging colors towards a single hue

I’ve had this idea for editing a series of photos where I want to make a selection of a color, say all the shares of green in some trees and bushes in a scene, and push all those different shades of green towards a single share of green.

In the darktable chat, @Donatzsky linked this video showing a new feature in ACR, which reminded me of this: https://www.youtube.com/watch?v=mEgFQC430k0

So far, I’ve not been too successful at doing this with existing modules: I usually make a selection using masks in Color Balance RGB, use the sliders to lessen the color intensity, then use the color grading tools on the 4-way tab to grade the desaturated color close to where I want it.

This method is pretty hit and miss and quite laborious. Any ideas on how to achieve this effect? Or should I ask for yet another module :upside_down_face:

3 Likes

Use the fill tool in the retouch module with chromaticity blend mode:

  1. Select the color range with parametric mask.
  2. In the fill tool choose “color” as fill mode.
  3. With color picker select the color you want to have uniform.
  4. Add a drawn mask over the whole image
  5. Select chromaticity blend mode.
  6. With opacity slider you can then regulate the color uniformity

This is about green:

Opacity 0:

Opacity 100:

9 Likes

Damn, your mastery is unparalleled. :man_bowing:

6 Likes

This is the old trick I always needed to balance skin colors in portraits. This is from the GIMP days. :wink:

3 Likes

omg, this is exactly what I’ve been wanting to do for ages too, both converging on a single hue and creating separation between hues.

I would never have thought to use the Retouch module, so I’m going to have a play with it now.

That said, the Variance slider in ACR looks really nice and easy.

2 Likes

I have used the Colorize module in the past to do something similar. Is there a reason why the Retouch module is better?

Yes, it is located in scene-referred area.

You can also use color balance rgb module.
@paperdigits has already described that above.

in the developer version of darktable you can use the color pickers in the 4 Ways tab with ctrl+click to select the color.

If you then move global chroma to -100 and select same color with all color pickers in the 4 ways tab, you get a nice result, with the advantage that you can adjust both the hue and the saturation afterwards:

4 Likes

Another simple method is with the color equalizer.

You only have to place the adjacent hues along/parallel the hue line of the color you want to be uniform:

In the opposite direction, you can also extend the hues by inverting the adjacent hues from the hue line ( perpendicular):

2 Likes

Hmm, maybe I’m doing something wrong, but I get very (too) subtle changes using the Retouch / Color Balance RGB chromaticity methods.

Whereas using Colorize with the color blending mode, I get much more of a uniform convergence towards a specific hue.

Left of the snapshot line is the original gradient. Right of the snapshot line is using Colorize (second rectangle from top used as reference colour) with the “color” blend mode:

You can then use opacity to adjust the strength of the effect.

I have yet to give any of these methods much practice on real photos, so take all this with a big pinch of salt.

1 Like

I suspect it is due to the color space that your gradient has. Try creating a color gradient in a linear color space.

1 Like

Thanks. I tried again on a RAW photo, and I’m getting much better results, so maybe that was it.

I’ve noticed that the saturation gets decreased a fair amount with chromaticity blend mode, so you can either reduce the opacity to bring back more of the original colour or boost saturation elsewhere.

I still find that I get better results with the Color blend mode (even in Retouch module), because it retains saturation better. I know it only works in the display-referred space, so maybe it can cause problems in some images. But at least to my eyes, I feel I’m getting more pleasing results, especially with opacities around 35-55%.

Either way, new techniques to explore, thanks @s7habo for your help and thanks @paperdigits for bringing it up.

(I still want that Variance slider :slight_smile: )

2 Likes

I have the exact opposite problem with some images I am working on right now. The greens are too homogeneous, and I want some separation to get a sense of depth, etc.

This thread has given me a bunch of things to experiment with. :+1:

3 Likes

Just had a go at this, and it works a treat. Like exactly what I wanted. Now I have more editing to do, thanks @s7habo!

2 Likes

Which one did you use the retouch or the rgb CB method Boris outlined…

Both. I like the CB RGB more, as the global sliders on the first tab provide nice control

1 Like

I have the opposite issue, I need more separation of shades of brown in this picture (I have the feeling without trying yet, ColorEQ might be the easiest?):

Oops, no :smile:

@s7habo I thought I tried your uniform trick from your first post here before I learn how to invert it, but I get this mask, looks odd to me:

and this is the result, where in the first place I followed the challenge of @paperdigits to make all shades of brown uniform… …not that nice

1 Like

Hi @AxelG ,

you have to denoise your photo to get an even mask and use the mask refinement options, especially feathering radius to better adjust parametric mask.

1 Like

You don’t have to go that far with neighboring hues. It’s about subtle changes if you want to extend the color range:

Here with additional darkening and saturation improvement:

And as far as the mask is concerned,
without…

…and with feathering radius and mask contrast:

2 Likes