Archive for the ‘software’ Category

Black & White Photography?

octobre 22, 2005

Modern cameras allow to take B&W pictures, but the pity is that you lose the opportunity to have the color one, unless you save as RAW as well.

Furthermore quality is not excellent in JPEG format.

However converting from color to B&W is not simple as this article explains.

Wildman found a very nice way to achieve excellent B&W pictures from raw ppm files:

convert inputColor.ppm -fx ‘(u.g*0.66+u.r*0.33+u.b*0.01)’ outputBW.tif

Sample B&W result

Ergonomy vs. features?

octobre 22, 2005

The endless dilema.

Though I am convinced it is possible to achieve highly complex actions through very little effort.

The problem rose again when I had to convince a newbie it was actually easy to use the photos out of my new dSLR camera. Generally the process to extract photos through a dedicated interface is long and tedious. However it is possible to achieve all that efficiently in a single click.

Look at the code below. Thanks to that I can:

  1. download photos from camera and sort them by date of day in folders
  2. remove possible duplicates if I did not erase camera images since last download
  3. convert RAW images to a usable format

All this in one single click!

#!/bin/bash

# Change this to where to store Photos
target=/home/multimedia/Images
camera= »USB PTP Class Camera »
date=$(date –iso-8601)
mkdir -p $target/$date/tmp
cd $target/$date/tmp
# Get all photos from camera
gphoto2 –quiet –camera $camera –port usb: -P
# Do not replace photos that were already uploaded this same day
cp -u $target/$date/tmp/* $target/$date
rm -rf $target/$date/tmp
cd $target/$date
# auto-rotate using exif info
exifautotran *.JPG
# If photos were not erased from camera since last upload, remove duplicates
for i in *.{JPG,CR2}; do
for f in $(find $target -name $i ! -samefile $target/$date/$i); do
if md5sum $f | sed -e « s, .*/, , » | md5sum –check; then
rm -f $i;
fi
done
done
# decode RAW images if not already done ?
# for i in *.CR2; do if [ ! -e $(basename $i .CR2).ppm ]; then dcraw -w $i; fi; done
# Show them!
gimv -d $target/$date