Hallo,
das Video habe ich als Vorbereitung zu dem von msl vorgeschlagenem eigenem Thema zu ‚rawopint‘ erstellt. Einige Informationen über das Video findet man ja bereits in der YouTube Beschreibung.
Grundlagen:
Mit den Funktionen set_tv96_direct() und set_sv96() lassen Empfindlichkeit (ISO) und Belichtungszeit (Verschlusszeit) setzen. Die Werte die man diesen Funktionen übergibt sind allerdings nicht Verschlusszeiten und ISO Werte, sondern genormte APEX96 Werte (Siehe Tabellen im Anhang von CHDK Handbuch). 96 APEX96 – Werte entsprechen 1 Belichtungsstufe (1EV), 32 APEX96 – Werte entsprechen 1/3EV.
Eine Verschlusszeit von 1s hat eine APEX96 Wert von 0, die nächst höherer Verschlusszeit von 1,3s hat eine APEX96 Wert von -32. Zwischen 1s und 1,3s liegt 1/3EV. Normalerweise kann man zwischen diesen Belichtungszeiten keine weiteren Zwischenwerte an Digitalkameras einstellen. Mit set_tv96_direct() kann man aber alle Werte von 0 bis -32 setzen. Man hat damit auch noch 31 Zwischenwerte und man kann die Werte nicht nur setzen, sie zeigen auch Wirkung. Allerdings sieht man die Zwischenwerte nicht in den EXIF Daten. Dort steht dann nur 1s oder 1,3s.
OK, bei der Verschlusszeit habe ich mich immer schon gefragt, warum es nicht mehr Zwischenstufen gibt. Digital Timer haben ja meist 16Bit und höhere Auflösungen. Aber für einzelne Bilder ist auch wohl keine feinere Einstellung notwendig. Bei den ISO Werte konnte ich mir das nicht so richtig vorstellen. Die Empfindlichkeit der Kamera wird ja vermutlich durch Verstärkerstufen realisiert. Zwischen ISO100 und ISO6400 liegen ja mehr als 512 APEX96 Werte. Aber schaltbare Verstärker von mehr als 512 Stufen sind wohl heute kein Problem mehr.
Aber warum realisiert Canon eigentlich so kleine ISO Unterschiede? Ich vermute dass die unterschiedlichen Kameras damit geeicht werden. Also jeder unterschiedlicher Typ hat ein anderes Offset.
Also auch das setzen von set_sv96(412) und set_sv96(413) zeigt eine, wenn auch nur kleinen Unterschied.
Das ganze lässt sich sehr schön mit dem Script isoinc.lua (ISO increment) nachprüfen.
http://chdk.setepontos.com/index.php?topic=12165.0Bei diesem Script benötigt man eine Szene mit konstanter Beleuchtung. Das Script fährt dann einen vorher definierten ISO Bereich ab. Mein Video habe ich mit diesem Script erstellt. Ich habe das Script von ISO100 (APEX96=412) bis ISO400 (APEX96=603) laufen lassen. Das ergab dann 192 Bilder. Die Bilder habe ich dann noch einmal in umgekehrter Reihenfolge kopiert. Mit den dann 384 Bildern habe ich das Video mit VirtualDub erstellt. Einmal mit 30fps und dann noch einmal mit 60fps.
Bei dem Video mit den 1/3EV stufen habe ich dann nur jedes 32zigste Bild genommen und 32-mal kopiert.
Wer das Script mal ausprobieren möchte, sollte wirklich darauf achten, dass die Beleuchtung sich nicht ändert. Kleinste Reflexionen im Hintergrund beeinflussen das Ergebnis.
Wozu braucht man das ganz jetzt bei Zeitraffern?
Nehmen wir mal an eine Szene ist mit einer Verschlusszeit von 1s optimal belichtet und die Helligkeit nimmt etwas ab. Jetzt könnte man normalerweiser nur mit einer 1/3EV Änderung von 1,3s nachstellen. Das würde dann aber, zu den unschönen Sprüngen wie im ersten Teil des Videos zu sehen ist, kommen. Mit CHDK hat man aber nun Möglichkeit, das ganze kontinuierlich nachzuregeln.
Natürlich kann man die Sprünge auch in der Nachbearbeitung reduzieren. Das ist aber nur mit erheblichem Aufwand möglich. Bei Aufnahmen direkt in die Sonne bleibt dann allerdings meist immer ein Restartefakt, weil die ausgebrannten Bereiche sich durch die Stufung doch deutlich ändern.
Ich möchte noch in diesem Zusammenhang noch erwähnen, dass die Funktion set_tv96() nicht den gewünschten Effekt erzielt. Sie scheint, im Gegensatz zu set_tv96_direct() intern auf die 1/3EV Stufen zu runden. Darauf sollte man vielleicht in der Dokumentation hinweisen.
Grüße Jörg