How to apply white balance to partial image?

I will use one of my example to illustrate my question. I have a picture, before I apply any of the processing in darktable it looks like

After I applied some changes, primary white balance change I got

The sky has the color I prefer, but the snow and frozen lake in foreground has also been turned to blue color. I think the reason is that white balance module does not have a parametric mask.

Then I start to use tune curve, I hope to turn the snow into white.

I used a gradient drawn mask to cover the lower part of the picture. Then I played with tone curve and I hope to crush blue color. But it looks like I can only remove small amount of blue.



I would like to know if there is a better way to achieve what I need? Or maybe my whole direction from very beginning is wrong?

Couple of things, note that in the curve tool to shift colors around the line should not go through the center point of the graph of the a and b plots (per default there is point there to keep it centered so to keep the color balance).

Some other options are the “color correction”, “color zones” and maybe some other options under the color tab.

After I played with a/b curves further I made the snow white. Now I need to figure out the lake color.


I prefer to use color balance module combined with parametric/drawn masks for selective color correction/white balancing. You have many other options for selective color correction in darktable like channel mixer, colorize, color zones, color correction, and even split toning modules.