Configuración de los parámetros de la cámara en OpenCV / Python

Estoy usando OpenCV (2.4) y Python (2.7.3) con una cámara USB de Thorlabs (DC1545M).

Estoy haciendo un análisis de imagen en un flujo de video y me gustaría poder cambiar algunos de los parámetros de la cámara desde mi flujo de video. Lo confuso es que puedo cambiar algunas de las propiedades de la cámara, pero no todas, y no estoy seguro de qué estoy haciendo mal.

Aquí está el código, usando los enlaces cv2 en Python, y puedo confirmar que se ejecuta:

import cv2


#capture from camera at location 0
cap = cv2.VideoCapture(0)
#set the width and height, and UNSUCCESSFULLY set the exposure time
cap.set(3,1280)
cap.set(4,1024)
cap.set(15, 0.1)

while True:
    ret, img = cap.read()
    cv2.imshow("input", img)
    #cv2.imshow("thresholded", imgray*thresh2)

    key = cv2.waitKey(10)
    if key == 27:
        break


cv2.destroyAllWindows() 
cv2.VideoCapture(0).release()

Para referencia, el primer argumento en elcap.set () comando se refiere a la enumeración de las propiedades de la cámara, que se enumeran a continuación:

0. CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds.
1. CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next.
2. CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file
3. CV_CAP_PROP_FRAME_WIDTH Width of the frames in the video stream.
4. CV_CAP_PROP_FRAME_HEIGHT Height of the frames in the video stream.
5. CV_CAP_PROP_FPS Frame rate.
6. CV_CAP_PROP_FOURCC 4-character code of codec.
7. CV_CAP_PROP_FRAME_COUNT Number of frames in the video file.
8. CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .
9. CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.
10. CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras).
11. CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras).
12. CV_CAP_PROP_SATURATION Saturation of the image (only for cameras).
13. CV_CAP_PROP_HUE Hue of the image (only for cameras).
14. CV_CAP_PROP_GAIN Gain of the image (only for cameras).
15. CV_CAP_PROP_EXPOSURE Exposure (only for cameras).
16. CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.
17. CV_CAP_PROP_WHITE_BALANCE Currently unsupported
18. CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently)

Mis preguntas son:

¿Es posible configurar el tiempo de exposición de la cámara (o los otros parámetros de la cámara) a través de python / opencv?

Si no es así, ¿cómo puedo configurar estos parámetros?

Nota: el fabricante de la cámara proporciona el código C ++ que muestra cómo hacerlo, pero no soy un experto (en general) en C ++ y agradecería cualquier solución basada en python.

¡Gracias por adelantado!

Respuestas a la pregunta(5)

Su respuesta a la pregunta