Fragen zu set_mf()

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

Re: Fragen zu set_mf()

Beitragvon msl » 19.08.2014, 20:25

Hallo Jörg,

zumindest die Vorgabe für den Maximumwert scheint ominös. Wir können versuchen, der Sache auf den Grund zu kommen. Dazu sind einige Tests erforderlich. Ich kann aber nicht sagen, ob das alles problemlos funktionieren. Dazu fehlen mir Informationen über die Qualität der S110-CHDK-Portierung. Deshalb habe zur Orientierung ein paar Screenshots eingestellt. Beachte, dass meine Kamera ein 16:9-Display hat. Deshalb wirkt alles breiter.

Als erstes werden wir den minimalen Fokuswert überprüfen.

Aktiviere zunächst den CHDK-DOF-Rechner, wenn nicht schon passiert: CHDK-Einstellungen => OSD-Einstellungen => DOF-Rechner => DOF-Rechner-Darstellung => [+Separat]

Verschiebe den DOF-Rechner möglichst auf die rechte Displayseite: CHDK-Einstellungen => OSD-Layouteditor... => mit SET so lange klicken, bis DOF-Rechner grün eingerahmt ist. Dann mit Cursor-Tasten verschieben. Mit MENU beenden.

Gehe dann in die Debug-Einstellungen: Verschiedene Einstellungen => Debugging-Einstellungen => Mache die gleichen Einstellung wie im Screenshot:
Bild
Die Debug-Taste ist bei der S110 die RingFunc-Taste. Auf diese wurden alle Funktionen gelegt, die sonst in der CHDK-Dokumentation auf die Löschtaste zutreffen.

Wenn du aus dem CHDK-Menü heraus gehst, siehst nun ein Liste mit Zahlen. Das sind PropertyCase-Variablen. In diesen speichert die Kamera Funktionswerte ab. Für uns ist die Variable 256 interessant. Die Anzeige kann man wieder entfernen, indem man im genannten Menü im ersten Punkt [none] einstellt.

Wenn du dich im Aufnahmemodus befindest, kannst du nun manuellen Fokus aktivieren. Es sollte dann auch der CHDK-DOF-Rechner zu sehen sein. Wähle über die normale Canon-Bedienung die kleinste Fokuseinstellung. Im DOF-Rechner sollte nun der minimale Fokuswert (grün). Diese müsste den technischen Daten der Kamera entsprechen. Bei dir also 30. Welcher Wert wird bei der PropertyCase-Variable 256 angezeigt?
]Bild

Im Vergleich dazu ein Screenshot mit der Einstellung auf unendlich und maximaler Brennweite.
Bild
Allerdings ist die native Canon-Funktion zur Fokuseinstellung in Richtung unendlich sehr ungenau.

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: Fragen zu set_mf()

Beitragvon c_joerg » 20.08.2014, 09:50

Hallo,

ich habe mal ein paar Tests durchgeführt:


Weitwinkel 24mm (Kleinbild)

set_focus() get_focus() EXIF Daten
-1 -1 Unendlich
10 30 0,07 m
6000 7036 7,08 m
10000 -1 Unendlich
50000 -1 Unendlich
100000 -1 Unendlich

Soweit OK 30mm ist der kleinste Focus im WW laut Handbuch.
Aber warum 0,07m in den EXIF Daten?


Tele 120mm (Kleinbild)

set_focus() get_focus() EXIF Daten
-1 -1 Unendlich
10 300 0,35 m
6000 5987 6,03 m
10000 10111 10,16 m
50000 55046 55,09 m
100000 95097 29,61 das sind (95097mm-65536mm=26561mm)

Soweit OK 300mm ist der kleinste Focus im Tele laut Handbuch.
Aber warum 29,61 in den EXIF Daten?
Vermutlich weil nur 16 Bit (95097mm-65536mm=26561mm) im EXIF?

Nun habe ich einen zweiten Durchlauf gemacht.
Im Weitwinkel bekam ich der gleichen Ergebnisse,
aber im Tele gab es andere Werte mit dem gleichen Script:


set_focus() get_focus() EXIF Daten
-1 -1 Unendlich
10 300 0,35 m
6000 6060 6,11 m
10000 9917 9,96 m
50000 50763 50,81 m
100000 122499 57,01 m (122499mm-65536mm=56963mm)

