有没有办法使用OpenCV Python设置相机设置(iso,焦点等)?我们在机器人上使用计算机视觉,但每次角度或光线变化时,相机都会自行重新配置,因此无法使用SciKit Learn中的SVM。有没有办法阻止它?
答案 0 :(得分:4)
是的,有一种方法可以使用OpenCV手动控制USB网络摄像头。我正在使用的网络摄像头是罗技C525,但我认为以下代码适用于所有罗技网络摄像头。
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应该与“曝光”和“增益”更相关,这会影响信号强度。
祝你好运!