Skip to content

Selective Sky and Subject Color Grade

Isolate the sky and foreground in a photograph using color-based masks, then grade each independently. Deepen the sky without blowing out the building. Boost foreground saturation without turning the sky purple. This is the mask-based selective editing workflow that photographers do manually with graduated filters — except here it’s parametric and adapts automatically to each new photo.

The key concept: Color Range selects the sky by color. That mask feeds Curves and Color Balance for sky-only grading. A second Mask Refine with Invert produces the complement mask for the foreground. That inverted mask feeds HSB and Sharpen for foreground-only adjustments. The image flows through all four grading nodes in sequence, each one restricted to its zone by the mask input.

Target audience: Real estate photographers, travel and landscape photographers, architectural photographers.

  • A photograph with visible sky and a foreground subject (building, landscape, street scene)
  • A rough idea of the sky’s dominant color (mid-blue for clear skies, gray-blue for overcast)
  • No AI credits required — this workflow uses only traditional color and mask nodes
┌─> Mask Refine (sky) ──────────> mask input of Curves + Color Balance
Image In ──> Color Range (sky blue) ──────────┤
└─> Mask Refine (fg, invert) ──> mask input of HSB + Sharpen
Image In ──> Curves ──> Color Balance ──> HSB ──> Sharpen ──> Vignette ──> Export Image
(sky) (sky) (fg) (fg)

The image data flows left to right through the grading chain. Each grading node receives a mask that restricts its effect to either the sky or the foreground. Color Range produces the raw selection; two Mask Refine nodes create the complementary pair of masks.

Add an Image In node and load your photograph. Landscapes, real estate exteriors, and travel shots with a visible sky all work well. Higher resolution gives Color Range more pixels to analyze for a cleaner mask edge at the horizon.

Photos with a clear color distinction between sky and foreground produce the best results. A blue sky against warm-toned buildings or green foliage is ideal. Overcast skies where the gray blends into concrete or stone are harder — see the Luma Key variation below for those cases.

Add a Color Range node and connect Image In’s output to it.

Use the eyedropper to pick a representative mid-blue from the sky area. For a typical clear daytime sky, the center color lands around R 100, G 150, B 220. You don’t need to be precise — the tolerance and weight sliders handle the variation.

Key parameters:

  • Tolerance: 35. This controls how far from the picked color the selection extends. Start at 35 and widen to 40-45 if the sky has a gradient from pale horizon blue to deep overhead blue. If the selection bleeds into blue-ish foreground elements, narrow it to 25-30.
  • Softness: 15. Adds a gradual falloff at the selection boundary instead of a hard edge. This makes the final grade transition look natural at the horizon. Push to 20 if you see banding in the mask.
  • Hue Weight: 100. Full weight on hue means the selection targets the sky’s blue regardless of whether it’s bright near the horizon or dark overhead.
  • Saturation Weight: 30. Low-to-moderate. Prevents desaturated haze or clouds from being excluded entirely, but still distinguishes the sky from similarly-bright neutral surfaces.
  • Lightness Weight: 15. Keep this low so both bright clouds and dark blue sky get included in the selection. A high lightness weight would split the sky mask at the brightness gradient.
  • Feather: 0. Leave feathering to the dedicated Mask Refine step for more control.
  • Invert: false. You want the sky selected as white.

3. Mask Refine (Sky) — Clean Up the Sky Mask

Section titled “3. Mask Refine (Sky) — Clean Up the Sky Mask”

Add a Mask Refine node and connect Color Range’s output to it. This node cleans up the raw mask and softens the transition at the horizon line.

Key parameters:

  • Erode: 0.0. No erosion needed unless the mask is visibly overshooting into foreground elements. If tree canopies or building edges show white fringing in the mask, try 1.0-2.0 to pull the mask inward.
  • Feather: 3.0. A 3-pixel feather creates a natural, invisible transition where the sky grade meets the foreground. Too little feather (below 1.5) shows a visible halo at the horizon; too much (above 6.0) bleeds the sky grade into rooftops.
  • Invert: false. This mask stays as-is — white for sky, black for foreground.

This output feeds the mask input of both Curves (step 5) and Color Balance (step 6).

4. Mask Refine (Foreground) — Invert to Get the Complement Mask

Section titled “4. Mask Refine (Foreground) — Invert to Get the Complement Mask”

Add a second Mask Refine node and connect the same Color Range output to it. This node produces the exact complement of the sky mask.

Key parameters:

  • Erode: 0.0. Match the sky mask settings for a seamless boundary.
  • Feather: 3.0. Same feather as the sky mask so both zones transition at the same rate. Any mismatch creates a visible gap or overlap at the horizon.
  • Invert: true. This flips the mask: black for sky, white for foreground. Now you have a foreground-only mask.

This output feeds the mask input of both HSB (step 7) and Sharpen (step 8).

5. Curves (Sky Grading) — Boost Sky Contrast and Add Blue

Section titled “5. Curves (Sky Grading) — Boost Sky Contrast and Add Blue”

Add a Curves node. Connect Image In’s output to the image input and the sky Mask Refine output (step 3) to the mask input.

The mask restricts the Curves adjustment to sky pixels only. The foreground passes through untouched.

Apply an S-curve on the Master channel (index 0) to boost sky contrast:

  • Pull the quarter-tone point down slightly: [64, 50]. This darkens the darker parts of the sky.
  • Push the three-quarter-tone point up: [192, 210]. This brightens the lighter parts of the sky.
  • Full curve: [[0,0],[64,50],[192,210],[255,255]].

