[Lua] AV-Skript mit langen Belichtungszeiten grösser als 1 sec.

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

AV-Skript mit langen Belichtungszeiten grösser als 1 sec.

Beitragvon Werner_O » 01.11.2011, 16:06

Hallo zusammen,

mich würde es interessieren ob es bereits ein Skript gibt, welches bei Aufnahmen im AV-Modus ermöglicht, längere automatisch erzeugte Belichtungszeiten als nur max. 1 sec. zu ermöglichen.

In den Automatikmodi "P" und "AV" erlaubt meine SX20IS leider nur automatische Belichtungszeiten von max. 1 sec., obwohl per "Manuell" bzw. per "TV" durchaus längere Belichtungszeiten von max. 15 sec. bereits ohne CHDK möglich wären.

Dabei können diese max. 15 sec. Belichtungszeit (laut Kamera) m.W. duch CHDK deutlich nach oben aufgestockt werden, wobei das "wieviel nach oben" anscheinend vom Kameramodell abhängt. Laut Aussagen eines anderen Users der SX20IS sollte dieses Modell sogar Belichtungszeiten von weit mehr als einer Minute möglich machen.

Hat irgend jemand von Euch dazu eine Idee oder gar einen Lnk?
Über Antworten dazu würde ich mich jedenfalls sehr freuen.

Liebe Grüße
Werner_O




Ergebnis der Diskussion ist ein Skript wie nachfolgend beschrieben:

Das Skript beruht auf vielen mathematischen Berechnungen. Und da gibt es unter CHDK die Einschränkung, dass wir nur mit Ganzzahlen und nicht wie hier eigentlich erforderlich mit Dezimalzahlen die Berechnungen ausführen müssen. Das betrifft vor allem die Berechnung der hyperfokalen Distanz. Dadurch kommt es teilweise zu leichten Abweichungen.

Außerdem muss immer wieder durch Messung abgeglichen werden, weil erforderliche Werte nicht automatisch aktualisiert werden.

Das alles braucht auch Zeit. Da wir aber ein Skript haben wollen, was u.a. als Hauptaufgabe die Ãœberwindung der Ein-Sekunden-Grenze beinhalten soll, ist Geschwindigkeit nicht das wichtigste Kriterium (meine Meinung).

Das Skript ist nur mit Kameras benutzbar, die über manuellen Fokus und Irisblende verfügen!

Was kann das Skript?
  • Berechnung der tatsächlichen Belichtungszeit unter Ausschluss der Ein-Sekunden-Grenze
  • Einstellbarer Blendenwert (auch Werte jenseits der nativen Kameramöglichkeiten) im laufenden Skript
  • Auswahl und Benutzung Fokusdistanz oder hyperfokale Distanz
  • Belichtungskorrektur
Skriptbedienung

Das Skript zeigt in der Skript-Konsole in einer Infozeile alle relevanten Werte an: Belichtungskorrektur, Verschlusszeit, Blende, Fokusdistanz, hyperfokale Distanz
Außerdem werden die benutzbaren Bedienelemente angezeigt (optional abstellbar).
  • [hoch, runter] - Belichtungskorrektur in 1/3-Schritten (z.B. 6/3 = 2 Ev)
  • [halb gedrückter Auslöser] - wie normale Kamerafunktion zum Ãœberprüfen der Werte (Achtung: voll gedrückter Auslöser unterbricht das Skript.)
  • [links, rechts] - Auswahl Blendenwert
  • [SET] - Auslösen mit über Parameter einstellbarer Verzögerung (Verwacklungsschutz wegen langer Belichtungszeiten). Bei Anzeige "Fokus nicht OK!" und Verwendung der normalen Fokusdistanz wird nicht ausgelöst!
  • [DISP.] - Hin- und Herschalten zwischen Verwendung Fokusdistanz oder hyperfokaler Distanz (verwendeter Wert wird in der Infozeile durch ein Dreieck gekennzeichnet.)
  • [MENU] - Skriptende
Das Skript läuft in einer Schleife. Man muss also für eine weitere Aufnahme nicht erneut einen Skriptstart ausführen.