Alle anderen EXIF Daten (Blende Brennweite) sind bis auf die Belichtungszeit
zum ersten lauf identisch.
Die Belichtungszeit sollte aber keinem Einfluss auf den Fokus haben.

Ich habe dann noch mal den 6m Vergleich (Auto und Manuell) gemacht.
Hier war der schärfen unterschied geringer als am Tag zuvor!

Nun viel es mir wie Schuppen von den Augen. Als ich mir am Anfang die Kamera gekauft habe, ist sie mir aus der Tasche gefallen und hat nun unten links unten eine kleine Delle. Da ich sie nun ja nicht mehr zurück schicken konnte und sonst auch alle Bilder scharf waren, war für mich die Welt wieder in Ordnung.

Meine Vermutung:
Beim Fokussieren werden ja vermutlich Linsen mit einem Stellmotor hin und her gefahren. Dann wird die Position irgendwie gemessen und in Entfernung umgerechnet. Hier scheint vermutlich was defekt zu sein.

Beim Autofokus ist das vermutlich egal. Da fährt man einfach so lange hin und her, bis der Kontrast am Stärksten ist. Ob das dann letztendlich mal 3, 6 oder 9m sind, ist dann wohl egal.
Nur bei manuellen einstellen spielt das wohl eine Rolle…


Für mich ist die Sache mit dem Focus jetzt aber im Wesentlichen abgeschlossen. Eine Reparatur auf eigene Rechnung bei einer €200,- Kamera lohnt wohl nicht. Die Kamera habe ich mir Wesentlichen für Zeitrafferaufnahmen gekauft. Der Autofokus geht und manuell auf Unendlich wohl auch. Hyperfocal macht dann wohl keinen Sinn, wenn die Einstellung nicht stimmt. Da die Kamera einen mechanischen Verschluss hat, ist vermutlich eh bei 100000 Bildern Schluss. Ein drittel habe ich schon gemacht…


Msl:
Deine Bilder werden bei mir nicht dargestellt. Ich sehe nur ein rotes Kreuz…
Die Min und Max Werte hatte ich ja schon mal überprüft:
Bei manuellem Focus bekomme ich folgende Werte:
WW 24mm kleinster Focus 0.03m (wie im Handbuch) , größter Focus (ein Wert vor -1) 7m
Tele 120mm kleinster Focus 0.3m (wie im Handbuch) , größter Focus (ein Wert vor -1) 232m
Die EXIF Werte werden vermutlich auf 16 Bit begrenzt…
Ich bin mir aber nicht sicher, ob wir meine Kamera als Referenz nehmen sollten.
Eventuell sind auch die 232m abhängig von der Tagesform…
Zweimal das gleiche Script mit unterschiedlichen Ergebnissen…

Letztendlich würde mich aber noch ein Vergleich mit einer anderen S110 interessieren…


Ich danke euch erstmal für Eure Hilfe. Habe auf jeden Fall einiges dazu gelernt. Schade dass es kein CHDK für die IXUS500HS gibt. Aber die S110 wird wohl nicht meine letzte Canon sein…

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Fragen zu set_mf()

Beitragvon c_joerg » 15.12.2014, 16:16

Hallo,

ich habe nun mit meiner G1X die gleichen Tests bezüglich set_focus() und get_focus() wie bei derr S110 durchgeführt. Auch bei der G1X bekomme ich bei unterschiedlichen Durchläufen verschiedene Ergebnisse:

Code: Alles auswählen
x = set_mf(1)
if x == 1 then   
   print("MF-Mode 1")
else
   print("MF-Mode 0")
end
 

set_focus(-1)                              -- set focus at infinity
sleep(3000)                               
shoot()
print(get_focus())                         
sleep(1000)                               

set_focus(10)                             
sleep(3000)                               
shoot()
print(get_focus())                         
sleep(1000)                               

set_focus(6000)                           
sleep(3000)                               
shoot()
print(get_focus())                         
sleep(1000)                               


set_focus(10000)                           
sleep(3000)                               
shoot()
print(get_focus())                         
sleep(1000)                               


set_focus(50000)                           
sleep(3000)                               
shoot()
print(get_focus())                         
sleep(1000)                               


set_focus(100000)                         
sleep(3000)                               
shoot()
print(get_focus())                         
sleep(1000)                               


