2011-01-20 17 views
7

Quiero ajustar la exposición de la cámara iPhone/iPod touch con detalles íntimos. Preferiría tomar una serie de fotos con tiempos de exposición decrecientes para obtener una secuencia de imágenes (para la reconstrucción de HDR). es posible?¿Se puede ajustar manualmente el tiempo de exposición para una cámara con iOS?

Si no, ¿cuál es la próxima mejor opción? Parece que puedes establecer un punto de interés en la imagen para la autoexposición. Quizás podría buscar una región oscura/clara de la imagen y luego usar esta exposurePointOfInterest para ajustar la exposición, pero esto parece una solución muy indirecta que también es propensa a errores. Si alguien ha intentado con una alternativa, dicha respuesta también es deseable.

+0

Voy a dejar esto abierto hasta el final en caso de que alguien tenga un medio de establecer el tiempo de exposición, independientemente de las pautas de Apple. – gonzojive

+0

Puedes hacer esto con API privadas en iOS 6, al menos. Esperemos que se hagan públicos en el próximo lanzamiento. Vea mi respuesta detallada aquí: http://www.stackoverflow.com/a/12939981/83853 –

Respuesta

2

Desde que tendría que disminuir la velocidad de obturación de la cámara, esto lamentablemente no parece ser posible, y lo más importante, en contra de la HIG:

Cambiar el comportamiento de hardware externo iPhone es una violación de el Acuerdo de licencia del programa para desarrolladores de iPhone. Las solicitudes deben adherirse a las directrices de interfaz humana iPhone como se indica en la sección Acuerdo de licencia de programa iPhone Developer 3.3.7

Nota relacionada Apple Removes Camera+ iPhone App From The App Store After Developer Reveals Hack To Enable Hidden Feature.

Si se puede hacer programáticamente, en lugar de con el hardware, es posible que tenga una oportunidad, pero entonces es solo un efecto en una imagen, no una verdadera imagen de larga exposición.

Hay algunos simulados aplicaciones de obturación lentas que obtener aprobación como Slow Shutter o Magic Shutter.

Artículo relacionado: New iPhone Camera App “Magic Shutter” Hits The App Store.

0

No estoy muy seguro, pero usted debe tratar de usar la clase AVFoundation para construir la aplicación de la cámara, código de ejemplo de la manzana: AVCam Sample Code

Y luego tratar de aprovechar la propiedad exposureMode de la Clase:

exposureMode Class Reference

1

Intenté hacer esto para mi aplicación de cámara activada por movimiento (Pocket Sentry) y encontré que no es posible hacer esto Y obtener la aprobación en la tienda de aplicaciones.

+1

¿Lo implementó con éxito? Es solo para un proyecto de hobby, y no necesita ser aceptado en la tienda de aplicaciones. – gonzojive

1

He estado tratando de hacer esto yo mismo. Creo que es posible solo mediante el uso del punto de exposición de la propiedad de interés. Estoy detectando los puntos oscuros y brillantes y luego ajustando el punto en consecuencia.

Consulte: Detecting bright/dark points on iPhone screen

¿Alguien sabe una mejor manera de hacer esto?

4

Como iOS da un control de las duraciones de trama por MinFrameDuration MaxFrameDuration

desde tiempos de exposición varían en función de tasa de Fram y el marco de duración Al establecer min y velocidad de fotogramas max a un valor particular Se le Bloqueo de la fram tarifa. Eso afectará sus tiempos de exposición. Esta es también de forma muy indirecta de control, puede ser que ayuda a su caso

algún ejemplo sería así:

if (conn.isVideoMinFrameDurationSupported) 
    conn.videoMinFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND); 
if (conn.isVideoMaxFrameDurationSupported) 
    conn.videoMaxFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND); 
Cuestiones relacionadas