Skriptparameter
  • Verzoegerung [s] - in Sekunden einstellbare Auslöseverzögerung, voreingestellt 2
  • Bedien-Info - optionales Ausblenden der Anzeige der Skript-Bedienelemente 1=an 0=aus, voreingestellt 1
  • Offset Konsole - Verschiebung der Skriptkonsole nach rechts (positive Werte, maximal 7) oder links (negative Werte, maximal -6) zur persönlichen Anpassung
  • Korrektur Hyp [%] - ermöglicht eine prozentuale Korrektur der berechneten hyperfokalen Distanz, wenn es Abweichungen zum DOF-Rechner gibt.
  • Berechnen < 1s - Option zur Neuberechnung der Belichtungszeit durch das Skript auch unter einer Sekunde, 1=an 0=aus, voreingestellt 0
  • Color-Info - Option für alternative mehrfarbige Anzeige der Skript-Informationen statt in der normalen Skript-Konsole, 1=an 0=aus, voreingestellt 0
  • Anzeigeverzoegerung [100ms] - gilt für mehrfarbige Anzeige. Da andere Kamera-Anzeige-Funktionen die mehrfarbige Anzeige überschreiben, kann hier eine Verzögerung in 100-Millisekunden-Schritten eingestellt werden. Voreingestellt ist 4, also 400 ms.
  • LCD - Angabe zum Seitenverhältnis des LCD-Bildschirms, damit die mehrfarbige Anzeige zentriert erfolgt, 0=4:3 1=16:9. Voreingestellt ist 4:3.

Besonderheiten
  • Je nach Einstellung der Brennweite (Zoom) ändert sich kleinstmögliche Blendenzahl. (Je mehr Brennweite desto weniger Offenblende).
  • Bei Benutzung der Fokus-Distanz wird nur ein Foto erstellt, wenn auch der Fokus ok ist (meist grüner AF-Rahmen).
  • Bei Benutzung der hyperfokalen Distanz wird auch ohne korrekte Fokussierung ein Foto erstellt.
  • Die eingestellte Belichtungskorrektur wird nicht in den Exif-Daten eingetragen. Dafür weicht die Angabe für die Belichtungszeit um den eingestellten Betrag der Belichtungskorrektur ab (z.B. Tv=1s, Belichtungskorrektur -1EV, Exif-Angabe der Belichtungszeit=0,5s). Die Belichtungskorrektur der Kamera sollte nicht verwendet werden!

Zu diesem Skript gibt es inzwischen auch eine Anleitung im PDF-Format:
Download Anleitung_Skript_AV-Plus.pdf
Dateianhänge
Av_Plus.lua
(8.95 KiB) 620-mal heruntergeladen
Zuletzt geändert von Werner_O am 08.01.2012, 10:19, insgesamt 4-mal geändert.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: AV-Skript mit langen Belichtungszeiten

Beitragvon msl » 01.11.2011, 20:00

Hallo Werner_O,

ein Skript dieser Art wurde meines Wissens nach bisher hier im Forum nicht veröffentlicht.

Die Ein-Sekunden-Grenze ist ein Problem, dass alle kompakten Canon-Kameras betrifft. Belichtungszeiten > 1 Sekunde können nur in bestimmten Modi wie Tv oder M eingestellt werden.

Ein Skript wäre relativ einfach zu organisieren. Ausgehend von der Gleichung Tv + Av = Bv + Sv (mehr dazu hier und hier), müsste man eine Messung durchführen (halb gedrückter Auslöser), um alle relevanten Werte festzustellen. Liegt die berechnete Belichtungszeit bei >= einer Sekunde, müsste man dann den von der Kamera berechneten Wert mit der ermittelten Zeit überschreiben.

In der Praxis wird man sicherlich dann noch etwas Feinschliff anlegen müssen, um evt. Verschiebungen (AE-Shift) der fototechnischen Werte, die die Kamera durchführt, um so lang wie möglich die o.g. Gleichung unter der Vorgabe max. Tv = 1 Sekunde einzuhalten. Wenn Tv- und/oder Av-Werte im Display rot dargestellt werden, kann die Gleichung nicht mehr eingehalten werden.

