[uBasic] Wieselflinkes HDR-Skript

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Wieselflinkes HDR-Skript

Beitragvon gehtnix » 17.04.2008, 19:15

Hallo,

ich habe mir mal das Skript von
http://chdk.wikia.com/wiki/UBASIC/Scrip ... t_for_A6xx
angeschaut und es nach dem ersten Versuchen mit A610 wegen Fehlermeldungen wieder zur Seite gelegt.

Dann habe ich es dann doch noch mal versucht und den Code ein wenig verändert, Meldungen eingedeutscht, den Zähler verändert. Und jetzt bin ich damit zufrieden, weil es sehr schnell arbeitet.

Arbeitet aber nur im Modus P,AV und TV
Eine manuelle Fokus-Einstellung ist erforderlich, sonst bricht Skript an und zeigt den Hinweis.
Blitz muss auch ausgeschaltet sein, auch hier bricht das Skript mit Hinweis dazu ab.
Beim Fokus und Blitz bekam ich im Original-Skript seltsame Fehler.

Eine Besonderheit von dem Skript ist es, dass es Foto mit derselben EV-Stufe wiederholen kann.


Code: Alles auswählen
rem Author ~SuperManu~ inspired by ~Aeropic~
rem For A610 camera
rem May work on others digicII
rem See documentation

@title HDR bracketing
@param a EV Schritte 1/3
@default a 3
@param b Bilder = 1 + 2*[x]
@default b 1
@param c Jedes Bild [x] mal
@default c 1

rem test input consistency
if b<1 then b=1
if a<1 then a=1
if a>6 then a=6
if b>6 then b = 6
if c<1 then c=1

j=0

rem get the dial mode
rem if <> P, Tv, Av exit
get_prop 0 i
if i = 2 then goto "ok"
if i = 3 then goto "ok"
if i = 1 then goto "ok"
print "P, Tv oder Av ..."
goto "lend"

:ok
rem test if flash set
get_prop 16 f
if f = 2 then goto "ok2"
print "Blitz abschalten ..."
set_prop 16 2

:ok2
rem get Exp compensation value
get_prop 25 i

rem  nb steps diaph computation
a=a*32

rem start EV computation
s=i-b*a
b=b*2

rem check focus mode
get_prop 12 y
get_prop 11 x
let v=y
let u=x
sleep 50
if y = 1 then goto "shoot_it"

:ok3
rem try to focus
press "shoot_half"

rem wait for focus (prop 67)
p = 0
set_prop 67 0
do
 p = p +1
 get_prop 67 j
 if p = 100 then
   print "Fokus nicht möglich"
   release "shoot_half"
   get_prop 11 x
   if x=0 then set_prop 11 1 else set_prop 11 0 endif
   print "MF einschalten"
   goto "lend"
 endif
until j = 1

rem switch to manual focus
do
 sleep 100
 click "down"
 sleep 100
 get_prop 12 y
until y=1
release "shoot_half"
sleep 300

:shoot_it
rem data take loop based on prop 205
rem initial set of 25 & 26 for the first shot
z=1
set_prop 25 s
set_prop 26 s
for n=1 to (b+1)*c
  click "shoot_full"
  print "Bild " n "/" (b+1)*c
  do
   get_prop 205 w
  until w=1
  if z=c then
   s=s+a
   set_prop 25 s
   set_prop 26 s
   z=0
  else if z<c then z=z+1
  else if z>c then z=1
  endif
 do
   get_prop 205 w
  until w<>1
next n

rem switch back to previous focus mode
do
 sleep 100
 click "down"
 click "down"
 sleep 100
 get_prop 12 y
 get_prop 11 x
until y=v and x=u
set_prop 11 u
set_prop 12 v

rem reset initial values for EV and flash
set_prop 25 i
set_prop 26 i
set_prop 16 f
sleep 200

:lend
let j=0
end


