¿Cómo aumentar el tiempo de exposición de la cámara?

10

Estoy tomando fotos en entornos muy oscuros y me gustaría obtener una imagen más brillante. ¿Cómo aumento el tiempo de exposición? He intentado lo siguiente:

  • modo de exposición diferente, como noche, muy largo, etc.
  • ajuste la velocidad de obturación a diferentes valores
  • Probé diferentes framerate (de 1 a 80)
  • Compensación de exposición diferente (0 a 24)

No importa qué configuración use, todavía obtengo 33158 como la velocidad de obturación cuando se toman las imágenes (sí, incluso si configuro la velocidad de obturación manualmente en un valor mucho más alto, sigue siendo 33158). ¿Cómo resolver este problema? Si configuro la velocidad de obturación en un valor más bajo como 10000 o incluso 1000, entonces funciona, pero en ese caso la imagen es aún más oscura (no es lo que quiero).

También probé un brillo diferente, pero como me gustaría que mi imagen cubriera el rango completo de píxeles (de 0 a 255), encontré que el brillo = 50 es el mejor (con brillo = 60, incluso la parte más oscura de la imagen tiene un píxel valor de aproximadamente 40).

Entonces, ¿qué más puedo hacer para aumentar la exposición o cambiar otras configuraciones de la cámara para poder obtener una imagen más brillante en un ambiente muy oscuro?

Gracias

Físico
fuente
1
¿Que software estas usando? Esta página puede ser útil: raspberrypi.org/forums/viewtopic.php?f=43&t=61445 parece que la exposición está limitada por software a 2 segundos
Darth Vader
¿Cómo verifico qué software estoy usando? Solo estoy usando la cámara web para raspberry pi y el módulo picamera para el código.
Físico
Entonces, ¿estás usando el terminal LX o estás usando el código Python?
Darth Vader
Utilizo el terminal LX para abrir el editor de Python (escribo 'sudo spe' y spe es el editor de python) para escribir los códigos
Físico
así que está codificando en python, intente usar el atributo shutter_speed y configúrelo en un valor realmente grande como 2000000000
Darth Vader

Respuestas:

3

Aunque la cámara de frambuesa tiene muchas limitaciones, es posible tomar fotos en entornos muy oscuros.

Mi mejor modo nocturno para la cámara raspberry pi es con esta configuración:

raspistill -w 2592 -h 1944 -ISO 800 -ss 6000000 -br 80 -co 100 -o out.jpeg

dónde:

  • -wy -hson de tamaño forzado (es para cam v1.3 - 5Mpix)
  • -ISO 800 es el mejor valor ISO, la cámara también es compatible con ISO 1600 pero solo en modo deportivo donde el tiempo de obturación se limita solo a 1/60 s
  • -ss 6000000 es el tiempo de obturación en microsegundos (6s) es el máximo que se puede configurar para este módulo de cámara
  • Además, es posible configurar el brillo y el contraste con los parámetros -bry -co, donde los mejores valores son para el brillo 80 y para el contraste 100 (el contraste aumenta el ruido)

Opcionalmente, para reducir el ruido, es mejor hacer más fotos y calcular el promedio o la mediana usando las herramientas de imagen mágica:

convert out_*.jpeg -average avg.jpeg
convert out_*.jpeg -evaluate-sequence median avg.jpeg

Desde mi experiencia, el ruido se reduce de manera considerable con una mediana de 5 imágenes

Por cierto, si la velocidad de obturación se establece en 6 segundos, entonces raspistill se ejecutará alrededor de 40 segundos, probablemente tomará más fotos antes para calcular el balance de blancos o el proceso de reducción de ruido o no sabe exactamente qué.

vlk
fuente
1

Estas páginas web pueden serle útiles:

https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=61445

https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=85856

Parece que actualmente la exposición está limitada por software a 2 segundos, el problema es que la velocidad de obturación se controla en nanosegundos. Para exposiciones largas resultaría en números ridículamente grandes. Entonces, su alternativa sería aumentar el ISO, pero eso reducirá la calidad de la imagen.

Darth Vader
fuente
0

Tuve muchos problemas con esto también. Incluso para imágenes fijas, la velocidad de fotogramas debe ajustarse para ajustarse a los tiempos de obturación largos de la cámara. Todos los manuales dicen framerate 1/10 pero 1/9 fue lo mejor que pude hacer.

# set camera
camera.framerate = 1/9
camera.shutter_speed = 33000     # 150 ... to .... 9000000


# check camera exposure on last capture
test_shutter_speed = camera.exposure_speed

shutter_speed es lo que quieres, exposición_speed es lo que realmente sucedió

si captura la imagen, puede usar PIL y numpy para verificar el brillo de la última imagen para ayudar a ajustar la próxima velocidad de obturación

from PIL import Image
import numpy as np

camera.capture('filename.jpg')

im = Image.open('filename.jpg')

brightness = np.mean(im)
Linda MacPhee-Cobb
fuente