Wenn die Berechnungen geklärt sind, muss noch geklärt werden, wie die Bedienung und Anzeige unter Berücksichtigung der allg. Skript-Möglichkeiten erfolgen soll.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: AV-Skript mit langen Belichtungszeiten

Beitragvon Werner_O » 03.11.2011, 00:10

Hallo msl,

Vielen Dank für Deine Infos.

Schade, daß es anscheinend so ein Skript noch nicht gibt, obwohl laut Deiner Aussage alle kompakten Canon-Kameras von diesem Problem betroffen sind.

Selbst meine ca. 40 Jahre alte UrUralt-SLR Minolta XE-1 kann mit ihrem Schlitzverschluß von Leica bereits bei AV immerhin stufenlos bis zu 4 sec. belichten, und jetzt schreiben wir anno 2011 mit Digitalkameras, die theoretisch eigentlich bei AV mind. 1 Minute oder sogar noch länger belichten könnten, bei 1 sec. ist aber Schluß - was für ein "Fortschritt" ;-)

Leider kann ich selber keine Skripte erstellen und ich kann somit nur hoffen daß andere hier, die diesbezüglich Ahnung haben, vielleicht ein Projekt in dieser Richtung angehen, um dieses wirklich ärgerliche Problem endlich aus der Welt zu schaffen.

Diese lästige 1 sec-Belichtungszeit-Begrenzung bei AV muß doch endlich mal geknackt werden - wer schafft es als erster?

Liebe Grüße
Werner_O
Zuletzt geändert von Werner_O am 06.11.2011, 16:43, insgesamt 2-mal geändert.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: AV-Skript mit langen Belichtungszeiten

Beitragvon msl » 03.11.2011, 15:31

Hallo Werner_O,

naja das Knacken dieser Grenze ist ziemlich einfach. Das hast du mit ca. 20 Skriptzeilen erledigt.

Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--[[
@title Tv extended
]]


sleep(2000)

function getShootInfo()
    press("shoot_half")
    repeat
        sleep(10)
    until get_shooting() == true
    release("shoot_half")
    repeat
        sleep(10)
    until get_shooting() ~= true
    Bv=get_bv96() Av=get_av96() Sv=get_sv96()
    Tv_calc = Bv + Sv - Av
    return Tv_calc
end

Tv = getShootInfo()
if Tv < 0 then set_tv96(Tv) end
shoot()
Erstellt in 0.007 Sekunden, mit GeSHi 1.0.8.9


Die Fragen sind aber: Reicht das aus? Müssen noch ein paar Dinge mehr beachtet werden? Wird mehr Komfort gewünscht?

Was macht dieses Skript? Es wartet nach dem Start 2 Sekunden, um Verwackler zu vermeiden. Dann wird eine Messung durchgeführt (Auslöser halb gedrückt). Anschließend erfolgt das Auslesen der notwendigen Messdaten (Bv=Lichtverhältnisse, Sv=Empfindlichkeit,ISO, Av=Blende). Aus diesen Ergebnissen wird die notwendige Verschlusszeit berechnet. Ist diese berechnete Verschlusszeit größer als eine Sekunde, wird sie beim anschließenden Shooting angewendet. Ansonsten erfolgt ein Shooting mit dem von der Kamera ermittelten Wert.

Das Skript ist sehr einfach gehalten und soll lediglich als Anregung dienen.

Gruß msl

P.S. Es handelt sich um Lua-Skript. Wer es ausprobieren möchte, sollte den Code in Datei mit der Endung .lua abspeichern.
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: AV-Skript mit langen Belichtungszeiten

Beitragvon Werner_O » 03.11.2011, 22:23

Hallo msl,

zunächst vielen herzlichen Dank für den Entwurf dieses Skripts - das ist ja schon mal ein Anfang :-)

Ich habe dieses Skript eben wortwörtlich als Datei "TVExtend.lua" gespeichert, auf die Kamera übertragen und anschließend bei konstanter Beleuchtung und gleicher Kameraposition ausprobiert. Die ISO habe ich so gewählt, daß bei f2,8 die Belichtungszeit noch knapp unter einer sec. blieb (etwa 0,8 sec) und danach weitere Bilder (natürlich via Skript im Alt-Modus) mit f4,0, f5,6 und f8,0 gemacht. Die Kamera war dabei auf AV eingestellt und die Blendenwechsel habe ich jeweils bei deaktiviertem Alt-Modus vorgenommen.
Zusätzlich habe ich zuerst ein Referenz-Bild ohne Skript mit f2,8 und 0,8 sec Belichtungszeit gemacht.

