1. import cv2
    2. #导入opencv
    3. cap = cv2.VideoCapture(1)
    4. #声明用第几个摄像头来获取数据,默认通常是0,我的电脑上0是笔记本自带的摄像头,1是外接的摄像头
    5. cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M','J','P','G'))
    6. #设置MJPG格式采集数据,因为有一次有损压缩图像质量会降低
    7. #如果不声明则是YUV,因为没有压缩高分辨率的时候响应极慢
    8. cap.set(cv2.CAP_PROP_FRAME_WIDTH,2048)
    9. cap.set(cv2.CAP_PROP_FRAME_HEIGHT,1536)
    10. #一般笔记本的内置摄像头可以支持到1280×720分辨率
    11. #有的摄像头会自动设置最接近的可用分辨率,有的不能
    12. cap.set(cv2.CAP_PROP_SETTINGS, 0)
    13. #打开摄像头的控制面板,不管设置参数是什么都会自动打开,程序中没找到如何关掉
    14. cap.set(cv2.CAP_PROP_FOCUS, 42)
    15. #只要设置了这个参数,就不再自动调焦,我这个外置摄像头带自动聚焦功能,默认初始得不到清晰图像,并且不确定什么时候会自动重调
    16. #先用固定焦距方式来快速实现,未来可以读取这个参数,判定目标是否到位。
    17. #cap.set(cv2.CAP_PROP_AUTOFOCUS, 1)
    18. #设置1开启自动调焦,设置0关闭
    19. #cap.set(cv2.CAP_PROP_BACKLIGHT, 4)
    20. #猜测为背光灯,但是没作用
    21. #cap.set(cv2.CAP_PROP_AUTO_EXPOSURE,0)
    22. #猜测是自动曝光控制,在我的硬件上无效
    23. #cap.set(cv2.CAP_PROP_EXPOSURE,-7)
    24. #曝光补偿控制,我的摄像头只支持0到-7,数字越小越暗,这个没找到重新变成自动的参数
    25. cap.release()
    26. cv2.destroyAllWindows()

    ref
    https://bbs.21ic.com/blog-62556-683410.html