Modules for working specifically on your image's color are found here in the color group.
First select your output channel and then set the amount each input channel feeds into that output channel.
|For skin tones the blue channel tends to represent detail, with red tending to also have smoother tones than green. Therefore tonal rendering is controlled by how we blend of the three input channels.|
|Here a monochrome portrait is produced by simply selecting the grey channel as output. A smooth skin tone is achieved by reducing the blue channels input and also emphasizing the red channels input relative to green. An RGB mix of 0.9, 0.3, -0.3 was used together with an 0.1 EV exposure increase to lighten the image.|
|In this example an RGB mix of 0.4, 0.75, -0.15 uses more green than red, bringing back some features. We still reduce the blue channel in the mix to de-emphasize unwanted skin texture.|
Classic black and white films have different characteristic color responses. Select gray as output mixing channel, and try out the values suggested below for your favorite film type.
|Ilford Delta 100||0.21||0.42||0.37|
|Ilford Delta 400||0.22||0.42||0.36|
|Ilford Delta 3200||0.31||0.36||0.33|
|Ilford Pan F||0.33||0.36||0.31|
|Ilford XP2 Super||0.21||0.42||0.37|
|Kodak T-Max 100||0.24||0.37||0.39|
|Kodak T-Max 400||0.27||0.36||0.37|
|Kodak Tri-X 400||0.25||0.35||0.40|
This module manages the output profiles for export as well as the rendering intent to be used when mapping between the different color spaces.
darktable comes with pre-defined profiles sRGB, AdobeRGB, XYZ and linear RGB but
you can provide additional profiles by placing these in
You can define the output color profile in two different places, either in this module, or in the export panel in lighttable mode (see Section 2.3.12, “Export selected”).
Sets the rendering intent for output/export. For more details see Section 184.108.40.206, “Rendering intent”).
Only rendering with LittleCMS2 gives you a choice of rendering intent. The option is hidden, if darktable's internal rendering routines are used. Rendering with LittleCMS2 is activated in the preferences dialog (see Section 8.2, “Core options”).
Sets the color profile for output/export, causing darktable to render colors with this profile. darktable embeds the profile data into the output file if supported by the file format – this allows other applications reading the file to correctly interpret its colors.
As not all applications, e.g. image viewers, are aware of color profiles, a general recommendation is to stick to sRGB as the default output profile. You should only deviate from sRGB if this is really required and if you know what you are doing.
Higher values increase color contrast, lower values decrease it. The effect of this module's sliders are similar to applying a steepened or flattened a- or b-curve in module tone curve (see Section 220.127.116.11, “Tone curve”).
This module implements a generic color look up table in Lab space. The input is a
list of source and target points, the complete mapping will be interpolated using
splines. The resulting luts are editable by hand and can be created using the
When you select the module in darkroom mode, it should look something like the image above (configurations with more than 24 patches are shown in a 7x7 grid instead). By default, it will load the 24 patches of a color checker classic and initialise the mapping to identity (no change to the image).
The grid shows a list of colored patches. The colors of the patches are the source points. The target color of the selected patch is shown as offsets controlled by sliders in the GUI under the grid of patches. An outline is drawn around patches that have been altered, i.e. the source and target colors differ.
The selected patch is marked with a white square, and its number is displayed in the combo box below. Select a patch by left clicking on it, or using the combo box, or using the color picker.
To modify the color mapping, you can change source as well as target colors.
The main use case is to change the target colors. You start with an appropriate palette of source colors (either from the presets menu or from a style you download). You can then change lightness (L), green-red (a), blue-yellow (b), or saturation (C) of the patches' target values via sliders.
To change the source color of a patch you select a new color from your image by using the color picker, and shift-click on the patch you want to replace. You can switch between point and area sampling mode from within the global color picker panel (see Section 3.3.4, “Global color picker”).
To reset a patch, double-click it. Right-click a patch to delete it. Shift-click on empty space to add a new patch (with the currently picked color as source color).
A color picker is activated by pressing and will automatically set the position and size of the filter. You can switch between point and area sampling mode from within the global color picker panel (see Section 3.3.4, “Global color picker”).
The default central location of the filter has a neutral effect but dragging it to an alternate position applies a filter analogously to taking a b&w photograph through a conventional color filter.
As well as position you can change the filter size by scrolling with your mouse wheel. This makes the filter's range of hues more or less selective.
Tip: First reduce the filter size to concentrate its effect and move it across the hue pallet to find the best filter value for your desired image rendition. Then expand the filter to include more hues and thus more natural tonality.
Under certain conditions, especially highly saturated blue light sources in the frame, this module may produce black pixel artifacts. See the gamut clipping option (Section 18.104.22.168, “Input color profile”) on how to mitigate this issue.
The horizontal axis represents the range of values you can work on. The vertical axis shows the modifications you can apply by designing a curve. For both horizontal and vertical axes you can work on lightness, saturation or hue.
You can click on any of the eight nodes on the curve and drag to adjust it vertically. A circle indicates how strong adjacent nodes will be affected. Use the scroll wheel of your mouse to change the circle diameter. You can also use the eight controlpoints (triangles which define the vertical value of the nodes) at the bottom to adjust the curve.
A color picker is activated by pressing and will show the picked values in the diagram. You can switch between point and area sampling mode from within the global color picker panel (see Section 3.3.4, “Global color picker”).
You can define curves for each of the three channels “lightness”, “saturation”, and “hue” individually.
Defines the horizontal axis, i.e. the range of values you work on. You can choose between “lightness”, “saturation”, and “hue” (default). Changing this parameter resets any defined curve to a straight horizontal line.
For each of the three primary colors – red, green, and blue – there are three sliders “lift”, “gamma” and “gain” to control dark tones, mid tones and high tones, respectively. Changing these parameters adds offsets to the individual RGB channels and influences the color balance of the image.
Additional “factor” sliders act on all colors at once. Their effect is similar to the controls of the levels module (see Section 22.214.171.124, “Levels”).
The way to best envision the module's way of working is if you consider “lift”, “gamma” and “gain” as parameters influencing the properties of a tone curve which – in its original state – is a straight line going diagonally from bottom left to top right.
The lift parameter adjusts the left axis intercept of the line – this point can be shifted from its default location with zero abscissa to points with negative or positive ones. The gamma parameter modifies the line shape – the default shape is linear and can be turned into a convex curve with increased or into a concave curve with lowered gamma values. Finally, the gain parameter defines the steepness of the curve – by default the curve runs diagonally, higher values lead to a steeper curve and lower values to a flatter one.
Side note: although this module acts on RGB colors its location in pixelpipe puts it into the Lab color space. Accordingly the modules converts from Lab to RGB, does its color adjustments, and then converts back to Lab.
Adjusts the value of dark colors with individual sliders for each RGB color and with a “factor” slider acting on all three colors at once.
Adjusts the mid tones with individual sliders for each RGB color and with a “factor” slider acting on all three colors at once.
In this module you define the input color profile, i.e. how colors of your input image are to be interpreted. You also have an option to have colors confined to a certain gamut in order to mitigate some (infrequent) color artifacts.
Choose the profile or color matrix to apply, darktable offers many widespread matrices along with an enhanced matrix for some camera models. The enhanced matrices were processed by the darktable team in order to provide a look closer to the manufacturer's.
You can also supply your own input ICC profiles and put them into $DARKTABLE/share/darktable/color/in or $HOME/.config/darktable/color/in. $DARKTABLE is used here to represent darktable's installation directory and $HOME your home directory. One common source of ICC profiles is the software that is shipped with your camera; it often contains profiles specific to your camera model. You may need to activate module unbreak input profile (see Section 126.96.36.199, “Unbreak input profile”) to use your extra profiles.
If your input image is a low dynamic range file like JPEG, or a raw in DNG format, it might already contain an embedded ICC profile which darktable will use as a default. You can always overrule darktable and select a different profile. Select “embedded icc profile” to restore the default.
This combobox lets you activate a color clipping mechanism. In most cases you can leave it at its default “off” state. However, if your image shows some specific features like highly saturated blue light sources, gamut clipping might be useful to avoid black pixel artifacts. See Section 188.8.131.52, “Possible color artifacts” for more background information.
You can select from a list of RGB profiles. Input colors with a saturation that exceeds the permissible range of the selected profile get clipped to a maximum value. “linear Rec2020 RGB” and “Adobe RGB (compatible)” allow for a broader range of unclipped colors, while “sRGB” and “linear Rec709 RGB” produce a tighter clipping. You should select the profile that prevents artifacts while still maintaining highest color dynamics.
|This module adds a correction curve to image data, which is required if you have selected certain input profiles in module input color profile.|
If you decide in module input color profile to use an ICC profile from the camera manufacturer, a correction curve very frequently needs to be pre-applied to image data – or else the final output looks much too dark. This extra processing is not required if you use darktable's standard or enhanced color matrices. The correction curve is defined with a linear part extending from the shadows to some upper limit and a gamma curve covering mid-tones and highlights. For further reading please also have a look at darktable's neighbouring project UFRaw.
Set the upper limit for the region counted as shadows and where no gamma correction is performed. Typically values between 0.0 and 0.1 are required by the profile.