Meine leider negativen Testergebnisse:
Einzig bei Blende f2,8 macht dieses Skript ein quasi identisches Bild bzgl. Belichtung wie das Referenz-Bild ohne Skript.
Bei den kleineren getesteten Blenden 4/5,6/8 werden die Bilder zunehmend deutlich dunkler, was auch in den Histogrammen deutlich sichtbar wird.
Insofern ist also m.E. nicht davon auszugehen, daß dieses Skript in seiner jetztigen Form bei AV längere Verschlußzeiten als 1 sec. ermöglichen kann.
Da muß wohl irgendwo noch nachgebessert werden, aber davon habe ich leider keine Ahnung :-(
Vielleicht werden die vom Lua-Skript errechneten langen Verschlußzeiten größer 1 sec. noch nicht korrekt an die Kamera übertragen, aber ich bin diesbezüglich wie gesagt ein absoluter Laie mit null Ahnung...

Es bleibt aber positiv zu vermerken daß dieses Minimal-Skript bei meiner SX20IS grundsätzlich lauffähig ist und immerhin keine Abstürze verursacht.

Soviel dazu zunächst von mir,
liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon msl » 03.11.2011, 23:58

Hallo Werner_O,

mein Test war erfolgreich. Allerdings habe ich im P-Modus getestet. Dabei wurde eine Situation erzwungen (durch Zoom), wo normalerweise eine Zeit über 1 Sekunde benötigt wird, zu erkennen an der roten Werteanzeige im Kamera-Display. Mit Skript lag die Belichtungszeit dann größer eine Sekunde.

Übrigens werden die mit den Skript erzeugten Zeiten so lange richtig in die Exif-Daten geschrieben, wie man <= 15 Sekunden bleibt. Deshalb würde mich mal noch interessieren, was die Exif-Belichtungszeiten in deinem Test sagen.

Dass das Skript prinzipiell funktioniert, sollte eigentlich selbstverständlich sein, da es ausschließlich kameraunabhängige CHDK-Standardfunktionen verwendet.

Wenn es dich interessiert, können wir das Skript etwas verändern. Dann wird einfach nur die Messung durchgeführt und zum Vergleich der von der Kamera und vom Skript berechnete Wert für die Verschlusszeit angezeigt.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon Werner_O » 05.11.2011, 15:23

Hallo msl,

mein Test war erfolgreich. Allerdings habe ich im P-Modus getestet.

Der P-Modus bringt nichts, da es mir ausdrücklich um ein Skript mit Blendenvorwahl geht, wobei das Skript die im AV-Modus eingestellte Blende übernehmen soll.

Hier zunächst die EXIF-Daten (bei allen Exposure mode = Av priority):
Bild - FNumber - ExposureTime - ShutterSpeedValue
1 - 2,8 - 1/1,3 sec - 1/1 sec
2 - 4,0 - 1 sec - 1/1 sec
3 - 5.6 - 1 sec - 1/1 sec
4 - 8,0 - 1 sec - 1/1 sec

Deinen letzten Absatz verstehe ich leider nicht so ganz. Eigentlich soll das Skript ja passend zur Blende auch eine Verschlußzeit größer als 1 sec ermöglichen und auch mit einer errechneten Belichtungszeit > 1 sec dann ein Bild mit dieser Belichtungszeit > 1 sec machen, aber genau das funktioniert bisher leider noch nicht. Diese Grundfunktionalität hat absolute Priorität, und weitere mögliche Komfortfunktionen sind für mich zunächst zweitrangig.

EDIT 18:40:
Ich habe dieses Lua-Skript von msl eben bei mir online gestellt: Direkter Download TVExtend.lua
Testfreudige User können es so bequem für eigene Tests downloaden.

Liebe Grüße
Werner_O

CHDK-DE 8.40
Zuletzt geändert von Werner_O am 05.11.2011, 22:22, insgesamt 7-mal geändert.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon h3px » 05.11.2011, 17:48

Hi msl/Werner_O,
ich habe das auf meiner SX200 mal ausprobiert und weder im AV noch im P-Modus geht die Kamera über 1 Sekunde.
Allerdings fehlt mir noch die Ahnung das Script zu übersetzten, aber ich fang mal an zu lesen :)