-1 -1 -1 -1
10 200 200 200
6000 6058 6014 6394
10000 9435 8546 10265
50000 35848 -1 -1
100000 -1 -1 -1

Die erste Spalte ist die Vorgabe mit set_focus(). Die anderen drei Spalten sind die Ergebnisse der drei Durchläufe von get_focus(). Einzig -1 und ein Wert kleiner der minimalen Focus Distanz liefern immer die gleichen Ergebnisse. Je höher die Einstellung, desto größer die Abweichung.

Bei einem weiteren Test habe ich set_focus(6000) durchgeführt und den Wert mit get_focus() alle 3 Sekunden ausgelesen. Zuerst bekam ich den Wert 6058 zurück. Ohne weitere Einstellungen änderte sich dieser Wert aber nach einiger Zeit auf 5715.

Ich glaube, dass die Kamera bei set_focus() und get_focus() irgendwelche analogen Wege geht, z.B. die Position der Linsen analog mit anschließender Digitalisierung misst. Hier kann man einfach keine höhere Genauigkeit erwarten. Die Kamera braucht die absolute Entfernung ja auch nicht wirklich. Ob es nun 5m, 6m oder 7m sind, kann ihr wohl völlig egal sein. Beim Autofocus verändert sie halt die Distanz bis der Kontrast stimmt.

Was bedeutet das jetzt aber für CHDK?
Wenn man z.B. den Focus auf hyperfokale Distanz setzt, z.B 10m, und die Kamera macht hieraus nur 8,5m, dann ist vermutlich Unendlich nicht mehr richtig scharf.
Sehe ich das jetzt richtig oder mache ich da einen Gedankenfehler?

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Fragen zu set_mf()

Beitragvon Werner_O » 16.12.2014, 20:06

Hallo Jörg,

bzgl. Versuchen mit manuellen Fokuseinstellungen möchte ich auf folgendes Lua-Skript von mir hinweisen:
Test MF-Fokus im Nah- und Fernbereich
Dieses Test-Skript macht übrigens keine Aufnahmen um die Kamera zu schonen.

Zusammen mit dem DOF-Rechner und den visuellen Ergebnissen am Display kannst Du Dich diesem Problem so auf pragmatische nähern. Dabei solltest Du zudem mit verschiedenen Zoomfaktoren testen, um Deine Kamera besser verstehen lernen zu können.

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

Fragen zu set_backlight und set_lcd_display

Beitragvon c_joerg » 06.02.2015, 13:36

Hallo,

da meine Kameras bei manuellem Focus doch ca.20% mehr verbrauchen, ist da die folgen Befehlskombination zulässig?

Code: Alles auswählen
     if set_mf(1) == 1 then
       sleep(500)
       set_focus(-1)
       sleep(500)
       set_aflock(1)
       sleep(500)
       set_mf(0)
     end
 


Also zuerst den Focus manuell setzen, dann lock und anschließend den manuellen Focus wieder abschalten?

Grüße Jörg

Ok, passt jetzt nich mehr ganz zu dem Thema backlight...
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Fragen zu set_backlight und set_lcd_display

Beitragvon Werner_O » 06.02.2015, 19:49

Hallo Jörg,

dein Code-Beispiel kann m.W. nicht bei beliebigen Fokusdistanzen funktionieren, weil der Befehl "set_focus(-1)" den Fokus auf unendlich einstellt.
Nur wenn Du gezielt auf unendlich fokussieren willst ist "set_focus(-1)" sinnvoll wobei dann noch die Frage offen bleibt, ob die "hyperfokale Distanz" möglicherweise nicht sinnvoller wäre bei gewissen Aufnahmesituationen.

Grundsätzlich ist es aber denkbar, zunächst den MF-Modus zu aktivieren und einen "set_focus(xxxxx)" auszuführen, danach den MF-Modus wieder zu deaktivieren und anschließend den Befehl "set_aflock(1)" auszuführen um den Fokus einzufrieren.
Dabei muß aber sichergestellt sein, daß im Canonmenü der AF komplett ausgeschaltet ist, damit die Kamera den eingestellten manellen Fokus zwischenzeitlich nicht ändern kann.

Du kannst ja mal den folgenden Code ausprobieren:
Code: Alles auswählen
set_mf(1)
set_focus(xxxxx)
sleep(1000)
set_mf(0)
set_aflock(1)

