![]() |
OpenCV 4.11.0
开源计算机视觉
|
#include <opencv2/videoio.hpp>
cv::VideoCapture API后端标识符。
选择捕获对象的首选API。在VideoCapture::VideoCapture()构造函数或VideoCapture::open()中使用
#include <opencv2/videoio.hpp>
cv::VideoCapture 通用属性标识符。
读取/写入属性涉及多个层级。在此过程中可能会出现一些意外的结果。实际行为取决于设备硬件、驱动程序和API后端。
| 枚举器 | |
|---|---|
| CAP_PROP_POS_MSEC Python: cv.CAP_PROP_POS_MSEC | 视频文件的当前位置(毫秒)。 |
| CAP_PROP_POS_FRAMES Python: cv.CAP_PROP_POS_FRAMES | 下一个要解码/捕获的帧的基于0的索引。当在RAW模式下设置索引i (CAP_PROP_FORMAT == -1) 时,这将跳转到关键帧k,其中k <= i。 |
| CAP_PROP_POS_AVI_RATIO Python: cv.CAP_PROP_POS_AVI_RATIO | 视频文件的相对位置:0=影片开头,1=影片结尾。 |
| CAP_PROP_FRAME_WIDTH Python: cv.CAP_PROP_FRAME_WIDTH | 视频流中帧的宽度。 |
| CAP_PROP_FRAME_HEIGHT Python: cv.CAP_PROP_FRAME_HEIGHT | 视频流中帧的高度。 |
| CAP_PROP_FPS Python: cv.CAP_PROP_FPS | 帧率。 |
| CAP_PROP_FOURCC Python: cv.CAP_PROP_FOURCC | 编解码器的4字符代码。参见 VideoWriter::fourcc 。 |
| CAP_PROP_FRAME_COUNT Python: cv.CAP_PROP_FRAME_COUNT | 视频文件中的帧数。 |
| CAP_PROP_FORMAT Python: cv.CAP_PROP_FORMAT | 由VideoCapture::retrieve() 返回的 Mat 对象格式(参见 Mat::type())。设置值为 -1 可获取未解码的原始视频流(作为 Mat 8UC1)。 |
| CAP_PROP_MODE Python: cv.CAP_PROP_MODE | 指示当前捕获模式的后端特定值。 |
| CAP_PROP_BRIGHTNESS Python: cv.CAP_PROP_BRIGHTNESS | 图像亮度(仅适用于支持此功能的摄像头)。 |
| CAP_PROP_CONTRAST Python: cv.CAP_PROP_CONTRAST | 图像对比度(仅适用于摄像头)。 |
| CAP_PROP_SATURATION Python: cv.CAP_PROP_SATURATION | 图像饱和度(仅适用于摄像头)。 |
| CAP_PROP_HUE Python: cv.CAP_PROP_HUE | 图像色调(仅适用于摄像头)。 |
| CAP_PROP_GAIN Python: cv.CAP_PROP_GAIN | 图像增益(仅适用于支持此功能的摄像头)。 |
| CAP_PROP_EXPOSURE Python: cv.CAP_PROP_EXPOSURE | 曝光(仅适用于支持此功能的摄像头)。 |
| CAP_PROP_CONVERT_RGB Python: cv.CAP_PROP_CONVERT_RGB | 布尔标志,指示是否应将图像转换为 RGB。 |
| CAP_PROP_WHITE_BALANCE_BLUE_U Python: cv.CAP_PROP_WHITE_BALANCE_BLUE_U | 当前不支持。 |
| CAP_PROP_RECTIFICATION Python: cv.CAP_PROP_RECTIFICATION | 立体摄像头的校正标志(注意:目前仅受 DC1394 v 2.x 后端支持)。 |
| CAP_PROP_MONOCHROME Python: cv.CAP_PROP_MONOCHROME | |
| CAP_PROP_SHARPNESS Python: cv.CAP_PROP_SHARPNESS | |
| CAP_PROP_AUTO_EXPOSURE Python: cv.CAP_PROP_AUTO_EXPOSURE | DC1394:由摄像头完成曝光控制,用户可以使用此功能调整参考级别。 |
| CAP_PROP_GAMMA Python: cv.CAP_PROP_GAMMA | |
| CAP_PROP_TEMPERATURE Python: cv.CAP_PROP_TEMPERATURE | |
| CAP_PROP_TRIGGER Python: cv.CAP_PROP_TRIGGER | |
| CAP_PROP_TRIGGER_DELAY Python: cv.CAP_PROP_TRIGGER_DELAY | |
| CAP_PROP_WHITE_BALANCE_RED_V Python: cv.CAP_PROP_WHITE_BALANCE_RED_V | |
| CAP_PROP_ZOOM Python: cv.CAP_PROP_ZOOM | |
| CAP_PROP_FOCUS Python: cv.CAP_PROP_FOCUS | |
| CAP_PROP_GUID Python: cv.CAP_PROP_GUID | |
| CAP_PROP_ISO_SPEED Python: cv.CAP_PROP_ISO_SPEED | |
| CAP_PROP_BACKLIGHT Python: cv.CAP_PROP_BACKLIGHT | |
| CAP_PROP_PAN Python: cv.CAP_PROP_PAN | |
| CAP_PROP_TILT Python: cv.CAP_PROP_TILT | |
| CAP_PROP_ROLL Python: cv.CAP_PROP_ROLL | |
| CAP_PROP_IRIS Python: cv.CAP_PROP_IRIS | |
| CAP_PROP_SETTINGS Python: cv.CAP_PROP_SETTINGS | 弹出视频/摄像头滤镜对话框(注意:目前仅受 DSHOW 后端支持。属性值被忽略)。 |
| CAP_PROP_BUFFERSIZE Python: cv.CAP_PROP_BUFFERSIZE | |
| CAP_PROP_AUTOFOCUS Python: cv.CAP_PROP_AUTOFOCUS | |
| CAP_PROP_SAR_NUM Python: cv.CAP_PROP_SAR_NUM | 样本宽高比:num/den (num) |
| CAP_PROP_SAR_DEN Python: cv.CAP_PROP_SAR_DEN | 样本宽高比:num/den (den) |
| CAP_PROP_BACKEND Python: cv.CAP_PROP_BACKEND | 当前后端(枚举 VideoCaptureAPIs)。只读属性。 |
| CAP_PROP_CHANNEL Python: cv.CAP_PROP_CHANNEL | 视频输入或通道号(仅适用于支持此功能的摄像头)。 |
| CAP_PROP_AUTO_WB Python: cv.CAP_PROP_AUTO_WB | 启用/禁用自动白平衡 |
| CAP_PROP_WB_TEMPERATURE Python: cv.CAP_PROP_WB_TEMPERATURE | 白平衡色温 |
| CAP_PROP_CODEC_PIXEL_FORMAT Python: cv.CAP_PROP_CODEC_PIXEL_FORMAT | (只读) 编解码器的像素格式。4 字符代码 - 请参见 VideoWriter::fourcc 。AV_PIX_FMT_* 的子集,如果未知则为 -1 |
| CAP_PROP_BITRATE Python: cv.CAP_PROP_BITRATE | (只读) 视频比特率,单位为 kbits/s |
| CAP_PROP_ORIENTATION_META Python: cv.CAP_PROP_ORIENTATION_META | (只读) 由流元数据定义的帧旋转(仅适用于 FFmpeg 和 AVFoundation 后端)。 |
| CAP_PROP_ORIENTATION_AUTO Python: cv.CAP_PROP_ORIENTATION_AUTO | 如果为真 - 会根据视频文件的元数据旋转CvCapture的输出帧(仅适用于FFmpeg和AVFoundation后端)(https://github.com/opencv/opencv/issues/15499) |
| CAP_PROP_HW_ACCELERATION Python: cv.CAP_PROP_HW_ACCELERATION | (**仅限打开时设置**) 硬件加速类型(参见VideoAccelerationType)。仅通过cv::VideoCapture构造函数/.open()方法中的 |
| CAP_PROP_HW_DEVICE Python: cv.CAP_PROP_HW_DEVICE | (**仅限打开时设置**) 硬件设备索引(如果有多个可用,则选择GPU)。设备枚举是特定于加速类型的。 |
| CAP_PROP_HW_ACCELERATION_USE_OPENCL Python: cv.CAP_PROP_HW_ACCELERATION_USE_OPENCL | (**仅限打开时设置**) 如果非零,则创建新的OpenCL上下文并将其绑定到当前线程。创建的OpenCL上下文附加了视频加速上下文(如果尚未附加),以便在硬件加速解码器和cv::UMat之间优化GPU数据复制。 |
| CAP_PROP_OPEN_TIMEOUT_MSEC Python: cv.CAP_PROP_OPEN_TIMEOUT_MSEC | (**仅限打开时设置**) 打开视频捕获的超时时间(以毫秒为单位)(仅适用于FFmpeg和GStreamer后端) |
| CAP_PROP_READ_TIMEOUT_MSEC Python: cv.CAP_PROP_READ_TIMEOUT_MSEC | (**仅限打开时设置**) 从视频捕获读取的超时时间(以毫秒为单位)(仅适用于FFmpeg和GStreamer后端) |
| CAP_PROP_STREAM_OPEN_TIME_USEC Python: cv.CAP_PROP_STREAM_OPEN_TIME_USEC | (只读) 自1970年1月1日以来,以微秒为单位的时间,表示流何时打开。仅适用于FFmpeg后端。对于RTSP和其他实时流很有用 |
| CAP_PROP_VIDEO_TOTAL_CHANNELS Python: cv.CAP_PROP_VIDEO_TOTAL_CHANNELS | (只读) 视频通道数 |
| CAP_PROP_VIDEO_STREAM Python: cv.CAP_PROP_VIDEO_STREAM | (**仅限打开时设置**) 指定视频流,基于0的索引。使用-1禁用来自文件或IP摄像头的视频流。默认值为0。 |
| CAP_PROP_AUDIO_STREAM Python: cv.CAP_PROP_AUDIO_STREAM | (**仅限打开时设置**) 在多语言媒体文件中指定流,-1 - 禁用音频处理或麦克风。默认值为-1。 |
| CAP_PROP_AUDIO_POS Python: cv.CAP_PROP_AUDIO_POS | (只读) 音频位置以样本为单位测量。先前抓取片段的准确音频样本时间戳。参见CAP_PROP_AUDIO_SAMPLES_PER_SECOND和CAP_PROP_AUDIO_SHIFT_NSEC。 |
| CAP_PROP_AUDIO_SHIFT_NSEC Python: cv.CAP_PROP_AUDIO_SHIFT_NSEC | (只读) 包含音频流开始与视频流开始之间的时间差(以纳秒为单位)。正值表示音频在第一个视频帧之后开始。负值表示音频在第一个视频帧之前开始。 |
| CAP_PROP_AUDIO_DATA_DEPTH Python: cv.CAP_PROP_AUDIO_DATA_DEPTH | (打开,读取) 每样本位的替代定义,但具有清晰的32F/32S处理方式 |
| CAP_PROP_AUDIO_SAMPLES_PER_SECOND Python: cv.CAP_PROP_AUDIO_SAMPLES_PER_SECOND | (打开,读取) 从文件/编解码器输入确定。如果未指定,则选择的音频采样率为44100 |
| CAP_PROP_AUDIO_BASE_INDEX Python: cv.CAP_PROP_AUDIO_BASE_INDEX | (只读) .retrieve()调用中第一个音频通道的索引。该音频通道号在视频通道之后继续枚举。 |
| CAP_PROP_AUDIO_TOTAL_CHANNELS Python: cv.CAP_PROP_AUDIO_TOTAL_CHANNELS | (只读) 选择的音频流中的音频通道数(单声道、立体声等) |
| CAP_PROP_AUDIO_TOTAL_STREAMS Python: cv.CAP_PROP_AUDIO_TOTAL_STREAMS | (只读) 音频流数。 |
| CAP_PROP_AUDIO_SYNCHRONIZE Python: cv.CAP_PROP_AUDIO_SYNCHRONIZE | (打开,读取) 启用音频同步。 |
| CAP_PROP_LRF_HAS_KEY_FRAME Python: cv.CAP_PROP_LRF_HAS_KEY_FRAME | 仅限FFmpeg后端 - 指示VideoCapture::read()(当VideoCapture用VideoCapture::open(CAP_FFMPEG, {CAP_PROP_FORMAT, -1})或VideoCapture::set(CAP_PROP_FORMAT,-1)调用在第一次调用VideoCapture::read()之前被初始化时)输出的最后一个原始帧(LRF)是否包含关键帧的编码数据。 |
| CAP_PROP_CODEC_EXTRADATA_INDEX Python: cv.CAP_PROP_CODEC_EXTRADATA_INDEX | 正索引表示视频后端支持返回额外数据。这可以作为cap.retrieve(data, <returned index>)检索。例如,当从h264编码的RTSP流读取时,FFmpeg后端可以返回SPS和/或PPS(如果可用)(如果在回复DESCRIBE请求时发送),来自cap.retrieve(data, <returned index>)的调用。 |
| CAP_PROP_FRAME_TYPE Python: cv.CAP_PROP_FRAME_TYPE | (只读) 仅限 FFmpeg 后端 - 最近读取帧的帧类型 ASCII 码 (73 = 'I', 80 = 'P', 66 = 'B' 或 63 = '?' 如果未知)。 |
| CAP_PROP_N_THREADS Python: cv.CAP_PROP_N_THREADS | (仅限打开时设置) 设置使用的最大线程数。使用 0 表示使用与 CPU 内核数量相同的线程数(仅适用于 FFmpeg 后端)。 |
| CAP_PROP_PTS Python: cv.CAP_PROP_PTS | (只读) 仅限 FFmpeg 后端 - 使用 FPS 时间基准的最近读取帧的显示时间戳。例如,fps = 25,VideoCapture::get(CAP_PROP_PTS) = 3,显示时间 = 3/25 秒。 |
| CAP_PROP_DTS_DELAY Python: cv.CAP_PROP_DTS_DELAY | (只读) 仅限 FFmpeg 后端 - 使用 FPS 时间基准的显示时间戳 (pts) 和解压缩时间戳 (dts) 之间的最大差异。例如,当 frame_num = 0 时延迟最大,如果为真,VideoCapture::get(CAP_PROP_PTS) = 0 且 VideoCapture::get(CAP_PROP_DTS_DELAY) = 2,dts = -2。非零值通常意味着流使用未按显示顺序解码的 B 帧进行编码。 |
#include <opencv2/videoio.hpp>
cv::VideoWriter 通用属性标识符。
| 枚举器 | |
|---|---|
| VIDEOWRITER_PROP_QUALITY Python: cv.VIDEOWRITER_PROP_QUALITY | 编码视频流的当前质量 (0..100%)。在某些编解码器中可以动态调整。 |
| VIDEOWRITER_PROP_FRAMEBYTES Python: cv.VIDEOWRITER_PROP_FRAMEBYTES | (只读): 刚刚编码的视频帧的大小。请注意,编码顺序可能与表示顺序不同。 |
| VIDEOWRITER_PROP_NSTRIPES Python: cv.VIDEOWRITER_PROP_NSTRIPES | 并行编码的条带数。-1 表示自动检测。 |
| VIDEOWRITER_PROP_IS_COLOR Python: cv.VIDEOWRITER_PROP_IS_COLOR | 如果它不为零,则编码器将期望并编码彩色帧,否则它将使用灰度帧。 |
| VIDEOWRITER_PROP_DEPTH Python: cv.VIDEOWRITER_PROP_DEPTH | 默认为 CV_8U。 |
| VIDEOWRITER_PROP_HW_ACCELERATION Python: cv.VIDEOWRITER_PROP_HW_ACCELERATION | (仅限打开时设置) 硬件加速类型(参见 VideoAccelerationType)。仅通过 VideoWriter 构造函数/ .open() 方法中的 `params` 参数支持设置。默认值是后端特定的。 |
| VIDEOWRITER_PROP_HW_DEVICE Python: cv.VIDEOWRITER_PROP_HW_DEVICE | (**仅限打开时设置**) 硬件设备索引(如果有多个可用,则选择GPU)。设备枚举是特定于加速类型的。 |
| VIDEOWRITER_PROP_HW_ACCELERATION_USE_OPENCL Python: cv.VIDEOWRITER_PROP_HW_ACCELERATION_USE_OPENCL | (仅限打开时设置) 如果非零,则创建新的 OpenCL 上下文并将其绑定到当前线程。使用附加了视频加速上下文的 OpenCL 上下文创建它(如果尚未附加),以便在 cv::UMat 和硬件加速编码器之间优化 GPU 数据复制。 |
| VIDEOWRITER_PROP_RAW_VIDEO Python: cv.VIDEOWRITER_PROP_RAW_VIDEO | (仅限打开时设置) 设置为非零以启用编码原始视频流的封装。每个原始编码视频帧应作为 CV_8UC1 Mat 的单行或单列传递给 VideoWriter::write()。
|
| VIDEOWRITER_PROP_KEY_INTERVAL Python: cv.VIDEOWRITER_PROP_KEY_INTERVAL | (仅限打开时设置) 使用原始视频封装 (VIDEOWRITER_PROP_RAW_VIDEO != 0) 设置关键帧间隔。未设置时默认为 1。仅限 FFmpeg 后端。 |
| VIDEOWRITER_PROP_KEY_FLAG Python: cv.VIDEOWRITER_PROP_KEY_FLAG | 封装原始视频 (VIDEOWRITER_PROP_RAW_VIDEO != 0) 时,设置为非零以表示后续帧是关键帧,否则为零。仅限 FFmpeg 后端。 |
| VIDEOWRITER_PROP_PTS Python: cv.VIDEOWRITER_PROP_PTS | 使用 FPS 时间基准指定每一帧的帧显示时间戳。此属性仅在封装解码顺序与显示顺序不同的外部编码视频(例如,具有双向 B 帧的 GOP 模式)时才需要。该值应由您的外部编码器提供,对于具有固定帧速率的视频源,它等效于将当前帧的显示时间 (CAP_PROP_POS_MSEC) 除以帧持续时间 (1000.0 / VideoCapture::get(CAP_PROP_FPS))。可以使用 VideoCapture::get(CAP_PROP_PTS) 从生成的封装视频文件中查询它。仅限 FFmpeg 后端。 |
| VIDEOWRITER_PROP_DTS_DELAY Python: cv.VIDEOWRITER_PROP_DTS_DELAY | 指定基于帧率时间基准的呈现时间戳 (pts) 和解压时间戳 (dts) 之间的最大差异。仅当封装**外部**编码的视频且解码顺序与呈现顺序不同时(例如,具有双向 B 帧的 GOP 模式),此属性才**必要**。该值应根据编码期间使用的特定 GOP 模式计算。例如,在呈现顺序为 IBP、解码顺序为 IPB 的 GOP 中,此值为 1,因为 B 帧是第二个呈现的帧,但却是第三个解码的帧。可以使用 VideoCapture::get(CAP_PROP_DTS_DELAY) 从生成的封装视频文件中查询该值。非零值通常表示流使用 B 帧进行编码。仅限 FFmpeg 后端。 |