How can I correct underwater color cast in RAW photos taken through a glass-bottom boat?
Asked 3/25/2013
4 views
2 answers
0
I shot some RAW photos through the viewing window of a glass-bottom submarine/boat, and the colors look very unnatural. I’m editing in Adobe Camera Raw and wondered whether there is a white balance setting (temperature/tint) that matches sunny conditions a few feet below the surface. Does this change with depth, and is white balance enough to fix it?
Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0
Photography Stack Exchange contributor
13y ago
2 Answers
5
The basic problem with taking photos underwater is that the water absorbs quite a bit of light. It absorbs red more than it absorbs blue. As you can see in this wikipedia article on Electromagnetic Absorption by Water, there's about 100x more absorption of red/orange light (per metre of water) than blue/purple light.

I'm not sure that simple white balance adjustments are sufficient to adjust for this, but I would try two things:
Attempt "automatic" white balance adjustments
If you have anything with a very neutral colour in your scene you can often do automatic white balance adjustments in some photography software. If your shots are all at about the same depth, then you may only need to work this out once and apply to all.
Attempt "manual" colour balancing (first?)
If auto white balancing doesn't work, or doesn't produce great results, or you don't have any neutral objects in your scenes, then you could try manually adjusting RGB levels based on the expected light in the scene. It may help to know exactly what wavelength bands your camera's Bayer filter uses, but otherwise looking at the graph I would guess their centres are approx Red=650-700nm, Green=500-550, Blue=425-450, which translates to absorption coefficients of R=0.4, G=0.04, B=0.007 (units are proportion of light per metre).
So you could multiply your colour channels to bring the Red and Green light up to the level of Blue, if you know roughly what depth you were at. The formula you'll need to work out how much light was actually getting down there is the Beer-Lambert Law, and is really just an exponential decay function based on the product of the above coefficients and your depth:

From these numbers, at 10m, you'd have relative intensities of RGB = [0.018, 0.67, 0.93], so you would want to multiply the red channel by ~51 and the green by ~1.4. Note also that when I say 10m, I mean the total distance the light travels from the surface, i.e. depth of subject + your distance to the subject.
At 20m distance through the water, you'd have relative intensities of RGB = [0.00034, 0.45, 0.87] so you'd want to multiply the red channel by ~2600, and the green by ~1.9.
Obviously at that kind of depth you're going to have a very noisy red channel, even on ISO100 (at 20m you're losing ~11 bits of information on the red channel when you multiply by 2600, so that leaves perhaps 3 bits out of the original 14 if you're lucky!).
These numbers are all pretty rough, and of course assume a single wavelength for the entire range of each RGB filter, and the same total travel distance of the light through the water for the entire scene (but that close-up fish and the ocean coral 3m below it have ~6m difference in absorption distance) but a lot of these assumptions are already inherent in digital processing anyway...
Not having done this myself, I'd probably try making these adjustments before/after attempting various white balancing to see what gives the best results, and try adjusting the amplification ratios above (ideally, you'd want to get some data on the RGB filter wavelengths and better data on colour absorption of exact wavelengths to determine these ratios).
Is it too late?
So an answer to this question suggests you should be using some kind of underwater filter, which I suspect has a transmission spectrum that looks a lot like the inverse of water's absorption spectrum at some specific depth. That would be ideal, because you're not relying on the assumed performance of your RGB channels in air. But this won't help you with RAW processing now, of course!
Finally, adding your own light can help too. If you're taking photos about 10m under the surface but only 1m from the underwater subject, then providing your own light (enough to overpower the sunlight still getting down that far) would require much less compensation. At a distance of 2m (1m to the subject, 1m from the subject) the RGB ratios are [0.45, 0.92, 0.99] so an adjustment of R by 2.2 and G by 1.07 should be enough, and auto white balancing might even "just work". This would also potentially help with some scenes if you can try to get the total distance the light travels (from light source to subject to camera) more consistent across the whole scene.
Originally by user889. Source · Licensed CC BY-SA 4.0
user889
13y ago
0
Generated from our catalog & community — verify before relying on it.
There isn’t a single temperature/tint setting for “sunny at 6 feet underwater.” Water selectively absorbs light, especially red/orange, much more than blue, so the color shift depends on depth, water clarity, angle, and subject distance. Because of that, a normal daylight preset usually won’t fully fix underwater images.
Best approach:
- Try white balance first, especially if there’s something neutral/gray in the scene.
- If one image works, sync those settings to other photos made at similar depth and conditions.
- Be prepared to go beyond WB: underwater shots often need manual color correction because red light is physically missing, not just shifted.
- Adjust individual color channels or use curves/HSL if simple temperature/tint sliders don’t restore natural-looking color.
Depth matters: the deeper the water, the stronger the loss of reds and warm tones, so correction usually becomes more aggressive with depth.
Also note that shooting through glass can add its own cast and reduce contrast, so you may need small extra tweaks for clarity and overall color balance.
Recommended products
UniqueBot
AI13y ago
Your Answer
Related Questions
How do white balance temperature and tint adjustments change image values mathematically?
When adjusting white balance in editing, should I change temperature or tint first?
Why do white balance controls use blue–yellow for temperature and green–magenta for tint?
Does Aperture 3 use the camera’s white balance for RAW previews?
Why do synced white balance values change between RAW photos in Lightroom?