UBASIC/Scripts/CanonA640: Shutter Bracketing
Talk0this wiki
< UBASIC | Scripts
Shutter Bracketing
- Written for/on: Canon A640
- Also works on: Other Canon AXXX (Not tested)
Shutter Bracketing 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 exposures.
The script takes a number of images around the selected shutter speed. So if you take 3 pictures, with shutter speed set to 1/250" and Step Size=3 (=1EV), it will take the first picture at 1/500", the second at 1/250" and the third at 1/125". You can later stitch the images together with a program like Photomatix (http://www.hdrsoft.com/index.html)
ps. There seems to be a minor bug in the set_tv command. After the script has finished, the display does not show the actual shutter speed value. You can check this by half-pressing the shoot button. This will update the display to the correct internal shutter speed value.
Documentation/Help (save as a small ShutterBracket.txt" file to your /CHDK/SCRIPTS/ folder)
Select M mode on your Canon A640 and manually select your desired center shutter speed.
Parameters:
- Number of Pics (Default=3)
- Shutter Step Size (1/3 EV) (Default=3)
- Initial Delay (Sec) (Default=1)
Script Code (save as "ShutterBracket.bas" to your /CHDK/SCRIPTS/ folder)
rem Johan Van Barel 30-03-2008
rem Shutter-Bracketing for Canon A640
@title Shutter Bracket (Select M Mode)
@param a Number of Pics
@default a 3
@param b Shutter 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 "Pics:"; a, "Step:"; b
sleep c*1000
get_user_tv_id x
set_tv_rel (a-1)*b/2
for s=1 to a
get_user_tv_id t
gosub "showshutter"
shoot
set_tv_rel -b
next s
set_tv x
end
:showshutter
if t=-13 then print "Pic", s, "of", a, "T=15s"
if t=-12 then print "Pic", s, "of", a, "T=13s"
if t=-11 then print "Pic", s, "of", a, "T=10s"
if t=-10 then print "Pic", s, "of", a, "T=..s"
if t=-9 then print "Pic", s, "of", a, "T=8s"
if t=-8 then print "Pic", s, "of", a, "T=6s"
if t=-7 then print "Pic", s, "of", a, "T=5s"
if t=-6 then print "Pic", s, "of", a, "T=4s"
if t=-5 then print "Pic", s, "of", a, "T=3.2s"
if t=-4 then print "Pic", s, "of", a, "T=2.5s"
if t=-3 then print "Pic", s, "of", a, "T=2s"
if t=-2 then print "Pic", s, "of", a, "T=1.6s"
if t=-1 then print "Pic", s, "of", a, "T=1.3s"
if t=0 then print "Pic", s, "of", a, "T=1s"
if t=1 then print "Pic", s, "of", a, "T=0.8s"
if t=2 then print "Pic", s, "of", a, "T=0.6s"
if t=3 then print "Pic", s, "of", a, "T=0.5s"
if t=4 then print "Pic", s, "of", a, "T=0.4s"
if t=5 then print "Pic", s, "of", a, "T=0.3s"
if t=6 then print "Pic", s, "of", a, "T=1/4s"
if t=7 then print "Pic", s, "of", a, "T=1/5s"
if t=8 then print "Pic", s, "of", a, "T=1/6s"
if t=9 then print "Pic", s, "of", a, "T=1/8s"
if t=10 then print "Pic", s, "of", a, "T=1/10s"
if t=11 then print "Pic", s, "of", a, "T=1/13s"
if t=12 then print "Pic", s, "of", a, "T=1/15s"
if t=13 then print "Pic", s, "of", a, "T=1/20s"
if t=14 then print "Pic", s, "of", a, "T=1/25s"
if t=15 then print "Pic", s, "of", a, "T=1/30s"
if t=16 then print "Pic", s, "of", a, "T=1/40s"
if t=17 then print "Pic", s, "of", a, "T=1/50s"
if t=18 then print "Pic", s, "of", a, "T=1/60s"
if t=19 then print "Pic", s, "of", a, "T=1/80s"
if t=20 then print "Pic", s, "of", a, "T=1/100s"
if t=21 then print "Pic", s, "of", a, "T=1/125s"
if t=22 then print "Pic", s, "of", a, "T=1/160s"
if t=23 then print "Pic", s, "of", a, "T=1/200s"
if t=24 then print "Pic", s, "of", a, "T=1/250s"
if t=25 then print "Pic", s, "of", a, "T=1/320s"
if t=26 then print "Pic", s, "of", a, "T=1/400s"
if t=27 then print "Pic", s, "of", a, "T=1/500s"
if t=28 then print "Pic", s, "of", a, "T=1/640s"
if t=29 then print "Pic", s, "of", a, "T=..s"
if t=30 then print "Pic", s, "of", a, "T=1/800s"
if t=31 then print "Pic", s, "of", a, "T=1/1000s"
if t=32 then print "Pic", s, "of", a, "T=1/1250s"
if t=33 then print "Pic", s, "of", a, "T=1/1600s"
if t=34 then print "Pic", s, "of", a, "T=1/2000s"
if t=35 then print "Pic", s, "of", a, "T=1/2500s"
return