Dazu gibt es dann noch diese Textdatei
Code: Alles auswählen
Betrieb von HDR-Bracketing im Modus P, AV oder TV
- Blitz ausschalten
- MF (Manueller Fokus) einschalten

Die Parameter:

EV Schritte 1/3
EV Schritte zwischen den Einzelaufnahmen in 1/3 Schritten. Bei Eingabe von 3 wird ein voller EV Schritt angewählt.

Bilder = 2*1+[x]
Das Skript erzeugt automatisch immer eine ungerade Bilderanzahl. Der Wert 1 wird mit 2 multipliziert plus 1 = 3 Bilder. Wert 2 erzeugt somit 5 Bilder.

Jedes Bild [x] mal
Damit wird jedes Bild mit demselben EV-Wert nochmal erstellt. Mit Wert 1 erfolgt nur eine einfache Bildreihe. Bei Wert 2 wird also das erste Bild mit z.B. -1EV nochmals erstellt. Ebenso das zweite Bild, usw. Damit würden jetzt bei den obigen Wert von 2, 10 Bilder erstellt.

____________________________________________________________________________               
Original Text
               
The user can either select P, AV or Tv mode and the script does the job :
a set of exposure bracketed pictures is captured in a very very fast way !

parameters are :

a : EV distance between two shots expressed in 1/3 step (eg. a=3 will do 1 full step)
b : the script takes 2b+1 pictures : b underexposed ones, 1 correctly exposed, b overexposed
c : each exposure shoot is repeated c times

with the defaults values, a=3, b=1, c=1 you get 3 pictures (-1, 0, +1)

To be really fast the script does the following :

- switch to NO FLASH
- detects if MF already done, if yes got to shoots, if not...
- ...try to focus in the current focus mode (standard or macro). If impossible...
- ...switch to the other focus mode (standard or macro) and try to focus again
- switch to MF
- takes the 5 pictures using EV corrections with the "properties" rather than with button presses ...
- resets the camera to its original state (flash, EV ...)

http://chdk.wikia.com/wiki/UBASIC/Scripts:_an_ultra_fast_HDR_bracketing_script_for_A6xx



Dank an die Autoren die oben ja genannt sind.
Viel Spaß beim Testen und vielleicht gibt es da noch weitere Verbesserungen.

Gruß gehtnix
Zuletzt geändert von gehtnix am 12.07.2008, 02:32, insgesamt 1-mal geändert.
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 13:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b

Beitragvon msl » 17.04.2008, 20:21

Nicht schlecht. ich kann das jetzt auf die schnelle nicht testen, da DigicIII.

Hast Du mal mit der Variante ohne Skript verglichen? siehe hier

Die Unterschiede würden mich interessieren.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4510
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon gehtnix » 20.04.2008, 03:00

Manchmal ist man ja (ich) blind!

Erstens steht "Bracketing in Continuous Mode" im meinem Benutzermnü an dritter Stelle.
Zweitens habe ich die Option +/- übersehen, erst jetzt entdeckt! Vorher war es mir ein Greul immer nur in plus oder minus zu arbeiten.

Das ist natürlich noch "wieselflinker", arbeitet ohne EV. Soweit ich jetzt festgestellt habe geht das wohl immer wechselweise in die Plus-Richtung und dann in die Minus-Richtung, bis zum bitteren Ende.
Hab mal drauf gehalten, bei 1/2500 ist dann Schluß und bei 10 Sekunden habe ich dann aufgehört.

Es war mir aber auch mein persönlicher Ehrgeiz dieses Skript zum Laufen zu bringen.
So schmeiße ich denn meine Bemühungen in meinen eigenen Paierkorb!

Inwiefern sich die Unterschiede auf die HDR-Aufnahmen auswirken (UNterschied EV) darüber kann ich keine Aussage machen. Dazu benötigt es eines fotografischen Fachmannes.

Grüße gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 13:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 5 Gäste