Я пытаюсь создать небольшой скрипт Python для захвата и отображения выходных данных веб-камеры и установки значения HDR веб-камеры (веб-камера поддерживает HDR).
Я пытаюсь сделать это с помощью OpenCv и Python.
Я пользуюсь платформой Windows, но также тестировал ее в Linux (Ubuntu 16.4) с теми же результатами.
Я попробовал несколько камер без удачи:
1. Logitech Brio
2. Веб-камера Logitech HD C270
Я попытался установить параметр HDR камеры, используя следующий код:
set_hdr = cam.set(cv2.CAP_PROP_XI_HDR_T1, 1)
print("set_hdr: {}".format(set_hdr))
actual_hdr = cam.get(cv2.CAP_PROP_XI_HDR)
print("actual_hdr: {}".format(actual_hdr))
Я получаю следующий вывод:
set_hdr: False
actual_hdr: -1.0
Я также пытался сделать это после запуска камеры, но не повезло.
Полный код ниже:
import cv2
cam = cv2.VideoCapture(0)
set_hdr = cam.set(cv2.CAP_PROP_XI_HDR_T1, 1)
print("set_hdr: {}".format(set_hdr))
actual_hdr = cam.get(cv2.CAP_PROP_XI_HDR)
print("actual_hdr: {}".format(actual_hdr))
print("######## Start Camera Loop #########")
while True:
ret_val, img = cam.read()
if not ret_val:
print("ret_val is False")
continue
cv2.imshow('my_camera', img)
key_code = cv2.waitKey(10)
if key_code == 27:
break # esc to quit
elif key_code & 0xFF == ord('h'):
# change hdr
actual_hdr = cam.get(cv2.CAP_PROP_XI_HDR)
print("current actual_hdr: {}".format(actual_hdr))
set_hdr = cam.set(cv2.CAP_PROP_XI_HDR_T1, 0)
print("set_hdr: {}".format(set_hdr))
actual_hdr = cam.get(cv2.CAP_PROP_XI_HDR)
print("set actual_hdr: {}".format(actual_hdr))
cv2.destroyAllWindows()
И результаты:
set_hdr: False
actual_hdr: -1.0
######## Start Camera Loop #########
### Trying to change HDR ###
current actual_hdr: -1.0
set_hdr: False
set actual_hdr: -1.0
Спасибо за все вашиhelp,
Saar
PS
Я новичок в Stack Overflow, так что любые советы по улучшению моих вопросов приветствуются!