Gruß h3xp
Benutzeravatar
h3px
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 365
Bilder: 10
Registriert: 15.01.2009, 20:38
Wohnort: ~ MUC
Kamera(s): S 110 103a - SX 260 101a
Ixus 870 101a - A590 101b

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon msl » 06.11.2011, 00:13

Hallo,

für den Test ist es erst mal völlig egal, ob P- oder Av-Modus. In beiden Modi beschränkt die Kamera die Belichtungszeit auf maximal eine Sekunde. Ziel soll es sein, diese Begrenzung zu überwinden.

Nun stellt sich die Frage, wann begrenzt die Kamera tatsächlich? Immer dann, wenn die angezeigte Belichtungszeit von einer Sekunde rot dargestellt wird. Erst in diesem Moment greift das Skript. Das haben meine Tests sowohl im P- als auch Av-Modus nachgewiesen - getestet mit A720 und SX220.

Kurz noch etwas zum Testen. Solche Skripte teste ich prinzipiell nicht mehr direkt in der Kamera. Ich benutze dazu die im Programm ptpCamGui integrierte Lua-Konsole. Das erspart mir die ständige Entnahme der SD-Karte aus der Kamera und schützt sie vor Defekt.

Es gibt aber noch eine andere Schwierigkeit. Die Bv-Messung (Lichtverhälnisse) ist nicht gerade zuverlässig. Ich habe festgestellt, um so näher man an ein Objekt heran geht, um so ungenauer wird die Berechnung.

Werner_O hat geschrieben:Deinen letzten Absatz verstehe ich leider nicht so ganz.
Ich wollte mit diesem Angebot lediglich das Testen vereinfachen. Prinzipiell muss ja nicht fotografiert werden (Das schont auch die Kamera!). Es reicht doch aus, Soll- und Ist-Wert der Belichtungszeit auszugeben. Meiner Meinung werden so auch die Zusammenhänge deutlich verständlicher.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon Werner_O » 06.11.2011, 16:18

Hallo msl,

ich habe das Skript jetzt auch mal im P-Modus getestet mit fester ISO, Multisegmentmessung und aktiviertem i-contrast, wobei für eine korrekte Belichtung jeweils Belichtungszeiten größer als 1 sec nötig gewesen wären.

Beim allerersten Bild hat meine SX20IS tatsächlich mit 4 sec belichtet (steht auch in den EXIF-Daten), aber das Bild war deutlich überbelichtet. Bei diesem Bild zeigt meine Kamera im erweiterten Wiedergabemodus auch noch i-contrast=aktiviert an.

Bei allen nachfolgenden Aufnahmen war die Belichtungszeit wieder 1 sec und die Bilder waren deutlich unterbelichtet. Interessanterweise zeigt meine Kamera für diese Bilder kein i-contrast=aktiviert mehr an, obwohl ich i-contrast nicht ausgeschaltet hatte.

Bei weiteren Testaufnahmen mit deaktiviertem i-contrast konnte ich mit dem Skript ebenfalls keine Belichtungszeiten größer als 1 sec mehr erzwingen.

Soviel zu meinen Tests im P-Modus - so richtig einen Reim kann ich mir daraus aber nicht machen...

Werner_O hat geschrieben:
Deinen letzten Absatz verstehe ich leider nicht so ganz.

Jetzt habe ich es endlich kapiert ;-)
Ich würde natürlich auch ein geändertes Skript testen, welches nur die TV-Werte der Kamera respektive des Skriptes zeigt ohne ein Bild zu machen.
Momentan habe ich GsD auch Zeit für weitere Tests.

Kurz noch etwas zum Testen. Solche Skripte teste ich prinzipiell nicht mehr direkt in der Kamera.

Vielleicht ist es ja gut, daß ich real an der Kamera teste - die genannten i-contrast-Probleme mit dem Skript wären in einer Emulation vermutlich kaum aufgefallen.

