有什么办法可以使用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/