![]() |
OpenCV 4.12.0
开源计算机视觉
|
类 | |
| 结构体 | cv::cudacodec::EncodeQp |
| 类 | cv::cudacodec::EncoderCallback |
| 编码器回调接口。更多... | |
| 结构体 | cv::cudacodec::EncoderParams |
| CUDA 视频编码器的不同参数。更多... | |
| 结构体 | cv::cudacodec::FormatInfo |
| 提供视频文件格式信息的结构体。更多... | |
| 类 | cv::cudacodec::NVSurfaceToColorConverter |
| 用于将 VideoReader 输出的原始 YUV Surface(如果输出颜色格式设置为 ColorFormat::NV_YUV_SURFACE_FORMAT (VideoReader::set(ColorFormat::NV_YUV_SURFACE_FORMAT)))转换为请求的 ColorFormat 的类。更多... | |
| 类 | cv::cudacodec::RawVideoSource |
| 视频解复用接口。更多... | |
| 类 | cv::cudacodec::VideoReader |
| 视频读取器接口,请参阅 createVideoReader()。更多... | |
| 结构体 | cv::cudacodec::VideoReaderInitParams |
| VideoReader 初始化参数。更多... | |
| 类 | cv::cudacodec::VideoWriter |
| 视频写入器接口,请参阅 createVideoWriter()。更多... | |
#include <opencv2/cudacodec.hpp>
VideoReader::nextFrame() 和 VideoReader::retrieve() 返回的帧的位深
| 枚举器 | |
|---|---|
| EIGHT | 8 位深。 |
| SIXTEEN | 16 位深。 |
| UNCHANGED | 使用源位深。 |
#include <opencv2/cudacodec.hpp>
cudacodec::VideoReader 支持的色度格式。
| 枚举器 | |
|---|---|
| Monochrome | |
| YUV420 | |
| YUV422 | |
| YUV444 | |
| NumFormats | |
| enum cv::cudacodec::Codec |
#include <opencv2/cudacodec.hpp>
cudacodec::VideoReader 和 cudacodec::VideoWriter 支持的视频编解码器。
#include <opencv2/cudacodec.hpp>
VideoReader::nextFrame() 和 VideoReader::retrieve() 返回的帧的 ColorFormat,或用于初始化 VideoWriter。
| 枚举器 | |
|---|---|
| UNDEFINED | |
| BGRA | OpenCV 颜色格式。VideoReader 和 VideoWriter。 |
| BGR | OpenCV 颜色格式。VideoReader 和 VideoWriter。 |
| GRAY | OpenCV 颜色格式。VideoReader 和 VideoWriter。 |
| RGB | OpenCV 颜色格式。VideoReader 和 VideoWriter。 |
| RGBA | OpenCV 颜色格式。VideoReader 和 VideoWriter。 |
| NV_YUV_SURFACE_FORMAT | Nvidia YUV 表面格式由 Nvidia 解码器输出,请参阅 SurfaceFormat。VideoReader 专用。 |
| NV_NV12 | Nvidia 缓冲格式 - 半平面 YUV [Y 平面后跟交错的 UV 平面]。VideoWriter 专用。
|
| NV_YV12 | Nvidia 缓冲格式 - 平面 YUV [Y 平面后跟 V 和 U 平面]。VideoWriter 专用。 |
| NV_IYUV | Nvidia 缓冲格式 - 平面 YUV [Y 平面后跟 U 和 V 平面]。VideoWriter 专用。 |
| NV_YUV444 | Nvidia 缓冲格式 - 平面 YUV [Y 平面后跟 U 和 V 平面]。VideoWriter 专用。 |
| NV_AYUV | Nvidia 缓冲格式 - 8 位封装 A8Y8U8V8。这是一种字序格式,其中像素由一个 32 位字表示,其中 V 在最低 8 位,U 在接下来的 8 位,Y 在之后的 8 位,A 在最高 8 位。VideoWriter 专用。 |
| NV_YUV420_10BIT | Nvidia 缓冲格式 - 10 位半平面 YUV [Y 平面后跟交错的 UV 平面]。每个像素大小为 2 字节。最高 10 位包含像素数据。VideoWriter 专用。 |
| NV_YUV444_10BIT | Nvidia 缓冲格式 - 10 位平面 YUV444 [Y 平面后跟 U 和 V 平面]。每个像素大小为 2 字节。最高 10 位包含像素数据。VideoWriter 专用。 |
|
strong |
#include <opencv2/cudacodec.hpp>
VideoReader 源的视频信号描述色彩基色(H265 规范文件 E.2.1 VUI 参数语义部分)
#include <opencv2/cudacodec.hpp>
解码器使用的去隔行模式。
| 枚举器 | |
|---|---|
| Weave | 交织两个场(无去隔行)。适用于逐行内容和不需要去隔行的内容。 |
| Bob | 丢弃一个场。 |
| Adaptive | 自适应去隔行比其他去隔行模式需要更多视频内存。 |
#include <opencv2/cudacodec.hpp>
多通道编码。
| 枚举器 | |
|---|---|
| ENC_MULTI_PASS_DISABLED | 单通道。 |
| ENC_TWO_PASS_QUARTER_RESOLUTION | 启用两通道编码,其中第一通道为四分之一分辨率。 |
| ENC_TWO_PASS_FULL_RESOLUTION | 启用两通道编码,其中第一通道为全分辨率。 |
#include <opencv2/cudacodec.hpp>
码率控制模式。
| 枚举器 | |
|---|---|
| ENC_PARAMS_RC_CONSTQP | 恒定 QP 模式。 |
| ENC_PARAMS_RC_VBR | 可变码率模式。 |
| ENC_PARAMS_RC_CBR | 恒定码率模式。 |
#include <opencv2/cudacodec.hpp>
Nvidia 编码预设。从 P1 到 P7,性能下降,质量提高。
| 枚举器 | |
|---|---|
| ENC_PRESET_P1 | |
| ENC_PRESET_P2 | |
| ENC_PRESET_P3 | |
| ENC_PRESET_P4 | |
| ENC_PRESET_P5 | |
| ENC_PRESET_P6 | |
| ENC_PRESET_P7 | |
#include <opencv2/cudacodec.hpp>
支持的编码器配置文件。
#include <opencv2/cudacodec.hpp>
调优信息。
#include <opencv2/cudacodec.hpp>
解码器输出的视频表面格式。
|
strong |
#include <opencv2/cudacodec.hpp>
cv::cudacodec::VideoReader 通用属性标识符。
| 枚举器 | |
|---|---|
| PROP_DECODED_FRAME_IDX | 使用 retrieve() 检索已解码帧的索引。 |
| PROP_EXTRA_DATA_INDEX | 使用 retrieve() 检索与视频源关联的额外数据的索引。 |
| PROP_RAW_PACKAGES_BASE_INDEX | 使用 retrieve() 检索原始编码数据的基索引。 |
| PROP_NUMBER_OF_RAW_PACKAGES_SINCE_LAST_GRAB | 自上次调用 grab() 以来接收的原始包数量。 |
| PROP_RAW_MODE | 原始模式状态。 |
| PROP_LRF_HAS_KEY_FRAME | 仅限 FFmpeg 源 - 指示当 VideoReader 在原始模式下初始化时,从 VideoReader::retrieve() 输出的最后原始帧 (LRF) 是否包含关键帧的编码数据。 |
| PROP_COLOR_FORMAT | 已解码帧的 ColorFormat。可在每次调用 nextFrame() 和 retrieve() 之前更改。 |
| PROP_UDP_SOURCE | |
| PROP_ALLOW_FRAME_DROP | |
| PROP_BIT_DEPTH | 已解码帧的位深。可在每次调用 nextFrame() 和 retrieve() 之前更改。 |
| PROP_PLANAR | 为 true 时为平面,为 false 时为打包。可在每次调用 nextFrame() 和 retrieve() 之前更改。 |
| Ptr< NVSurfaceToColorConverter > cv::cudacodec::createNVSurfaceToColorConverter | ( | const ColorSpaceStandard | colorSpace, |
| const bool | videoFullRangeFlag = false ) |
#include <opencv2/cudacodec.hpp>
创建一个 NVSurfaceToColorConverter。
| colorSpace | 转换器所需的 ColorSpaceStandard。 |
| videoFullRangeFlag | 指示源的黑电平、亮度和色度是否使用 ITU-T 规范附件 E 中定义的全范围或有限范围(又称电视或“模拟”范围)值表示。 |
| Ptr< VideoReader > cv::cudacodec::createVideoReader | ( | const Ptr< RawVideoSource > & | source, |
| const VideoReaderInitParams | params = VideoReaderInitParams() ) |
#include <opencv2/cudacodec.hpp>
这是为方便而提供的重载成员函数。它与上面的函数仅在接受的参数上有所不同。
| source | 用户实现的 RAW 视频源。 |
| params | 初始化参数。请参阅 cv::cudacodec::VideoReaderInitParams。 |
| Ptr< VideoReader > cv::cudacodec::createVideoReader | ( | const String & | filename, |
| const std::vector< int > & | sourceParams = {}, | ||
| const VideoReaderInitParams | params = VideoReaderInitParams() ) |
#include <opencv2/cudacodec.hpp>
创建视频读取器。
| filename | 输入视频文件的名称。 |
| sourceParams | VideoCapure 的直通参数。使用 FFMpeg 后端 (CAP_FFMPEG) 的 VideoCapture 用于解析视频输入。`sourceParams` 参数允许指定编码为 `(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)` 对的额外参数。请参阅 cv::VideoCaptureProperties,例如从 RTSP 源流式传输时可能需要设置 CAP_PROP_OPEN_TIMEOUT_MSEC。 |
| params | 初始化参数。请参阅 cv::cudacodec::VideoReaderInitParams。 |
FFMPEG 用于读取视频。用户可以使用 cudacodec::RawVideoSource 实现自己的解复用。
| Ptr< cudacodec::VideoWriter > cv::cudacodec::createVideoWriter | ( | const String & | fileName, |
| const Size | frameSize, | ||
| const Codec | codec, | ||
| const double | fps, | ||
| const ColorFormat | colorFormat, | ||
| const EncoderParams & | params, | ||
| Ptr< EncoderCallback > | encoderCallback = 0, | ||
| const cuda::Stream & | stream = cuda::Stream::Null() ) |
#include <opencv2/cudacodec.hpp>
创建视频写入器。
| fileName | 输出视频文件的名称。 |
| frameSize | 输入视频帧的大小。 |
| codec | 支持 Codec::H264 和 Codec::HEVC。 |
| fps | 创建的视频流的帧率。 |
| colorFormat | 要编码的帧的 OpenCv 颜色格式。 |
| params | 附加编码参数。 |
| encoderCallback | 视频编码器回调。请参阅 cudacodec::EncoderCallback。处理编码视频流所需。 |
| 流 | 用于帧预处理的流。 |
| Ptr< cudacodec::VideoWriter > cv::cudacodec::createVideoWriter | ( | const String & | fileName, |
| const Size | frameSize, | ||
| const Codec | codec = Codec::H264, | ||
| const double | fps = 25.0, | ||
| const ColorFormat | colorFormat = ColorFormat::BGR, | ||
| Ptr< EncoderCallback > | encoderCallback = 0, | ||
| const cuda::Stream & | stream = cuda::Stream::Null() ) |
#include <opencv2/cudacodec.hpp>
创建视频写入器。
| fileName | 输出视频文件的名称。 |
| frameSize | 输入视频帧的大小。 |
| codec | 支持 Codec::H264 和 Codec::HEVC。 |
| fps | 创建的视频流的帧率。 |
| colorFormat | 要编码的帧的 OpenCv 颜色格式。 |
| encoderCallback | 视频编码器回调。请参阅 cudacodec::EncoderCallback。处理编码视频流所需。 |
| 流 | 用于帧预处理的流。 |
| void cv::cudacodec::MapHist | ( | const cuda::GpuMat & | hist, |
| Mat & | histFull ) |
#include <opencv2/cudacodec.hpp>
演示如何在 FormatInfo::videoFullRangeFlag == false 时映射亮度直方图的实用函数。
| hist | 从 VideoReader::nextFrame(GpuMat& frame, GpuMat& hist, Stream& stream) 返回的亮度直方图 hist。 |
| histFull | 宿主直方图,等同于调用 cuda::calcHist(InputArray frame, OutputArray hist, Stream& stream) 后下载 hist。 |
| bool cv::cudacodec::operator== | ( | const EncoderParams & | lhs, |
| const EncoderParams & | rhs ) |
#include <opencv2/cudacodec.hpp>