Allerdings bleibt für mich die Frage offen, ob ein AF-Lock tatsächlich stromsparender als der MF-Modus ist.
Dazu solltest Du mal genau nachmessen...

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: Fragen zu set_backlight und set_lcd_display

Beitragvon msl » 06.02.2015, 21:03

Hallo,

ich vermute mal, dass die Entfernung für Intervallaufnahmen (Timelapse) auf unendlich eingestellt werden soll. Da ist set_fokus(-1) schon richtig. set_aflock(1) funktioniert aber im MF-Modus nicht.

Überprüfe, ob du mit der verwendeten Kamera auch im AF-Modus nach set_aflock(1) den Fokus per set_focus() setzen kannst. Das funktioniert bei einigen Kameras.

Noch ein Wort zur Einstellung unendlich. Diese könnte man auch CHDK-Menü vornehmen. Dann kann man sich diesen Teil im Skript sparen. Allerdings hat die Einstellung unendlich ihre Tücken. Da muss ich Werner_O beipflichten, dass der Einsatz der hyperfokalen Distanz hilfreicher sein kann. Es wurde schon häufig festgestellt, dass Fotos unscharf wirken, bei denen die Entfernung mittles CHDK auf unendlich gesetzt wurde. Der Grund ist bisher unbekannt.

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: Fragen zu set_backlight und set_lcd_display

Beitragvon c_joerg » 10.02.2015, 08:26

Hallo msl, Werner_O,

vermutlich passen die letzten drei Antworten ehe zu ‚ Fragen zu set_mf() ‘


Code: Alles auswählen
set_mf(1)
set_focus(xxxxx)
sleep(1000)
set_mf(0)
set_aflock(1)



Der Code scheint zu funktionieren. Sollte vermutlich die sichere Methode sein. Das mit dem Verbrauch habe ich nochmal überprüft und es scheint sich zu bestätigen.
Ach ja, dabei ist mir aufgefallen, dass die Abfrage get_IS_mode() bei meinen Kameras den Wert 4 liefert, obwohl, laut Handbuch 3 ja schon aus ist…


Noch ein Wort zur Einstellung unendlich. Diese könnte man auch CHDK-Menü vornehmen.
Dann kann man sich diesen Teil im Skript sparen.


Ich erstelle Zeitraffer im Wattenmeer. Da ist jeder Tastendruck zu viel. Drei von fünf Serien waren Müll. Zwei waren unscharf, und bei einer Serie hatte ich nur 100 Bilder weil ich den Wert hierfür bei der Sonne nicht richtig erkannt hatte. Die Tage, die ich im Wattenmeer bin, sind gezählt. Dann müssen auch noch das Wetter und die Tide mitspielen. Da ist jede verlorene Serie ärgerlich…
Normalerweise benutze ich immer den Autofocus. Den oben aufgeführten Code möchte ich nur dann ausführen, wenn das mit dem Autofocus (mit get_focus_state()) nicht klappt, als zusätzliche Sicherheit. Vermutlich ist dann die hyperfokale Distanz die beste Wahl.

Allerdings hat die Einstellung unendlich ihre Tücken. Da muss ich Werner_O beipflichten, dass der Einsatz der hyperfokalen Distanz hilfreicher sein kann. Es wurde schon häufig festgestellt, dass Fotos unscharf wirken, bei denen die Entfernung mittles CHDK auf unendlich gesetzt wurde.


Mit der G1X habe ich mal eine Testreihe durchgeführt. In einem Script habe ich manuell, 1000mm, hyperfokalen Distanz und unendlich eingestellt. Dann bei hyperfokalen Distanz und unendlich jeweils 100 Bilder erstellt und verglichen. Ich konnte im unendlichen keinen Unterschied feststellen.


Der Grund ist bisher unbekannt.


Ich meine den Grund zu kennen. -1 ist vermutlich Endanschlag und nicht Unendlich! Das dass bei der G1X keine Unterschied macht, liegt vermutlich an der geringen maximalen Brennweite. Bei Superzoom Kameras ist das vermutlich anders.

Hintergrund:
Ich wollte letztens mit meiner EOS den Mond fotografieren und habe mir von meinem Bruder ein 70-300mm Objektiv geliehen. Ich musste dann auch feststellen, dass Endanschlag nicht unendlich war. Damit der Mond scharf wurde, musste ich die Entfernung etwas zurücknehmen. Das hatte ich von meiner alten, analogen Spiegelreflex anders in Erinnerung…

