OpenCV 4.10.0
开源计算机视觉
|
类 | |
结构体 | cv::cudacodec::EncodeQp |
类 | cv::cudacodec::EncoderCallback |
编码器回调接口。 更多信息... | |
结构体 | cv::cudacodec::EncoderParams |
CUDA视频编码器不同参数。 更多信息... | |
结构体 | cv::cudacodec::FormatInfo |
提供有关视频文件格式信息的结构体。 : 更多信息... | |
类 | cv::cudacodec::RawVideoSource |
视频解复用接口。 : 更多信息... | |
类 | cv::cudacodec::VideoReader |
视频读取器接口,请参阅 createVideoReader()。 更多信息... | |
结构体 | cv::cudacodec::VideoReaderInitParams |
VideoReader 初始化参数。 更多信息... | |
类 | cv::cudacodec::VideoWriter |
视频写入器接口,请参阅 createVideoWriter()。 更多信息... | |
#include <opencv2/cudacodec.hpp>
由 cudacodec::VideoReader 支持的色度格式。
枚举器 | |
---|---|
单色 | |
YUV420 | |
YUV422 | |
YUV444 | |
NumFormats |
#include <opencv2/cudacodec.hpp>
cudacodec::VideoReader 和 cudacodec::VideoWriter 支持的视频编解码器。
|
强 |
#include <opencv2/cudacodec.hpp>
ColorFormat 表示通过 VideoReader::nextFrame() 和 VideoReader::retrieve() 返回的帧或者用于初始化一个 VideoWriter。
枚举器 | |
---|---|
未定义 | |
BGRA | OpenCV 颜色格式,可用于与 VideoReader 和 VideoWriter 一起使用。 |
BGR | OpenCV 颜色格式,可用于与 VideoReader 和 VideoWriter 一起使用。 |
灰色 | OpenCV 颜色格式,可用于与 VideoReader 和 VideoWriter 一起使用。 |
NV_NV12 | Nvidia 颜色格式 - 等同于 YUV - 半平面 YUV [Y面后面跟着交错 UV 面],可用于与 VideoReader 和 VideoWriter 一起使用。 |
RGB | OpenCV 颜色格式,只能与 VideoWriter 一起使用。 |
RGBA | OpenCV 颜色格式,只能与 VideoWriter 一起使用。 |
NV_YV12 | Nvidia 缓冲区格式 - 平面 YUV [Y 平面后跟 V 和 U 平面],与 VideoReader 一起使用,只能与 VideoWriter 一起使用。 |
NV_IYUV | Nvidia 缓冲区格式 - 平面 YUV [Y 平面后跟 U 和 V 平面],与 VideoReader 一起使用,只能与 VideoWriter 一起使用。 |
NV_YUV444 | Nvidia 缓冲区格式 - 平面 YUV [Y 平面后跟 U 和 V 平面],与 VideoReader 一起使用,只能与 VideoWriter 一起使用。 |
NV_AYUV | Nvidia 缓冲区格式 - 8 位打包 A8Y8U8V8。这是一个按字序的格式,其中像素由一个 32 位字表示,V 占最低 8 位,U 占下一个 8 位,Y 占之后的 8 位,A 占最高 8 位,只能与 VideoWriter 一起使用。 |
#include <opencv2/cudacodec.hpp>
解码器使用的去隔行模式。
Weave | 交织两个场(不进行去隔行)。对于逐行内容以及不需要去隔行的内容。 |
Bob | 丢弃一个场。 |
自适应 | 自适应去隔行需要比其他去隔行模式更多的视频内存。 |
枚举器 | |
---|---|
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 | 恒定质量因子模式。 |
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>
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源 - 表示最后一个原始帧(LRF)是否包含关键帧编码数据,该帧由 VideoReader::retrieve() 生成,当 VideoReader 以原始模式初始化时。 |
PROP_COLOR_FORMAT | 设置解码帧的色彩格式。这可以在每次调用 nextFrame() 和 retrieve() 之前进行更改。 |
PROP_UDP_SOURCE | |
PROP_ALLOW_FRAME_DROP |
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 | 传递给 VideoCapture 的参数。使用 FFMPEG 后端(CAP_FFMPEG)的 VideoCapture 捕获视频输入。 sourceParams 参数允许指定作为成对 (paramId_1, paramValue_1, paramId_2, paramValue_2, ...) 编码的额外参数。例如,从 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 | 帧率, | ||
const 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。 |
帧率 | 创建视频流的帧率。 |
颜色格式 | 待编码帧的OpenCv颜色格式。 |
params | 附加编码参数。 |
encoderCallback | 视频编码器的回调函数。参见cudacodec::EncoderCallback。与编码视频流一起工作时必需。 |
stream | 用于帧预处理的数据流。 |
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。 |
帧率 | 创建视频流的帧率。 |
颜色格式 | 待编码帧的OpenCv颜色格式。 |
encoderCallback | 视频编码器的回调函数。参见cudacodec::EncoderCallback。与编码视频流一起工作时必需。 |
stream | 用于帧预处理的数据流。 |
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)返回的Luma直方图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>