I’ve been told by a number of people in recent times and have received a number of e-mails stating that the photos on my website are too dark, somewhat under exposed. This has always puzzled me as while the photos do look a little on the dark side, the exposure is almost always set correctly based on my camera’s light meter when I’m composing shots. This has almost made me believe that the light meter was faulty but looking at the photos on the screen on the back of the camera I can see that this is not the case. Time to delve deeper.
In order to publish my photos to the web I have to extract image data from the RAW files my camera generates and compress into a JPEG file that can be delivered to and opened by a web browser. To to this I make use of dcraw, a nifty little application authored by Dave Coffin. This will pass data out from the RAW file to be collected on stdout by a program such as cjpeg.
As I like to publish exactly what my camera has stored to the file (with a little compression for portability) I don’t use many of the options on dcraw, just invoking the ones that read the values from the file it’s self and use those. Looking down at the parameter list I suddenly wondered if perhaps I’d mistakenly used the wrong parameter somewhere, so I started to check each one I’d used against the documentation.
Everything checked out apart from one very small anomaly; -w was documented but -W was not. The documentation states that -w tells dcraw to use the white balance value stored in the RAW file when processing which is what I wanted but -W seemingly did nothing except it threw no errors when used so must have some function.
Plunging deeper into the documentation I found the bombshell I was looking for; -W is used for switching off the exposure compensation value contained within the file! I ran a quick test and changed to lower case while decoding a photo I’d taken recently and the effect was perfect, the correct brightness and also the correct white balance (it hadn’t been far wrong but was much better now).
I’ve now updated my script that I use to call dcraw to invoke the correct parameters and hopefully dark photos will be a thing of the past on my website. The thought of having to re-decode some 3000 odd photos that have already been uploaded doesn’t fill me with joy though…