Ich habe dann mal im Internet danach gesucht und bekam folgende Aussagen:

Autofokus Objektive haben etwas Spiel im Fokus über Unendlich hinaus damit der AF Motor etwas Spielraum hat um über Unendlich hinauszufokussieren (vermutlich vor allem für Kontrastfokus damit der Fokussierungsalgorithmus merkt dass er jetzt wieder das Schärfemaximum verlässt) und als Ausgleich für temperaturbedingte Materialabweichungen.

Es gibt auch die Vermutung, dass diese Option in modernen Objektiven dazu dient, die Fertigungstoleranzen in den Objektiven etwas höher ausfallen lassen zu können. So etwas drückt den Preis…


Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Fragen zu set_backlight und set_lcd_display

Beitragvon msl » 10.02.2015, 13:57

Hallo,
c_joerg hat geschrieben:vermutlich passen die letzten drei Antworten ehe zu ‚ Fragen zu set_mf()
Erledigt.

c_joerg hat geschrieben:Ich meine den Grund zu kennen. -1 ist vermutlich Endanschlag und nicht Unendlich! Das dass bei der G1X keine Unterschied macht, liegt vermutlich an der geringen maximalen Brennweite. Bei Superzoom Kameras ist das vermutlich anders.
Der Grund dürfte woanders zu suchen sein. Der Fokuswert wird in einer Variablen gespeichert. Diese Variable ist in Abhängigkeit der verwendeten Kamera unterschiedlich definiert. Erfolgt ein Überlauf, wird -1 gespeichert. Das ist dann die am weitesten einstellbare Fokusposition. Möglicherweise ist diese Position je nach Kalibrierung des Objektives nicht die optimale Einstellung für unendlich.

Es gab im internationalen Forum ein Vergleich zweier S100. Die eine machte mit der CHDK-Einstellung unendlich (also -1) absolut scharfe Bilder. Bei der anderen Kamera wirkten die Bilder mit der Einstellung unendlich unscharf. Das lässt schlussfolgern, dass es bei der Justage der Objektive Toleranzen gibt, die dann möglicherweise durch das Betriebssystem der Kamera ausgeglichen werden. Dazu gibt es aber bisher keine Erkenntnisse.

Wenn dieser Effekt mit der Unschärfe bei unendlich eintritt, kann man sich häufig mit der hyperfokalen Distanz behelfen.

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: Fragen zu set_mf()

Beitragvon Werner_O » 10.02.2015, 22:07

Der Code scheint zu funktionieren. Sollte vermutlich die sichere Methode sein. Das mit dem Verbrauch habe ich nochmal überprüft und es scheint sich zu bestätigen.

Du solltest hier bitte auch mal den gemessenen Stromverbrauch bei AFL im Vergleich zu ohne MF / mit MF posten damit wir uns hier ein Bild davon machen können. Ein "scheint sich zu bestätigen" ist ja kaum hilfreich für andere User oder Skript-Entwickler.

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: Fragen zu set_mf()

Beitragvon c_joerg » 12.02.2015, 15:02

Hallo,

Du solltest hier bitte auch mal den gemessenen Stromverbrauch bei AFL im Vergleich zu ohne MF / mit MF

Das hat ich bereits in viewtopic.php?f=7&t=3424 beschrieben. Ca. 20% mehr bei MF.

Ich habe dann gestern noch einmal die Messung wiederholt. Die Kamera mehrfach ein und ausgeschaltet. MF ein und aus. Mal über Script, mal ohne CHDK. Alles was es sonst an Autofocus Einstellung (IS, Safety MF, AF Hilfslicht, Lupe…) gab abgeschaltete. Die Ergebnisse waren immer unterschiedlich, mal 20% mehr, mal nur 10% und manchmal nur ein paar Prozent.

Auch die beiden Methoden mit set_aflock(1) vor und nach set_mf(0) habe ich noch einmal ausführlich getestet. Beides funktioniert nicht zuverlässig. Immer wenn ich set_aflock(1) ausführe, wechselt der Focus anscheint zu dem letzten Wert, den er vor set_mf(1) im AF gemessen hat.

