Hi gehtnix,
ich habe hauptsächlich das Script von fudgey genommen und um die Schwellwertanpassung erweitert.
Auch bin ich von der Universallösung (fast, slow, Bild und video in einem script) nicht so begeistert, da jede Betriebsart ihre eigenen Parameter benötigt. Ich habe schneller ein alternatives Script geladen, als dass ich die alle Parameter prüfe und gegebenfalls ändere.
Weiter habe ich die Parameterzuordnung wieder auf die Bezeichnungen der Doku zurückgeführt - ist einfacher zu lesen (md_detect_motion a, b, c, d, e, f, .........).
Meiner Sicht nach ist nur der Parameter threshold (Schwellwert) vom Motiv abhängig und sollte dementsprechend gezielt eingestellt werden.
Die Anzahl der Zeilen, Spalten, Vergleichsintervall, Maskierung ja/nein und wieviele Zellen, als auch Pixelstep hängen von der internen Bearbeitung durch CHDK ab oder sind kameraabhängig. Einmal auf den Anwendungsfall optimiert, bräuchten sie nicht mehr geändert werden.
Ist 6x4 wirklich das performanteste Grid, bremst oder beschleunigt die Maskierung die Reaktionszeit. Was ist die günstigste Anzahl der maskierten Zellen? Bis vor kurzem hatte ich einen zu großen Jitter beim Umgang mit MD_Test2.exe, als dass ich hier irgendwelche verbindlichen Schlüsse ziehen konnte. Das Ganze sollte man etwas genauer untersuchen. Fudgey verwendet als Vergleichsintervall 7ms. Bei einer Scriptzeilenbearbeitungszeit von 10ms sollte ein Jitter vorprogrammiert sein; oder doch nicht?
Parameter "Messmethode":
Hier wurde gemacht was geht - ich habe keine Vorstellung, wann man U und V sinnvoll einsetzen sollte. Auch die Begrenzung auf R G B ist wohl in der Praxis ziemlich exotisch. Ich habe schon überlegt, ob man diesen Parameter überhaupt unter @param aufführen soll.
Parameter "Timeout":
Du schreibst....
Timeout - nach dieser Zeit startet MD wieder neu und ermittelt neue Tv/AV-Werte und wenn eingestellt, wird eine Neufokussierung vor vorgenommen
md_detect_motion agiert wie ein wait_click - MD wir solange bearbeitet, bis eine Bewegung ermittelt wird, oder Timeout abgelaufen ist, danach wird der folgende Scriptbefehl ausgeführt.
Willst Du Dir bekannt Parameter deutlicher beschreiben?
Mhm -ich überlege noch, welche Parameter der Anwender wirklich braucht, bzw. sinnvoll einsetzen kann.
:fast_md_wait
let U=get_tick_count
let V=(U-X)
if V<r then goto "fast_md_wait"
Hab ich so von fudgey übernommen
sleep r wäre wirklich einfacher.
md_detect_motion a, b, c, 1000, e, f, 1, h, i, j, k, l, m, 0, o, p
1000 ist der Timeout 1 Sekunde. Nach spätestens 1000ms wird der MD-Befehl bendet.
Wurde 6x keine Pseudobewegung erkannt (Zähler P), so passt der Schwellwert.
Mit einem Schwellwert von 6000 kommt man nicht hin, da der Timeout von Anfang an zählt und auch Erkennungspausen mitgezählt würden.
Bei Gewitterblitzen hilft mir das?
Was ist wenn mein Motiv 200 Meter weit weg ist?
Mhm - dieses Script ist für wirklich schnelle Auslösung, z.B. Gewitterblitze ausgelegt. Ein Autofokus würde die Auslösung nur zu stark ausbremsen. MF ist deshalb in diesem Fall nötig - die "200m" müüsen dann von hand eingestellt werden (beim Blitz ist dies Unendlich..)
Der Fuchs vor seinem Bau oder die Maus vor ihrem Loch sind ganz andere Situationen. Hier sollte AF nicht nur eingeschaltet sein, sondern auch sichergestellt werden, dass der Fokus gefunden wurde, bevor ausgelöst wird. Auch sollte die die Bewegungserkennung genau im AF-Rahmen erfolgen.
Fudgeys Script unterstützt dies auch im slow-Modus nicht - werde die nächsten Tage daran rumbasteln.
Gruß
chiptune