Cuando se usa una cámara DSLR para tomas remotas, el software correspondiente generalmente proporciona una forma muy simple de cambiar la posición de enfoque: pasos pequeños, medianos y grandes hacia adelante o hacia atrás. Así es como se ve en la utilidad Canon EOS:
Hasta donde yo sé, no hay forma de averiguar la posición exacta del plano de enfoque con el SDK de Canon. Porque el hardware de una lente simplemente no proporciona la información correspondiente.
Lo mismo es para el paso de enfoque. Supongo que no hay una forma sólida de determinar la distancia exacta que se mueve el plano de enfoque cuando se presiona uno de estos botones.
Pero en nuestro software, realmente necesitamos saber al menos una estimación. Sabemos que estamos enfocados en un objeto, digamos, a 400 mm de la cámara. Y necesitamos saber qué tan lejos se moverá el plano de enfoque cuando el usuario presiona un >>
botón para mover el enfoque en un paso medio.
Hemos hecho algunas pruebas para diferentes cámaras y lentes. Determinamos el tamaño del paso dependiendo de la distancia de enfoque actual. Aquí está la trama para dos cámaras y tres lentes:
Aquí 100 mm significa "Canon EF 100 mm f/2.8 Macro USM", 100 mm (L) significa "Canon EF 100 mm f/2.8L Macro IS USM".
Podemos enviar las siguientes tablas con nuestro software, pero queremos reducir su número. Por ejemplo, esperaba que diferentes leses actuaran de la misma manera para diferentes cámaras, pero como puede ver en la trama, no es cierto.
Canon 5D Mark III hizo lo mismo con dos lentes diferentes de 100 mm y 100 mm (L), pero Canon 6D tiene resultados diferentes para estos lentes. Al mismo tiempo, ambas cámaras hicieron aproximadamente lo mismo con lentes de 50 mm.
Entonces mi pregunta es, ¿qué factores determinan la forma de estas funciones? ¿Tengo que medir explícitamente todas las combinaciones de cámaras y lentes?
La mayoría de las lentes no usan motores que proporcionen información sobre la distancia recorrida, por lo que la cantidad exacta de cambio diferirá no solo de lente a lente y de cuerpo a cuerpo, no solo entre instancias de cada lente y cuerpo, sino incluso potencialmente entre diferentes instancias con el mismo cuerpo y lente. Hay algunas lentes que ofrecen comunicación bidireccional y cambios de posición verificados, pero estas son la minoría.
Realmente necesita usar el enfoque automático basado en el contraste para avanzar desde los movimientos más grandes hasta los más pequeños. Si está tratando de aproximar la distancia en función de la distancia recorrida por el foco, no tendrá suerte. Necesitarías usar cosas como la perspectiva y la escala de objetos conocidos para poder estimarlo.
La cuestión de Rowland Shaw es pertinente. De hecho, el nivel de la batería parece tener un impacto en el tamaño de un paso de enfoque individual. Al menos, esa fue mi observación cuando intentaba automatizar el apilamiento de enfoque del paisaje con Magic Lantern. Como mi primer objetivo era simplemente contar el número de pasos de un tiro completo (es decir, desde casi el infinito), incluso para exactamente el mismo cuerpo (EOS 60D) y lente (EF-S 10-22 mm), me decepcionó obtener diferentes números en casi todos los intentos. Incluso simplemente contando hacia adelante y luego inmediatamente hacia atrás, muy a menudo no resultaba en el mismo número de pasos. ¡Los números podrían estar equivocados hasta en 6 (en un total de alrededor de 72)!
Dicho esto, encontré que los resultados con otro objetivo (EF-S 10-18 mm STM) eran un poco más consistentes. Tal vez porque esta lente usa un motor paso a paso. Se podría suponer que este tipo de motor tiene un tamaño de paso más determinista. Pero aún así, los resultados no eran 100% predecibles.
Eso sí: NO HICE mediciones muy precisas, y PUEDE SER que mi código no haya hecho algo bien, pero SÍ TENGO LA SENSACIÓN de que el nivel de la batería fue uno de los factores que contribuyó significativamente a las diferencias en el tamaño del paso.
¿Tengo que medir explícitamente todas las combinaciones de cámaras y lentes?
Es peor que eso. Deberá medir cada lente específica montada en cada cuerpo que vaya a utilizar su aplicación. Al intentar programar un movimiento predeterminado, está renunciando a la mayor ventaja del enfoque automático de detección de contraste: la capacidad de medir continuamente el contraste hasta que deja de aumentar y comienza a disminuir.
AJ Henderson
Mijaíl
Rowland Shaw