我正在使用Windows7 64位操作系统以及Python3和OpenCV。我的电脑连接到以下型号的两个罗技网络摄像头:
1)罗技高清网络摄像头C615
2) 罗技QuickCam Pro 9000
在Python中,我运行以下脚本import cv2
cap1 = cv2.VideoCapture()
cap2 = cv2.VideoCapture()
cap1.set(cv2.CAP_PROP_AUTOFOCUS,0) # I want to change the focus manually myself
cap1.set(cv2.CAP_PROP_FOCUS,10)
cap2.set(cv2.CAP_PROP_FOCUS,10)
cap1.set(cv2.CAP_PROP_EXPOSURE,25)
cap2.set(cv2.CAP_PROP_EXPOSURE,25)
#get frame
ret, frame1 = cap1.read()
ret, frame2 = cap2.read()
#display result
cv2.imshow('cam 1',frame1)
cv2.imshow('cam 2',frame2)
问题是,无论我如何更改cv2.set中的参数,我都看不到更改反映在捕获的图像中。
然后,我去下载罗技的驱动程序,为摄像机称为罗技网络摄像头软件。使用他们的软件,我可以在两个摄像头中进行适当的设置。关闭软件并重新启动python并运行脚本时,捕获的图像将完全按照我在Logitech网络摄像头软件中设置的设置显示。
我的问题是:
1)为什么不能直接使用Python和OpenCV设置相机设置?
2)如何更改脚本,以便直接从Python连接相机设置?
谢谢!