Pixeldoc2000 (talk | contribs) m (category added) |
No edit summary |
||
Line 1: | Line 1: | ||
:'''Written for/on:''' Powershot S5 IS |
:'''Written for/on:''' Powershot S5 IS |
||
− | :'''Also works on:''' A590 so far (Edit me). |
+ | :'''Also works on:''' A590, A540 so far (Edit me). |
:'''Does'nt works on:''' A720 IS and some others |
:'''Does'nt works on:''' A720 IS and some others |
||
Revision as of 09:36, 19 December 2008
- Written for/on: Powershot S5 IS
- Also works on: A590, A540 so far (Edit me).
- Does'nt works on: A720 IS and some others
This is basically a very fast and responsive motion detection script. This will definitely solve your problems if you want to catch lightning (thus the title) or anything fast, however some objects will blur when the light conditions are insufficient. Enjoy this script!
Script Code (save as "Lightning script.bas" to your /CHDK/SCRIPTS/ folder)
rem Author: fudgey - based on BarneyFive's MD Lightning6 and MLuna's Motion Detect scripts rem Tested on A570IS, Allbest build 16 rem For bursts, set the camera in continuous shooting mode and set j>0 rem If j>0 in single shot mode, you will see your shot for j seconds on screen. @title Fast MD with Burst/Preview 080205 @param a Columns @default a 6 @param b Rows @default b 4 @param c Threshold (0-255) @default c 10 @param d Compare Interval (ms) @default d 1 @param e Trigger Delay (0.1 sec) @default e 42 @param f Rows to Exclude @default f 0 @param g Pix-Step(speed/accuracy adj) @default g 8 @param h Reg Mode(0-no,1-incl,2-excl) @default h 0 @param i Measure Mode (1-Y,0-U,2-V) @default i 1 @param j Burst/Preview (sec,0=off) @default j 0 if a<1 then a=1 if b<1 then b=1 if c<0 then c=0 if g<1 then g=1 if f<1 then f=1 if j<0 then j=0 e=e*100 j=j*1000 print ">[";a;",";b;"] threshold: ";c x=30000 if j>0 then goto "md_burst" :md_singleshot press "shoot_half" t=0 do md_detect_motion a, b, i, x, d, c, 1, t, h, 1, 1, a, f, 0, g, e until t>0 click "shoot_full" goto "md_singleshot" :md_burst press "shoot_half" t=0 do md_detect_motion a, b, i, x, d, c, 1, t, h, 1, 1, a, f, 0, g, e until t>0 press "shoot_full" let X=get_tick_count :contloop let U=get_tick_count let V=(U-X) if V<j then goto "contloop" release "shoot_full" goto "md_burst"