Hallo,
um bei Freihandaufnahmen bei schwachem Licht die Verwackelungsgefahr zu händeln, stelle ich probehalber ein Skript zur Verfügung, welches die Verwendung meiner ISOBoost-Kurven automatisiert. Falls keine Probleme auftreten wird das Skript und eine angepasste Tonwertkurvenstruktur in mein nächstes Update von SintersCurvePackage aufgenommen.
Alle 5 Curves müssen in das CURVES-Hauptverzeichnis, das Skript muss wie üblich in das CHDK-Skriptverzeichnis, und in CHDK muss im Tonwertkurvenmenü die Curve STD.CVF geladen werden.
Das Skript funktioniert aufgrund der notwendigen Tonwertkurven ausschließlich bei CHDK-10-Bit-Raw-Kameras!
Zum Skript:
LowLight.lua by Sinter, 5. März 2010, Version 0.1
Anwendungsfelder: Verwackelungsschutz bei Freihandaufnahmen selbst bei schwachem Licht,
Available-Light-Fotografie,
Blitzvermeidung bei schwächeren Lichtverhältnissen,
auch für Tele-Aufnahmen konzipiert (da das Skript die Brennweite berücksichtigt).
mittels automatischer Bedarfsanalyse sowie (im Bedarfsfall) automatischer Auswahl und Anwendung der 4 ISOBoost-Kurven bei automatischer Wahrung von möglichst kurzen Verschlusszeiten.
Skript zur Beibehaltung möglichst kurzer Verschlusszeiten (Ziel-Limit = abhängig von Brennweite) auch bei schwachem Licht mittels automatischer Auswahl einer möglichst passenden ISOBoost-Kurve und entsprechender Belichtungszeitverkürzung um bis zu 4 EV.
Das Skript misst ob aufgrund einer zu langen Belichtungszeit eine Verwackelung droht und verkürzt im Bedarfsfall ganz automatisch die Belichtungszeit unter Zuhilfenahme meiner ISOBoost-Kurven um bis zu 4 EV. Dies ermöglicht Aufnahmen aus der Hand (bei ursprgl. Ziel = 1/40 Sekunde) sofern sie ursprünglich bis zu 0,4 Sekunden Belichtungszeit benötigen würden. (Erst ursprüngliche Belichtungszeiten von länger als 0,4 Sekunden werden in Belichtungszeiten von länger als 1/40 Sekunde umgewandelt, wobei dann die Gefahr von Verwackelungen deutlich zunimmt.) Für Kameras mit <=30mm-Weitwinkel habe ich auch noch einen 1/30-Sekunden-Zielwert berücksichtig/eingefügt.
Die BelichtungszeitZielwerte (=minimapex) werden anhand der jeweils aktuellen Brennweite festgelegt. Es können maximal 4 EV gewonnen werden. BelichtungszeitZielwerte, welche eine grössere Korrektur als die verfügbaren 4 EV erfordern würden, werden nicht vollständig realisiert (sondern dann nur die Maximalkorrektur von 4 EV ausgeführt) und es erfolgt eine Warnmeldung, dass während der Aufnahme die Wackelgrenze überschritten war, sowie eine Aufforderung, um wie viele Stufen die ISO-Einstellung möglichst erhöht werden soll. (Präzision dieser Prognose noch nicht geklärt. Theoretisch präzise, aber in der Praxis scheint ISO-Prognose unserer Cams etwas tückisch, nach erstens Tests vor allem bei der Prognose im Telebereich.)
##########################
!!! ZWINGENDE VORAUSSETZUNGEN !!!:
Das Skript funktioniert ausschließlich mit CHDK-10-Bit-RAW-Kameras und setzt eine in CHDK geladene und unmittelbar (!) im CURVES-Ordner befindliche beliebige STD.CVF-Tonwertkurve voraus, sowie an gleicher Stelle die vier ISOBoost-Kurven aus SintersCurvePackage. Die STD.CVF-Tonwertkurve muss in den CHDK-Tonwertkurven-Einstellungen nicht aktiviert (Kurve darf AUS [=NONE] sein), aber muss unbedingt geladen sein ("Current custom curve=A/CHDK/CURVES/STD.CVF").
Weitere Voraussetzung: CHDK-DE Version ab 26.2.2010
Anmerkung: Die vier ISO-Boost-Filenamen beginnen hier mit einem kleinen Buchstaben um das CURVES-Hauptverzeichnis nicht zu sehr zu beeinträchtigen. Durch Kleinschreibung rutschen die Filenamen in der CHDK-Anzeige an das Verzeichnisende. Die Kurve STD.CVF habe ich in Grossschrift belassen da die Kurve in dieser Form auch bei Curve-Bracketing Verwendung findet.
##########################
Infos zur Parametereinstellung:
In den CHDK-Skripteinstellungen für die beiden folgenden Parameter bitte die eigenen (!) Kameradaten eintragen:
"Mini. CamDigiBrennweite x10" bedeutet die kleinste Millimeteranzahl des Brennweitenbereichs der Kamera (steht vorne auf dem Objektiv), bitte multipliziert mit dem Faktor 10. (Bspw. bei "5,8mm" bitte hier "58" eintragen)
"Mini. CamAnalogBrennweite" bedeutet die kleinste dazu äquivalente Brennweite der Kamera im analogen 36mm-Format. Das sind häufig 35 Millimeter, bei Weitwinkelkameras oft auch 28 Millimeter. Den jeweiligen Wert kann man den technischen Daten des eigenen Kamerahandbuchs entnehmen.
Diese beiden Daten verwendet das Skript zur Berechnung der jeweils aktuellen Brennweite im analogen 36mm-Format. Daraus wird dann gemäss Kehrwertregel die in der jeweiligen (Zoom-)Brennweiten-Einstellunglängste tolerierbare Belichtungszeit gewählt, die gerade noch eine unverwackelte Freihand-Aufnahme zulässt.
Ich bin gespannt wie weit sich noch Probleme zeigen.
Viel Spaß beim Ausprobieren,
Sinter