Liebe Grüße
Werner_O

CHDK-DE 8.47
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon fe50 » 06.11.2011, 22:37

Werner_O hat geschrieben:...und aktiviertem i-contrast...
Unabhängig von diesem speziellen Thema / den Tests hier - eine grundsätzliche Empfehlung meinerseits:

Wenn mit CHDK Overrides spezielle Effekte erreicht werden sollen oder wenn die Auswirkung von CHDK Einstellungen getestet werden sollen, dann sollten erweiterte Kameraeinstellungen/funktionen wie

i-Contrast
Red-Eye Correction
AF-Point Zoom
Servo AF
Digital Zoom
ISO Shift
Continuous AF

abgeschaltet sein: einige dieser Funktionen verfälschen die Ergebnisse, führen zu unerwarteten Effekten oder verhindern eine ordnungsgemässe Funktion von CHDK Einstellungen.
So manipuliert z.B. i-Contrast das Bild abhängig vom Motiv und macht die Kontrolle mittels Histogramm äusserst schwierig; ein aktiver fortlaufender Autofokus (Servo AF oder Continuous AF im Reihenmodus) verhindert die manuelle oder scriptgesteuerte Festsetzung von Focus/Distanzwerten...
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon msl » 07.11.2011, 12:31

Hallo CHDK-Bastler,

dem, was fe50 geschrieben hat, ist nichts hinzuzufügen.

Aber nun wieder zum eigentlichen Anliegen. Ich habe den kleinen "Skript-Schnipsel" etwas modifiziert, um möglichst gleiches Verhalten unterschiedlicher Kameras zu erreichen. Außerdem werden die berechneten Werte jetzt angezeigt. Im Skript-Menü kann man einstellen, ob man auch tatsächlichen ein Foto machen lassen möchte. Für den eigentlichen Versuchsaufbau ist dies nicht unbedingt notwendig.
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--[[
********************************
Licence: GPL
(c) msl 2011/11/07
********************************
@title Tv extended
@param a Shooting 1=ja 0=nein
@default a 0
]]


function getShootInfo()
    press("shoot_half")
    repeat
        sleep(10)
    until get_shooting() == true
   
    local Bv=get_bv96()
    local Av=get_av96()
    local Sv=get_sv96()
    local Tv=get_tv96()
    local F =get_focus_state()
   
    release("shoot_half")
    repeat
        sleep(10)
    until get_shooting() ~= true
   
    local Tv_calc = Bv + Sv - Av
    local FocusState = "nicht OK"
    if F > 0 then FocusState = "OK" end
   
    cls()
    print("Kamera:", Tv)
    print("CHDK  :", Tv_calc)
    print("Fokus :", FocusState)
   
    return Tv_calc, F
end

tv96, focus_state = getShootInfo()

if a == 1 and focus_state > 0 then
    if tv96 < 0 then set_tv96(tv96) end
    shoot()
end
Erstellt in 0.007 Sekunden, mit GeSHi 1.0.8.9


Das Skript gibt den von der Kamera und von CHDK berechneten Wert für die Belichtungszeit aus. Außerdem wird noch überprüft, ob erfolgreich fokussiert wurde. Wenn im Skript-Menü das Shooting aktiviert wird (1) und das Fokussieren erfolgreich war, wird auch ein Foto erstellt.

Was sagen nun die Zahlen aus? Wir rechnen hier mit dem APEX96-System. Das bedeutet, 1/3 Lichtwert bzw. Belichtungswert entsprechen 32, ein Lichtwert bzw. Belichtungswert sind 96. Das nur soweit zur Erklärung, wie es zu der Zahl 96 kommt. Die mathematischen Umrechnungsformeln sind für den Moment uninteressant. Wir benutzen einfach die Tabelle im Anhang des CHDK-Handbuch S. 133.

Die ausgegebenen Zahlen sind nicht immer durch 32 teilbar und entsprechen so nicht immer den Tabellenwerten. In diesem Fall wird der am nächsten liegende Wert benutzt.

Alle Werte, die < 0 (eigentlich < -16 wegen der Annäherung) führen zu Belichtungszeiten größer einer Sekunde. Der von der Kamera berechnete Wert wird nie unter 0 liegen.