Ich werde daher in meinem Script, entweder set_aflock oder set_mf verwenden.

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Fragen zu set_mf()

Beitragvon Werner_O » 14.02.2015, 14:52

Hallo Jörg,

leider gibst Du nicht an, an welchen Deiner vielen Kameras die genannten Fehler auftauchen. Das macht es für uns unmöglich genauer nachzuharken. Bitte sei dazu in Zukunft präziser bei Deinen Angaben, damit Fehleranalysen einfacher werden.

Auch die beiden Methoden mit set_aflock(1) vor und nach set_mf(0) habe ich noch einmal ausführlich getestet. Beides funktioniert nicht zuverlässig. Immer wenn ich set_aflock(1) ausführe, wechselt der Focus anscheint zu dem letzten Wert, den er vor set_mf(1) im AF gemessen hat.

Ich kann mir momentan nicht vorstellen, daß die genannten Methoden nicht funktionieren sollten. Möglicherweise machst Du etwas falsch.

Im Anhang findest Du die neueste Beta-Version meines Skriptes IntervWO.
Das gibt an der Konsole präzise Angaben zum verwendeten Fokusmodus aus, und ein aktivierter "Auto-FixFokus verwenden" sollte bei den Ixus-Modellen (ohne MF-Modus) zum Aufnahmemodus "Die CAM ist jetzt im AF-L Modus" führen.

Bitte teste dieses Skript ausführlich an Deinen Kameras, insbesondere auch an den Ixus-Modellen.
Dann sollte sich zeigen, was funktioniert und was nicht (Vergleich Vorgabewerte mit Exif-Daten).

Liebe Grüße
Werner_O
Dateianhänge
IntervWO.lua
Skript IntervWO.lua in Version 1.11 beta
(13.09 KiB) 461-mal heruntergeladen
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: Fragen zu set_mf()

Beitragvon Werner_O » 15.02.2015, 14:45

Hallo Jörg,

ich habe heute umfangreiche Tests an meiner S3 durchgeführt.

Auch die beiden Methoden mit set_aflock(1) vor und nach set_mf(0) habe ich noch einmal ausführlich getestet. Beides funktioniert nicht zuverlässig. Immer wenn ich set_aflock(1) ausführe, wechselt der Focus anscheint zu dem letzten Wert, den er vor set_mf(1) im AF gemessen hat.

Das kann ich bei meinem Skript IntervWO.lua nicht nachvollziehen!
Bei aktiviertem "Auto-FixFokus verwenden" wird immer korrekt fokussiert, egal ob MAN, HYP oder INF vorgewählt wurde.

Zu Testzwecken habe ich darum eine erweiterte Beta-Test-Skriptversion (im Anhang) erstellt, bei welcher bzgl. "Auto-FixFokus verwenden" über den zusätzlich aktivierbaren Vorgabeparameter "AFL-Modus bei Auto-FixFokus" die Einstellung des Fokus über den Modus AF-Lock erzwungen werden kann auch bei CAMs, welche über den MF-Modus verfügen.

Meine S3 liefert dabei gleiche Fokusergebnisse, egal ob set_mf(1) oder set_aflock(1) verwendet wurde.

Bitte teste die neue Skriptversion mal an allen Deinen Kameras aus.
Bei aktiviertem "AFL-Modus bei Auto-FixFokus" sollten auch Deine S45 und G1X via AF-L die korrekte Distanz bzgl. "Auto-FixFokus verwenden" (MAN, HYP oder INF) einstellen können. Es sollte keinen Unterschied zur Einstellung des Fokus via Auto-MF geben.
Deine beiden Ixus-Modelle (vermutlich ohne MF-Modus) sollten dann ebenfalls korrekt auf die gewünschte Distanz fokussieren, auch wenn dann vom Skript wahrscheinlich automatisch der AFL-Modus eingestellt wird.

Bei Tests lohnt es sich, die OSD-Anzeigen am Display zu beobachten:
Mein Skript gibt ja an der Konsole umfassende Infos zu den real gemachten Einstellungen aus.

P.S.:
Bei dieser neuen Testversion des Skriptes gibt es am Ende zwei zusätzliche Parameter, mit welchen die Konsolenausgabe nach oben (vertikal) bzw. nach rechts (horizontal) verschoben werden können.
Das war bspw. bei meiner S3 bei meinen Tests nützlich, damit bei der die Canon-Anzeige "AFL" nicht vom CHDK-OSD überlagert wurde.

