opencv python中摄像头参数的设置

2024-05-19 12:25:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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连接相机设置?

谢谢!


Tags: 网络脚本软件cv2opencvfocusexposure摄像头