Ich hoffe, dass die Ausführungen einigermaßen verständlich sind. Ansonsten bitte nachfragen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon Werner_O » 07.11.2011, 12:52

Hallo msl,

Info bzgl. meiner Einstellungen bei den Tests mit Deinem Skript:
die von fe50 genannten Features sowie natürlich auch Safety Shift waren dabei ausgeschaltet, nur der IS war an im Modus Nur Aufnahme.
Den i-contrast hatte ich wie bereits gesagt in separaten Testreihen jeweils mal an- und mal ausgeschaltet.

Liebe Grüße
Werner_O

P.S.:
Ich sehe gerade daß Du hier eben auch gepostet hast und werde das neue Skript später ausprobieren.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon Werner_O » 07.11.2011, 16:09

Hallo msl,

ich habe das neue Skript eben mal auf verschiedene Weisen getestet (alles ohne Features wie i-contrast etc. s.o.).

Zunächst habe ohne Shoot im P- und AV-Modus bei helleren Lichtverhältnissen mit Belichtunsgzeiten kleiner als 1 sec getestet.
Bei relativ hellen Motiven mit viel Kontrast waren die ausgegebenen Werte von Kamera und CHDK sehr ähnlich.
Bei dunklen Motiven mit wenig Kontrast waren die von CHDK ausgegebenen Werte dagegen reproduzierbar signifikant um bis zu 100 kleiner als die Werte der Kamera, was gegenüber der Kamerawerte etwa zu einer Belichtung von +1EV geführt hätte.

Danach habe ich das Zimmer abgedunkelt und ein Motiv gewählt, welches bei ISO 800 und Blende 4 etwa 0,25-0,5 sec Belichtungszeit erfordert hätte und dann die ISO fest auf 100 gestellt um Belichtungszeiten größer als 1 sec zu erzwingen.

Auch hier habe ich zunächst ohne Shoot im P- und AV-Modus getestet. Die Wertausgabe von Kamera war dann stets 0, und die Wertausgabe von CHDK lag bei m.E. als realistisch einzuschätzenden ~ -200.

Danach habe ich sowohl im P- als auch AV-Modus mit Shoot getestet mit eindeutigen Ergebnissen:
Kein einziges Bild ist länger als 1 sec belichtet und die Belichtungszeit (ExposureTime und ShutterSpeedValue) ist stets genau 1 sec, wobei ich auch die EXIF-Daten anschließend explizit überprüft habe.

Mein Fazit:
1) Das Skript errechnet durchaus plausible Belichtungswerte für TV mit der Tendenz, bei dunklen und kontrastarmen Motiven bis zu 1 EV länger als die Kamera belichten zu wollen. Dem könnte man bei entsprechenden Motiven evtl. durch eine Belichtungskorrektur von -1EV entgegenwirken, falls das Skript da mitspielt.
2) Das Ãœberschreiben des von der Kamera errechneten TV-Wertes mit dem vom Skript errechneten TV-Wert funktioniert zumindest bei meiner SX20IS noch nicht.
Es wäre interessant zu erfahren, ob User anderer Kameras das gleiche Problem mit diesem Skript haben.

Testfreudige andere User können auch dieses neue Skript von msl bequem direkt von meiner Homepage downloaden:
TVExtend_v2.zip

Soviel zunächst von mir,
liebe Grüße
Werner_O

CHDK-DE 8.50
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: AV-Skript mit langen Belichtungszeiten grösser als 1 sec

Beitragvon msl » 07.11.2011, 21:02

Hallo Werner_O,

da sind wir ja schon mal einen Schritt weiter. Jetzt hast du wenigsten zahlenmäßig gesehen, was passiert.

Nun müssen wir nur noch klären, warum das Überschreiben der Belichtungszeit nicht so funktioniert wie es soll. Dazu werde ich dir ein Test-Skript entwerfen, mit dem wir alle Möglichkeiten automatisch ausprobieren werden. Ich möchte das Test-Skript aber gleich für einen generellen kamera-unabhängigen Funktionstest erstellen. Deshalb kann es etwas dauern.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Nächste

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 Gäste

cron