Then switch to the Blue channel (index 3) and lift the midpoint:

  • Add a single control point at [128, 148]. This pushes blue into the sky’s midtones, deepening the sky color without affecting highlights (clouds stay white) or shadows.
  • Full curve: [[0,0],[128,148],[255,255]].

6. Color Balance (Sky Grading) — Deepen Sky Color

Section titled “6. Color Balance (Sky Grading) — Deepen Sky Color”

Add a Color Balance node. Connect Curves’ output to the image input and the same sky mask (step 3) to the mask input.

This works in tandem with Curves: Curves handled contrast and blue tonality, Color Balance now shifts the color cast in specific tonal zones.

Key parameters:

  • Highlights — Yellow-Blue (h_yb): +20. Pushes sky highlights toward blue, deepening the overhead sky and adding richness to cloud edges.
  • Midtones — Cyan-Red (m_cr): -10. Shifts sky midtones toward cyan, adding that clean, cool quality that photographs of deep blue skies have.
  • Midtones — Yellow-Blue (m_yb): +10. Reinforces the blue in the midtones, working alongside the Curves blue channel lift.
  • Preserve Luminosity: true. Essential. Without this, the color shifts would also darken or brighten the sky, fighting against the Curves adjustment.

Leave all other sliders at 0. The sky grade is now complete: deeper blue, more contrast, richer color.

7. HSB (Foreground Grading) — Boost Foreground Saturation

Section titled “7. HSB (Foreground Grading) — Boost Foreground Saturation”

Add an HSB node. Connect Color Balance’s output to the image input and the foreground Mask Refine output (step 4) to the mask input.

The image has already been sky-graded by the previous two nodes. Now HSB adjusts only the foreground, leaving the sky grade untouched.

Key parameters:

  • Saturation: 1.25. A 25% saturation boost makes foreground colors (greenery, building stone, street elements) pop against the deepened sky. This is the kind of targeted boost that’s impossible without a mask — applying it globally would over-saturate the sky.
  • Brightness: 1.05. A subtle 5% brightness lift keeps foreground detail visible against the now-darker sky. Without it, the foreground can feel underexposed relative to the graded sky.
  • Hue Shift: 0.0. No hue rotation needed for a naturalistic grade. If you want a warmer foreground (golden hour feel), try +5 to +10 to nudge greens toward yellow and reds toward orange.
  • Colorize: false. You want to enhance the existing colors, not replace them.

8. Sharpen (Foreground Detail) — Selectively Sharpen the Foreground

Section titled “8. Sharpen (Foreground Detail) — Selectively Sharpen the Foreground”

Add a Sharpen node. Connect HSB’s output to the image input and the same foreground mask (step 4) to the mask input.

Sharpening the foreground while leaving the sky untouched is a classic landscape editing technique. Sky areas are smooth gradients; sharpening them amplifies noise and banding. The mask prevents that entirely.

Key parameters:

  • Mode: Unsharp Mask (index 0). The standard choice for photographic sharpening.
  • Amount: 1.5. Default intensity works well for most photographs. Push to 2.0-2.5 for architectural shots where you want crisp brick and stone detail.
  • Radius: 1.0. A small radius targets fine detail (texture, edges, text on signs). Increase to 2.0-3.0 for a broader, more aggressive sharpening that emphasizes larger structures.
  • Threshold: 8. Setting threshold above 0 prevents the sharpener from amplifying noise in smooth foreground areas (grass, walls, pavement). Pixels with less than 8 levels of difference from their neighbors are left alone.

Add a Vignette node and connect Sharpen’s output.

A subtle vignette darkens the frame edges, pulling the viewer’s eye toward the center of the composition. This is the finishing touch that ties the selective grade together.

Key parameters:

  • Amount: -0.35. Gentle enough to look natural in a real estate or travel photo. Go to -0.5 for a more dramatic editorial feel.
  • Size: 110. Slightly larger than default keeps the bright center area generous, which works well for wide-angle architectural shots where the subject fills most of the frame.
  • Softness: 60. A smooth falloff so the vignette feels like natural light falloff rather than a visible filter.

10. Export Image — Save the Final Result

Section titled “10. Export Image — Save the Final Result”

Add an Export Image node and connect Vignette’s output.

For real estate and portfolio work, export as JPEG at quality 92 for a good size-to-quality balance. For archival or further editing, export as PNG for lossless quality.

A photograph with two independently graded zones: a deeper, richer sky with boosted blue and contrast, and a vibrant, sharper foreground with enhanced saturation and detail. The transition at the horizon is invisible because both masks share the same Color Range source and feather settings.

The entire grade is parametric. Swap the input photograph and the Color Range mask automatically adapts to the new sky, applying the same grading split without any manual masking. This is the advantage over hand-painted graduated filters — the mask is always derived from the actual pixel colors in the image.

  • Use Mask Boolean for complex selections: If the sky selection picks up a blue building or blue awning, add a Roto mask around the problem area and use Mask Boolean (Subtract) to remove it from the sky mask. Feed the sky Mask Refine output as Input A and the Roto output as Input B.
  • Golden hour treatment: Push Color Balance shadows toward warm orange (s_cr to +20, s_yb to -15) and keep the sky highlights pushed toward deep blue (h_yb at +25) for a sunset look with warm foreground light and cool overhead sky.
  • Swap Color Range for Luma Key: For overcast skies where the sky is bright but not distinctly blue, Luma Key selects by brightness instead of color. The bright overcast sky separates cleanly from the darker foreground based on luminance alone.
  • Add a third zone for midground: Use a second Color Range node targeting a different color (e.g., green foliage) to create a midground mask. Grade it independently with its own Color Balance node for three-zone control: sky, vegetation, and architecture.