Nachtrag 15:02 Uhr:

Hier im Forum werden oft Behauptungen gemacht, die sich im nachhinein als falsch herausstellen.
Es liegt also an Dir, Deine Behauptungen (die ich übrigens für falsch halte) zu verifizieren.

Liebe Grüße
Werner_O
Dateianhänge
IntervWOb2.lua
Skript IntervWO
Version 1.11 beta2 vom 15.02.2015
(13.76 KiB) 452-mal heruntergeladen
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: Fragen zu set_mf()

Beitragvon c_joerg » 16.02.2015, 09:15

Hallo Werner_O

leider gibst Du nicht an, an welchen Deiner vielen Kameras die genannten Fehler auftauchen.


OK, ich arbeite im Wesentlichen mit der S110. Mit der G1X bin ich noch nicht ganz so vertraut. Hier ist nochmal die Ãœbersicht meiner Kameras:

S45 Für die gibt es CHDK
IXUS 30 Benutzt zurzeit meine Frau, CHDK habe ich noch nicht in Betrieb genommen.
IXUS 500 HS Für die gibt es leider kein CHDK
S110 Derzeit meine Hauptkamera, mit der ich teste.
G1X Benutze ich zurzeit nur gelegentlich um mit der S110 zu vergleichen

Bitte teste dieses Skript ausführlich an Deinen Kameras, insbesondere auch an den Ixus-Modellen.


Bei der IXUS 30 wollte ich eigentlich CHDK nich mehr in Betrieb nehmen…

Ich kann mir momentan nicht vorstellen, daß die genannten Methoden nicht funktionieren sollten. Möglicherweise machst Du etwas falsch.


Mag ja sein aber kann man an dem folgende Codeausschnitten so viel verkehrt machen?
Wie gesagt, das habe ich mit der S110 getestet. Vielleicht sollte ich das mal mit der G1X wiederholen.

Code: Alles auswählen
  print("MF Test with lock in")
  set_mf(1)
  set_focus(hyp)
  sleep(2000)   
  print("Focus 1 = ",hyp,' Get = ',get_focus())
  set_aflock(1)
  print("Focus 2 = ",hyp,' Get = ',get_focus())
  set_mf(0)
  print("Focus 3 = ",hyp,' Get = ',get_focus())
  sleep(2000)   
  print("Focus 4 = ",hyp,' Get = ',get_focus())
  print("Set set_aflock off")
  set_aflock(0)


Ausgabe:

MF Test with lock in
Focus 1 = 2194 Get = 2423
Focus 2 = 2194 Get = 104
Focus 3 = 2194 Get = 104
Focus 4 = 2194 Get = 104
Set set_aflock off


Code: Alles auswählen
  print("MF Test with lock after")
  set_mf(1)
  set_focus(hyp)
  sleep(2000)   
  print("Focus 1 = ",hyp,' Get = ',get_focus())
  set_mf(0)
  set_aflock(1)
  print("Focus 2 = ",hyp,' Get = ',get_focus())
  sleep(2000)   
  print("Focus 3 = ",hyp,' Get = ',get_focus())
  print("Set set_aflock off")
  set_aflock(0)


Ausgabe:

MF Test with lock after
Focus 1 = 2194 Get = 2423
Focus 2 = 2194 Get = 120
Focus 3 = 2194 Get = 120
Set set_aflock off

(Vergleich Vorgabewerte mit Exif-Daten)

Das passt eigentlich immer…


Hier im Forum werden oft Behauptungen gemacht, die sich im nachhinein als falsch herausstellen.
Es liegt also an Dir, Deine Behauptungen (die ich übrigens für falsch halte) zu verifizieren


Also ich stelle hier kein Behauptungen auf. Mag ja sein das in dem oben aufgeführten Code etwas falsch ist, aber es kam zumindest an der S110 so raus…

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Fragen zu set_mf()

Beitragvon c_joerg » 16.02.2015, 16:15

Hallo,

ich habe den Fehler gefunden. Das mit dem af_lock funktioniert nur nach press("shoot_half").
Set_mf funktioniert immer. Jetzt gehen beide Methoden....
Vielen dank für eure Hilfe....

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

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

cron