设置摄像头参数
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。