Fandom

CHDK Wiki

UBASIC/Scripts/CanonA640: Shutter Bracketing

< UBASIC | Scripts

598pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Shutter Bracketing Edit

Written for/on: Canon A640
Also works on: Other Canon AXXX (Not tested), A620 (tested - works fine)

Shutter Bracketing by Johan Van Barel (http://www.vanbarel.tk)

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

Also on Fandom

Random Wiki