Wenn eine DSLR-Kamera für ferngesteuerte Aufnahmen verwendet wird, bietet die entsprechende Software normalerweise eine sehr einfache Möglichkeit, die Fokusposition zu ändern: kleine, mittlere und große Schritte vorwärts oder rückwärts. So sieht es im Canon EOS-Dienstprogramm aus:
So lange ich weiß, gibt es keine Möglichkeit, die genaue Position der Fokusebene mit dem Canon SDK herauszufinden. Denn die Hardware eines Objektivs liefert einfach nicht die entsprechenden Informationen.
Dasselbe gilt für den Fokusschritt. Ich nehme an, es gibt keinen robusten Weg, um die genaue Entfernung zu bestimmen, um die die Fokusebene bewegt wird, wenn eine dieser Tasten gedrückt wird.
Aber in unserer Software müssen wir wirklich mindestens eine Schätzung kennen. Wir wissen, dass wir auf ein Objekt fokussiert sind, das beispielsweise 400 mm von der Kamera entfernt ist. Und wir müssen wissen, wie weit sich die Fokusebene bewegt, wenn der Benutzer eine >>
Taste drückt, um den Fokus auf einen mittleren Schritt zu verschieben.
Wir haben einige Tests für verschiedene Kameras und Objektive durchgeführt. Wir haben die Größe des Schrittes in Abhängigkeit von der aktuellen Fokusentfernung bestimmt. Hier ist der Plot für zwei Kameras und drei Objektive:
Hier steht 100mm für „Canon EF 100mm f/2.8 Macro USM“, 100mm(L) steht für „Canon EF 100mm f/2.8L Macro IS USM“.
Die folgenden Tabellen können wir mit unserer Software versenden, möchten aber deren Anzahl reduzieren. Zum Beispiel habe ich erwartet, dass sich verschiedene Lesegeräte für verschiedene Kameras gleich verhalten, aber wie Sie der Handlung entnehmen können, ist dies nicht der Fall.
Canon 5D Mark III hat dasselbe für zwei verschiedene 100-mm- und 100-mm(L)-Objektive gemacht, aber Canon 6D hat unterschiedliche Ergebnisse für diese Objektive. Gleichzeitig haben beide Kameras mit 50-mm-Objektiv ungefähr dasselbe gemacht.
Meine Frage ist also, welche Faktoren die Form dieser Funktionen bestimmen? Muss ich explizit alle Kombinationen von Kameras und Objektiven messen?
Die meisten Objektive verwenden keine Motoren, die eine Rückmeldung über die zurückgelegte Entfernung geben, sodass sich der genaue Betrag der Änderung nicht nur von Objektiv zu Objektiv und von Körper zu Körper unterscheidet, nicht nur zwischen Instanzen jeder Linse und jedes Körpers, sondern möglicherweise sogar zwischen verschiedenen Instanzen mit dem gleichen Gehäuse und Objektiv. Es gibt einige Objektive, die eine bidirektionale Kommunikation und verifizierte Positionsänderungen bieten, aber das sind die Minderheit.
Sie müssen wirklich den kontrastbasierten Autofokus verwenden, um sich von den größten bis zu den kleinsten Bewegungen zu bewegen. Wenn Sie versuchen, die Entfernung basierend auf der vom Fokus bewegten Entfernung zu schätzen, werden Sie Pech haben. Sie müssten Dinge wie die Perspektive und den Maßstab bekannter Objekte verwenden, um sie abzuschätzen.
Die Frage von Rowland Shaw ist relevant. Der Akkustand scheint tatsächlich einen Einfluss auf die Größe eines einzelnen Fokussierschritts zu haben. Das war zumindest meine Beobachtung, als ich versuchte, Focus Stacking im Querformat mit Magic Lantern zu automatisieren. Da mein erstes Ziel darin bestand, einfach die Anzahl der Schritte eines vollen Wurfs (dh von nahe bis unendlich) zu zählen, war ich selbst bei genau demselben Gehäuse (EOS 60D) und Objektiv (EF-S 10-22 mm) enttäuscht, etwas anderes zu bekommen Zahlen bei fast jedem Versuch. Auch nur vorwärts zu zählen und gleich wieder rückwärts zu zählen, ergab sehr oft nicht die gleiche Schrittzahl. Die Zahlen könnten um bis zu 6 abweichen (bei einer Gesamtzahl von etwa 72)!
Allerdings fand ich die Ergebnisse mit einem anderen Objektiv (EF-S 10–18 mm STM) etwas konsistenter. Vielleicht, weil dieses Objektiv einen Schrittmotor verwendet. Man könnte annehmen, dass diese Art von Motor eine deterministischere Schrittweite hat. Trotzdem waren die Ergebnisse nicht zu 100 % vorhersehbar.
Wohlgemerkt: ICH HABE KEINE sehr genauen Messungen durchgeführt, und es könnte sein, dass mein Code etwas nicht richtig gemacht hat, aber ich HABE DAS GEFÜHL, dass der Batteriestand einer der Faktoren war, die wesentlich zu den Unterschieden in der Schrittgröße beigetragen haben.
Muss ich explizit alle Kombinationen von Kameras und Objektiven messen?
Es ist schlimmer als das. Sie müssten jedes spezifische Objektiv messen, das an jedem einzelnen Körper montiert ist, der Ihre Anwendung verwenden wird. Wenn Sie versuchen, eine vorgegebene Bewegung zu programmieren, geben Sie den größten Vorteil des Kontrasterkennungs-Autofokus auf: Die Fähigkeit, den Kontrast kontinuierlich zu messen, bis er aufhört zuzunehmen und abzunehmen beginnt.
A. J. Henderson
Michail
Rowland Shaw