有什么办法可以使用OpenCV Python设置相机设置(iso,focus等)?我们正在机器人上使用计算机视觉,但是每当 Angular 或光线发生变化时,摄像机都会自行重新配置,因此无法使用SciKit Learn的SVM。有什么办法阻止它吗?

最佳答案

是的,有一种方法可以通过OpenCV手动控制USB网络摄像头。我使用的网络摄像头是Logitech C525,但是我认为以下代码适用于所有Logitech网络摄像头。

import cv2

cam = cv2.VideoCapture(0)

#       key value
cam.set(3 , 640  ) # width
cam.set(4 , 480  ) # height
cam.set(10, 120  ) # brightness     min: 0   , max: 255 , increment:1
cam.set(11, 50   ) # contrast       min: 0   , max: 255 , increment:1
cam.set(12, 70   ) # saturation     min: 0   , max: 255 , increment:1
cam.set(13, 13   ) # hue
cam.set(14, 50   ) # gain           min: 0   , max: 127 , increment:1
cam.set(15, -3   ) # exposure       min: -7  , max: -1  , increment:1
cam.set(17, 5000 ) # white_balance  min: 4000, max: 7000, increment:1
cam.set(28, 0    ) # focus          min: 0   , max: 255 , increment:5

请注意,焦点值仅是5的倍数(0、5、10、15 ... 255)。您提到的ISO应该与“曝光”和“增益”更相关,后者会影响信号强度。

祝好运!

关于python - 使用Opencv编辑相机设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40348656/

10-12 20:21