Removing Uneven Color Cast from Heavily Damaged Film Scanned Image using ART

This is a film-scanned image of an old negative color film exhibiting a pronounced and uneven color cast in shades of yellow and cyan due to aging. Additionally, a global magenta cast is present. In this article, I will demonstrate the method of removing uneven color casts, such as following image, using ART.

Now, I will guide you through the process of eliminating this uneven color cast using the ART and Relative Color Correction CTL script. First, please download the “Relative Color Correction” CTL script from the following link and install it.

  1. After loading the image in ART, go to color/tone correction, and select the “Relative Color Correction” tool.
    tool_selection

  2. To correct the uneven yellow cast in the sky, choose yellow as the target color and enable “Show target color area” to confirm the editing target area.

  3. The target area appears too broad; you can narrow it down using the area mask in this editing instance (layer).

  4. Utilize the blue channel slider in “RGB Adjustment for correction” to eliminate the yellow cast.

  5. However, a pink cast may persist in the periphery of the sky. To address this, the relative red mask proves useful. Add a second editing instance, select “Relative Color Correction,” and choose Red as the target color. Confirm the editing target area by checking “Show target color area” as before. Pivot and Skew adjustments are necessary for an appropriate area selection.

  6. Use an area mask as in the previous instance to limit the editing area.

  7. Blue, lightness, and gamma sliders are suitable for this color adjustment.

  8. To eliminate the uneven magenta cast in the sky, add an editing instance as before, select magenta as the target color, and use Pivot and Skew sliders to limit the target area.

  9. To correct the uneven magenta cast, use blue and green channel sliders. Global magenta cast correction will be addressed later with another tool.

  10. For removing uneven cyan cast at the boundary between the sky and trees, add an editing instance as above, select cyan as the target color, and use an area mask to limit the editing area.

  11. Correct using the red channel slider.

  12. To adjust the global magenta cast, in this example, use WB and primaries correction CTL as shown. However, other tools, such as the color wheel in color/tone correction, may also be effective.

  13. As the final editing step, apply Tone Curve correction. While tone curve adjustment may affect hue and saturation, unlike tone equalizer, I believe it is rather preferable for editing discolored and faded film images.

I have uploaded this sample file for you to try. If anyone can remove this color cast using another tool, I would like to see it as a reference. This file is licensed under CC BY-NC-SA 4.0 Deed 2.

sample.tif (13.7 MB)
sample.tif.arp (21.2 KB)

10 Likes

Thanks for the tutorial!
I tried to match your edit using only built-in tools. Here’s my take…
sample-alberto.arp (14.7 KB)
Not identical but in the ballpark?

1 Like

Thank you for the play.

Edit with ART. I only used tetrargb.ctl, no masks:


sample.jpg.out.arp (11.9 KB)

1 Like

@agriggio
Oh, absolutely!

@iarga

Thank you for trying it.

I also initially thought tetrargb.ctl useful for this type of editing. Because tetrargb.ctl divides the edited image into 6 relative color regions and applies different color adjustments to each region based on parameters set by the user. However, the boundaries of those color regions are not adjustable, which is necessary for this type of editing. So once I tried to make it possible to adjust the boundaries of the color regions in tetrargb.ctl, but there was a side effect. When I moved the color boundaries, unintended color changes would occur.

So I made my original ctl script.

I would also like to see the results of someone trying to do this edit with different software.

1 Like

Here you are, processed in RawTherapee-dev and some final color adjustments in Gimp.

sample.tif_rt.pp3 (14.9 KB)

2 Likes

@paulmatth

Thank you! I didn’t think of using wavelet levels like that!

GIMP - Quickly

A copy of the layer and its Mode (Color LCh), now I click on Change active color and with the tool-color-picker I take a sample of the color that matches the color cast in the area.

Triplicated local adjustment areas across the top.


sample-3.jpg.out.pp3 (73.7 KB)

Another one, using G’Mic’s CMYK color mixer on highlights only. The sky is definitively less yellow - although still yellow! Perhaps the original colors? :wink:

I once read Elle Stone’s article of color correction using Lch
@Zbyma72age
color mode, however I have almost forgotten it. Thanks for reminding me of that article.

@HIRAM
Up until now, I have rarely used local editing of RawTherapee. Thank you for your good example.

@paulmatth
Unfortunately, the photo was taken in cloudy morning and the color of the sky is an artifact associated with discoloration of film. But it’s interesting as an image creation. :wink:

sample.tif.xmp (6.2 KB)

DT 4.6

1 Like

Thank you. It’ s very decent result, I think. It would be helpful if you could tell me what is your policy on this image editing.

Thanks, if I remember correctly I set 2 different white balances for the sky and foreground plus some minor local adjustments perhaps to the greens.

1 Like

Thank you!