Настройка параметров камеры в OpenCV/Python

Я использую OpenCV (2.4 )и Python (2.7.3 )с USB-камерой от Thorlabs (DC1545M ).

Я выполняю некоторый анализ изображения в видеопотоке и хотел бы иметь возможность изменять некоторые параметры камеры из своего видеопотока. Сбивает с толку то, что я могу изменить некоторые свойства камеры, но не все из них, и я не уверен, что делаю неправильно.

Вот код, использующий привязки cv2 в Python, и я могу подтвердить, что он работает:

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()

Для справки, первый аргумент в cap.set()команда относится к перечислению свойств камеры, перечисленных ниже:

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)

Мои вопросы:

Можно ли установить время экспозиции камеры (или другие параметры камеры )через python/opencv?

Если нет, то как мне установить эти параметры?

Примечание. :Производитель камеры предоставил код C++, показывающий, как это сделать, но я не являюсь экспертом (по большому счету )в C++ и был бы признателен за любое решение, основанное на Python -.

Заранее спасибо!

76
задан linusg 4 April 2018 в 13:45
поделиться