This is my first attempt at trying to build a Wiki-like knowledge base on top of the Flutterby content management system.
This is a place for explanation, description and static links on a topic that's either too broad to be covered under a single link, or that you're just too lazy to find the real link to.
Entries are automatically generated.
by:Dan Lyke [edit history] started: 2003-10-28 18:01:00.265286+01 updated: 2004-09-14 02:48:03.577125+02
On a recent trip to the Sierra, I took a Canon D60 body and shot mostly "raw" (ie: CRW) images, from which I derived the pictures at my first quick update and my more picture heavy travelogue. At first I just used dcraw to convert to PPM files, or opened the files directly with the GIMP plug-in and then converted to JPEGs, but I quickly realized that something was missing and I needed to go with deeper color depths and more intelligence in my conversions.
So, after some experiment, here's what I'm doing now:
I use dcraw with
the -4
option to build 16 bit per channel PPM files. I
convert these to 16 bit per channel TIFF files using ImageMagick. Normally this puts the data in the
lower 14 bits of the TIFF file, with ranges from 0 to 16384. The
-normalize
switch will stretch the contrast range out to
the full 0-65535 per channel, with the problem that if you were taking
a low contrast scene everything will now be very contrasty. So far I'm
willing to live with that as a default.
I also use a -gamma 1.8
, which seems to make my first
pass at converting that TIFF to a JPEG work fairly nicely.
Further editing can be done with CinePaint, which deals with the 16 bits fairly well, although at this writing, version 0.18.1, there are enough little crashy things that I've signed up for the developer's mailing list and have learned to avoid the "Histogram" feature.
The techniques should also be usable on the Olympus digital camera raw files, although I've only tested that with 8 bit JPEGs.
#!/bin/bash
for exts in .crw .orf
do for f in *$exts ;
do
if test -f $f ;
then
dcraw -4 $f ;
bn=`basename $f $exts` ;
convert -normalize -gamma 1.8 $bn.ppm $bn.tiff ;
rm $bn.ppm ;
for s in sm md lg ;
do
case $s in
sm) pct=5 ;;
md) pct=20 ;;
lg) pct=50 ;;
esac ;
convert -geometry $pct\% $bn.tiff $bn.$s.jpg
done
fi
done
done
Flutterby™ is a trademark claimed by
Dan Lyke for the web publications at www.flutterby.com and www.flutterby.net.