Using delaboratory for CMYK skin tone enhancement

Submitted by kofa on Mon, 10/08/2012 - 22:04

One of the reasons to shoot raw is better control over colours, including white balance. I've been using Rawtherapee (www.rawtherapee.com) and darktable (www.darktable.org) on Linux to develop my raw photos. Unfortunately, neither of those tools support the CMYK colour space, which is considered by many to be a great tool for skin tone enhancement [reference needed]. This is where a surprisingly small and simple yet capable tool called delaboratory enteres the picture (pun intended).

In delaboratory, you adjust your pictures by applying a number of layers. Layers come in two varieties:

  • colour space conversion [supported colour spaces include sRGB and LAB, LCH, HSV, HSL and yes, CMYK]
  • adjustment layers (the available adjustments depend on the selected colour space, e.g. for RGB you can manipulate the RGB channels; for CMYK, the CMYK channels).

The layers are not just a form of history: at any time, without undoing any of the top layers, you can switch the view to any previous layer (using the radio buttons), or you can leave the view on the top layer, but still edit the settings of any previous adjustment layer.

A great option in delaboratory is to define a number of colour samplers that are active; that is, they reflect the adjustments that you make, and also take the selected layer (in your history stack) into consideration. The colour space of each sampler can be defined on an individual basis, which means two things:

  • the colour space of any one sampler is not tied to that of any other, and
  • the samplers' colour spaces are not tied to the active adjustment layer's colour space, either (so you can be working on a HVL layer, adjusting HSL curves, and check your results (in real time) in RGB or LAB if that's what you need).

Moreover, the samplers can remain visible while the editor window of an adjustment layer is open. Enough of the praise, what can you do with this tool?

Well, I recently took pictures why celebrating my son's 2nd birthday. The lighting was mixed: we had strong bluish backlight from a nearby window, much less front light from a more distant window, and the table where he sat was illuminated from above by a 2700 K fluorescent bulb (very warm and with the typical green tinge characteristic of household fluorescent lamps). The result? First I tried to get the colours roughly OK in the raw developer (I know contrast is washed out, and the image is pretty crappy, but I think it does show the editing power of delaboratory).

The problems that we'll fix are:

  • skin tones are not really correct anywhere;
  • there's a strong green tinge on his neck;
  • his hair is blue because of the backlight.

The colour issue can be fixed very easily in delaboratory. The first step was to get skin tones right. In order to do that, I added CMYK samplers on his forehead and the problematic shoulder area, then converted the image to CMYK:

With the CMYK conversion layer in place, I proceeded to add a curves adjustment layer. It seems that most people agree on good skin tones for fair skinned people to have 3-5 times as much M (magenta) as C (cyan), and the same or slightly higher amount of Y (yellow) as for M. In his case, the skin of his shoulder looks greenish; to fix that, I applied CMYK curves (curves after a CMYK conversion layer):

I then clicked the areas I wanted to adjust, and used the Yellow channel to fix the colours:

Finally, I wanted to fix the blue hair issue. In order to do that, I added a conversion layer to switch into HSL (hue, saturation, lightness):

I then added an adjustment layer to desaturate the image:

Finally, I  used the L channel to mask out parts of the image I wanted to keep intact. This way, only the bluish highlights in his hair lost their saturation.

All it took was less than 5 minutes, way less than the time to type up this blog entry. If you like my results, go and give delaboratory a try! Please note that I used version 0.7; blending mode adjustments are not available in 0.8, and development of that branch has stopped. Worry not though, as Jacek will soon get back with an even better version, so keep an eye on this neat tool.