contribute上次修改:2026-09-29

设置摄像头参数


date created: 2026-9-24 08:44 date modified: 2026-9-24 08:44

cap.set() 可设置的参数列表

cap.set(propId, value) 的第一个参数 propId 是一个整数或 OpenCV 常量,代表要设置的属性。以下是一份常用参数速查表,数值为常量对应的整数值(不同 OpenCV 版本可能略有差异)。

常量名称 数值 说明
cv2.CAP_PROP_POS_MSEC 0 视频文件的当前位置(毫秒)
cv2.CAP_PROP_POS_FRAMES 1 下一帧的索引(从0开始)
cv2.CAP_PROP_POS_AVI_RATIO 2 视频文件的相对位置(0到1)
cv2.CAP_PROP_FRAME_WIDTH 3 帧宽度(像素)
cv2.CAP_PROP_FRAME_HEIGHT 4 帧高度(像素)
cv2.CAP_PROP_FPS 5 帧率
cv2.CAP_PROP_FOURCC 6 编解码器的4字符代码(如 MJPG)
cv2.CAP_PROP_FRAME_COUNT 7 视频文件的总帧数
cv2.CAP_PROP_FORMAT 8 retrieve() 返回的 Mat 对象格式
cv2.CAP_PROP_MODE 9 后端特有的当前捕获模式
cv2.CAP_PROP_BRIGHTNESS 10 亮度(仅摄像头)
cv2.CAP_PROP_CONTRAST 11 对比度(仅摄像头)
cv2.CAP_PROP_SATURATION 12 饱和度(仅摄像头)
cv2.CAP_PROP_HUE 13 色调(仅摄像头)
cv2.CAP_PROP_GAIN 14 增益(仅摄像头)
cv2.CAP_PROP_EXPOSURE 15 曝光(仅摄像头)
cv2.CAP_PROP_CONVERT_RGB 16 是否将图像转换为 RGB 的布尔标志
cv2.CAP_PROP_WHITE_BALANCE 17 白平衡(可能不支持)
cv2.CAP_PROP_RECTIFICATION 18 立体摄像头的校正标志(仅 DC1394 v2.x)

设置opencv后端

OpenCV 用来和系统多媒体框架对话的适配层。 不同平台、不同场景有不同后端。

为什么要搞这么多后端?

因为 OpenCV 要跑在 Windows、Linux、macOS、Android、iOS 上,每个系统的"本地视频框架"都不一样。OpenCV 不可能自己写一套跨平台的摄像头驱动,所以它选择:每个平台接一个或多个本地框架,做一个薄薄的适配层。

于是就有了这一堆常量:


cv2.CAP_DSHOW      # Windows: DirectShow
cv2.CAP_MSMF       # Windows: Media Foundation
cv2.CAP_VFW        # Windows: Video For Windows(最老)
cv2.CAP_V4L2       # Linux: Video4Linux2
cv2.CAP_GSTREAMER  # 跨平台: GStreamer
cv2.CAP_FFMPEG     # 跨平台: FFmpeg(主要用于文件/网络流)
cv2.CAP_AVFOUNDATION  # macOS: AVFoundation
cv2.CAP_ANY        # 让 OpenCV 自动挑

留言区

不收集任何个人信息;昵称只绑定浏览器里的随机 Cookie。