CHDK/uBASIC/Scripts/CanonA640: Flash Bracketing

Flash Bracketing

 * Written for/on: Canon A640
 * Also works on: Other Canon AXXX (Not tested)

Flash Bracket by Johan Van Barel (http://www.vanbarel.com)

The purpose is to create a High Dynamic Range (HDR) image from a set of images taken at different flash exposures. You can also use this script to select the best image from a set of different flash exposures. The first image is taken without flash, the others with flash around the selected flash setting. You can also combine an image with flash and one without flash to create one HDR image (see later).

First the script takes one image without flash. Then the script takes a number of images around the selected flash setting. So if you take 3 pictures, with flash set to center and Flash Step Size=3, it will take the first picture at -1, the second at center and the third at +1. You can later stitch the images together with a program like Photomatix (http://www.hdrsoft.com/index.html) or select the best image.

Make sure that your batteries are fully loaded, because otherwise the delay between the different shots may not be sufficient to fully reload the flash for the next shot. So you may adjust the "sleeps" between different shots to your own needs.

Documentation/Help (save as a small FlashBracket.txt" file to your /CHDK/SCRIPTS/ folder)

Select P mode on your Canon A640.

Make sure that Slow Synchro is On and the flash is set to always On.

Make sure that if you press the Func Set button, the ISO item is selected, but leave the function menu!

Parameters:

Number of Pics (Default=3)

Flash Step Size (1/3 EV) (Default=3)

Initial Delay (Sec) (Default=1s)

Script Code (save as "FlashBracket.bas" to your /CHDK/SCRIPTS/ folder)

rem Johan Van Barel 23-07-2007 rem Flash-Bracketing for Canon A640

@title Flash Bracket (Slow Sync, Flash On) @param a Number of Pics @default a 3 @param b Flash Step Size (1/3 EV) @default b 3 @param c Initial Delay (Sec) @default c 1

if a<2 then let a=2 if b<1 then let b=1 if c<0 then let c=0

print "Flash Bracket Pics:", a, "Step:", b

sleep c*1000

print "First Pic Without Flash" rem Set Flash Off click "up" shoot sleep 200

rem Set Flash On click "up" sleep 200 click "up" sleep 200

rem Select +- Flash (Starting from ISO menu) click "set" sleep 200 click "down" sleep 200 click "down" sleep 200 click "down" sleep 200 click "down" sleep 200 for n=1 to (a-1)*b/2 click "left" next n

print "Pic 1 of", a sleep 200 shoot for s=2 to a   for n=1 to b        click "right" next n   print "Pic", s, "of", a    sleep 800 shoot next s

sleep 200 for n=1 to ((a-1)*b+1)/2 click "left" next n sleep 200 click "up" sleep 200 click "up" sleep 200 click "up" sleep 200 click "up" sleep 200 click "set"

end