OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
视频编码/解码

详细说明

结构体  cv::cudacodec::EncodeQp
 
类  cv::cudacodec::EncoderCallback
 编码器回调接口。 更多...
 
结构体  cv::cudacodec::EncoderParams
 CUDA 视频编码器的各种参数。 更多...
 
结构体  cv::cudacodec::FormatInfo
 提供视频文件格式信息的结构体。 : 更多...
 
类  cv::cudacodec::NVSurfaceToColorConverter
 当输出颜色格式设置为 ColorFormat::NV_YUV_SURFACE_FORMAT (VideoReader::set(ColorFormat::NV_YUV_SURFACE_FORMAT)) 时,该类用于将来自 VideoReader 的原始 YUV Surface 输出转换为请求的 ColorFormat更多...
 
类  cv::cudacodec::RawVideoSource
 视频解复用(demultiplexing)接口。 : 更多...
 
类  cv::cudacodec::VideoReader
 视频读取器接口,请参阅 createVideoReader()更多...
 
结构体  cv::cudacodec::VideoReaderInitParams
 VideoReader 初始化参数。 更多...
 
类  cv::cudacodec::VideoWriter
 视频写入器接口,请参阅 createVideoWriter()更多...
 

枚举

enum  cv::cudacodec::BitDepth {
  cv::cudacodec::EIGHT = 0 ,
  cv::cudacodec::SIXTEEN = 1 ,
  cv::cudacodec::UNCHANGED = 2
}
 VideoReader::nextFrame() 和 VideoReader::retrieve() 返回的帧的位深
更多...
 
enum  cv::cudacodec::ChromaFormat {
  cv::cudacodec::Monochrome = 0 ,
  cv::cudacodec::YUV420 ,
  cv::cudacodec::YUV422 ,
  cv::cudacodec::YUV444 ,
  cv::cudacodec::NumFormats
}
 cudacodec::VideoReader 支持的色度格式。 更多...
 
enum  cv::cudacodec::Codec {
  cv::cudacodec::MPEG1 = 0 ,
  cv::cudacodec::MPEG2 ,
  cv::cudacodec::MPEG4 ,
  cv::cudacodec::VC1 ,
  cv::cudacodec::H264 ,
  cv::cudacodec::JPEG ,
  cv::cudacodec::H264_SVC ,
  cv::cudacodec::H264_MVC ,
  cv::cudacodec::HEVC ,
  cv::cudacodec::VP8 ,
  cv::cudacodec::VP9 ,
  cv::cudacodec::AV1 ,
  cv::cudacodec::NumCodecs ,
  cv::cudacodec::Uncompressed_YUV420 = (('I' << 24) | ('Y' << 16) | ('U' << 8) | ('V')) ,
  cv::cudacodec::Uncompressed_YV12 = (('Y' << 24) | ('V' << 16) | ('1' << 8) | ('2')) ,
  cv::cudacodec::Uncompressed_NV12 = (('N' << 24) | ('V' << 16) | ('1' << 8) | ('2')) ,
  cv::cudacodec::Uncompressed_YUYV = (('Y' << 24) | ('U' << 16) | ('Y' << 8) | ('V')) ,
  cv::cudacodec::Uncompressed_UYVY = (('U' << 24) | ('Y' << 16) | ('V' << 8) | ('Y'))
}
 cudacodec::VideoReader 和 cudacodec::VideoWriter 支持的视频编解码器。 更多...
 
enum  cv::cudacodec::ColorFormat {
  cv::cudacodec::UNDEFINED = 0 ,
  cv::cudacodec::BGRA = 1 ,
  cv::cudacodec::BGR = 2 ,
  cv::cudacodec::GRAY = 3 ,
  cv::cudacodec::RGB = 5 ,
  cv::cudacodec::RGBA = 6 ,
  cv::cudacodec::NV_YUV_SURFACE_FORMAT = 7 ,
  cv::cudacodec::NV_NV12 = 4 ,
  cv::cudacodec::NV_YV12 = 8 ,
  cv::cudacodec::NV_IYUV = 9 ,
  cv::cudacodec::NV_YUV444 = 10 ,
  cv::cudacodec::NV_AYUV = 11 ,
  cv::cudacodec::NV_YUV420_10BIT = 12 ,
  cv::cudacodec::NV_YUV444_10BIT = 13
}
 VideoReader::nextFrame() 和 VideoReader::retrieve() 返回的帧或用于初始化 VideoWriter 的颜色格式。 更多...
 
enum class  cv::cudacodec::ColorSpaceStandard {
  cv::cudacodec::ColorSpaceStandard::BT709 = 1 ,
  cv::cudacodec::ColorSpaceStandard::Unspecified = 2 ,
  cv::cudacodec::ColorSpaceStandard::Reserved = 3 ,
  cv::cudacodec::ColorSpaceStandard::FCC = 4 ,
  cv::cudacodec::ColorSpaceStandard::BT470 = 5 ,
  cv::cudacodec::ColorSpaceStandard::BT601 = 6 ,
  cv::cudacodec::ColorSpaceStandard::SMPTE240M = 7 ,
  cv::cudacodec::ColorSpaceStandard::YCgCo = 8 ,
  cv::cudacodec::ColorSpaceStandard::BT2020 = 9 ,
  cv::cudacodec::ColorSpaceStandard::BT2020C = 10
}
 VideoReader 源的视频信号描述颜色原色(H265 规范文件第 E.2.1 节 VUI 参数语义)。 更多...
 
enum  cv::cudacodec::DeinterlaceMode {
  cv::cudacodec::Weave = 0 ,
  cv::cudacodec::Bob = 1 ,
  cv::cudacodec::Adaptive = 2
}
 解码器使用的去隔行模式。 更多...
 
enum  cv::cudacodec::EncodeMultiPass {
  cv::cudacodec::ENC_MULTI_PASS_DISABLED = 0x0 ,
  cv::cudacodec::ENC_TWO_PASS_QUARTER_RESOLUTION = 0x1 ,
  cv::cudacodec::ENC_TWO_PASS_FULL_RESOLUTION = 0x2
}
 多通行(Multi Pass)编码。 更多...
 
enum  cv::cudacodec::EncodeParamsRcMode {
  cv::cudacodec::ENC_PARAMS_RC_CONSTQP = 0x0 ,
  cv::cudacodec::ENC_PARAMS_RC_VBR = 0x1 ,
  cv::cudacodec::ENC_PARAMS_RC_CBR = 0x2
}
 码率控制模式。 更多...
 
enum  cv::cudacodec::EncodePreset {
  cv::cudacodec::ENC_PRESET_P1 = 1 ,
  cv::cudacodec::ENC_PRESET_P2 = 2 ,
  cv::cudacodec::ENC_PRESET_P3 = 3 ,
  cv::cudacodec::ENC_PRESET_P4 = 4 ,
  cv::cudacodec::ENC_PRESET_P5 = 5 ,
  cv::cudacodec::ENC_PRESET_P6 = 6 ,
  cv::cudacodec::ENC_PRESET_P7 = 7
}
 Nvidia 编码预设。从 P1 到 P7,性能逐渐下降,质量逐渐提高。 更多...
 
enum  cv::cudacodec::EncodeProfile {
  cv::cudacodec::ENC_CODEC_PROFILE_AUTOSELECT = 0 ,
  cv::cudacodec::ENC_H264_PROFILE_BASELINE = 1 ,
  cv::cudacodec::ENC_H264_PROFILE_MAIN = 2 ,
  cv::cudacodec::ENC_H264_PROFILE_HIGH = 3 ,
  cv::cudacodec::ENC_H264_PROFILE_HIGH_444 = 4 ,
  cv::cudacodec::ENC_H264_PROFILE_STEREO = 5 ,
  cv::cudacodec::ENC_H264_PROFILE_PROGRESSIVE_HIGH = 6 ,
  cv::cudacodec::ENC_H264_PROFILE_CONSTRAINED_HIGH = 7 ,
  cv::cudacodec::ENC_HEVC_PROFILE_MAIN = 8 ,
  cv::cudacodec::ENC_HEVC_PROFILE_MAIN10 = 9 ,
  cv::cudacodec::ENC_HEVC_PROFILE_FREXT = 10
}
 支持的编码器配置文件(Profile)。 更多...
 
enum  cv::cudacodec::EncodeTuningInfo {
  cv::cudacodec::ENC_TUNING_INFO_UNDEFINED = 0 ,
  cv::cudacodec::ENC_TUNING_INFO_HIGH_QUALITY = 1 ,
  cv::cudacodec::ENC_TUNING_INFO_LOW_LATENCY = 2 ,
  cv::cudacodec::ENC_TUNING_INFO_ULTRA_LOW_LATENCY = 3 ,
  cv::cudacodec::ENC_TUNING_INFO_LOSSLESS = 4 ,
  cv::cudacodec::ENC_TUNING_INFO_COUNT
}
 微调信息。 更多...
 
enum  cv::cudacodec::SurfaceFormat {
  cv::cudacodec::SF_NV12 = 0 ,
  cv::cudacodec::SF_P016 = 1 ,
  cv::cudacodec::SF_YUV444 = 2 ,
  cv::cudacodec::SF_YUV444_16Bit = 3
}
 解码器输出的视频 Surface 格式。 更多...
 
enum class  cv::cudacodec::VideoReaderProps {
  cv::cudacodec::VideoReaderProps::PROP_DECODED_FRAME_IDX = 0 ,
  cv::cudacodec::VideoReaderProps::PROP_EXTRA_DATA_INDEX = 1 ,
  cv::cudacodec::VideoReaderProps::PROP_RAW_PACKAGES_BASE_INDEX = 2 ,
  cv::cudacodec::VideoReaderProps::PROP_NUMBER_OF_RAW_PACKAGES_SINCE_LAST_GRAB = 3 ,
  cv::cudacodec::VideoReaderProps::PROP_RAW_MODE = 4 ,
  cv::cudacodec::VideoReaderProps::PROP_LRF_HAS_KEY_FRAME = 5 ,
  cv::cudacodec::VideoReaderProps::PROP_COLOR_FORMAT = 6 ,
  cv::cudacodec::VideoReaderProps::PROP_UDP_SOURCE = 7 ,
  cv::cudacodec::VideoReaderProps::PROP_ALLOW_FRAME_DROP = 8 ,
  cv::cudacodec::VideoReaderProps::PROP_BIT_DEPTH = 9 ,
  cv::cudacodec::VideoReaderProps::PROP_PLANAR = 10
}
 cv::cudacodec::VideoReader 通用属性标识符。 更多...
 

函数

Ptr< NVSurfaceToColorConvertercv::cudacodec::createNVSurfaceToColorConverter (const ColorSpaceStandard colorSpace, const bool videoFullRangeFlag=false)
 创建一个 NVSurfaceToColorConverter
 
Ptr< VideoReadercv::cudacodec::createVideoReader (const Ptr< RawVideoSource > &source, const VideoReaderInitParams params=VideoReaderInitParams())
 
Ptr< VideoReadercv::cudacodec::createVideoReader (const String &filename, const std::vector< int > &sourceParams={}, const VideoReaderInitParams params=VideoReaderInitParams())
 创建视频读取器。
 
Ptr< cudacodec::VideoWritercv::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())
 创建视频写入器。
 
Ptr< cudacodec::VideoWritercv::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())
 创建视频写入器。
 
void cv::cudacodec::MapHist (const cuda::GpuMat &hist, Mat &histFull)
 实用函数,演示在 FormatInfo::videoFullRangeFlag == false 时如何映射亮度直方图。
 
bool cv::cudacodec::operator== (const EncoderParams &lhs, const EncoderParams &rhs)
 

枚举类型文档 (Enumeration Type Documentation)

◆ BitDepth

#include <opencv2/cudacodec.hpp>

VideoReader::nextFrame()VideoReader::retrieve() 返回的帧的位深

枚举值 (Enumerator)
EIGHT 

8 位深度。

SIXTEEN 

16 位深度。

UNCHANGED 

使用源位深。

◆ ChromaFormat

#include <opencv2/cudacodec.hpp>

cudacodec::VideoReader 支持的色度格式。

枚举值 (Enumerator)
Monochrome 
YUV420 
YUV422 
YUV444 
NumFormats 

◆ Codec

#include <opencv2/cudacodec.hpp>

cudacodec::VideoReadercudacodec::VideoWriter 支持的视频编解码器。

注意
  • 支持情况取决于您的硬件,详情请参阅 Nvidia 视频编解码器 SDK 的视频编码和解码 GPU 支持矩阵。
枚举值 (Enumerator)
MPEG1 
MPEG2 
MPEG4 
VC1 
H264 
JPEG 
H264_SVC 
H264_MVC 
HEVC 
VP8 
VP9 
AV1 
NumCodecs 
Uncompressed_YUV420 

Y,U,V (4:2:0)

Uncompressed_YV12 

Y,V,U (4:2:0)

Uncompressed_NV12 

Y,UV (4:2:0)

Uncompressed_YUYV 

YUYV/YUY2 (4:2:2)

Uncompressed_UYVY 

UYVY (4:2:2)

◆ ColorFormat

#include <opencv2/cudacodec.hpp>

VideoReader::nextFrame()VideoReader::retrieve() 返回的帧或用于初始化 VideoWriter 的颜色格式。

枚举值 (Enumerator)
UNDEFINED 
BGRA 

OpenCV 颜色格式。VideoReaderVideoWriter 均可使用。

BGR 

OpenCV 颜色格式。VideoReaderVideoWriter 均可使用。

GRAY 

OpenCV 颜色格式。VideoReaderVideoWriter 均可使用。

RGB 

OpenCV 颜色格式。VideoReaderVideoWriter 均可使用。

RGBA 

OpenCV 颜色格式。VideoReaderVideoWriter 均可使用。

NV_YUV_SURFACE_FORMAT 

Nvidia 解码器输出的 Nvidia YUV Surface 格式,请参阅 SurfaceFormat。仅限 VideoReader

NV_NV12 

Nvidia 缓冲区格式 - 半平面(Semi-Planar)YUV [Y 平面后跟交错的 UV 平面]。仅限 VideoWriter

已弃用
不推荐在 VideoReader 中使用,请改用 NV_YUV_SURFACE_FORMAT
NV_YV12 

Nvidia 缓冲区格式 - 平面(Planar)YUV [Y 平面后跟 V 和 U 平面]。仅限 VideoWriter

NV_IYUV 

Nvidia 缓冲区格式 - 平面(Planar)YUV [Y 平面后跟 U 和 V 平面]。仅限 VideoWriter

NV_YUV444 

Nvidia 缓冲区格式 - 平面(Planar)YUV [Y 平面后跟 U 和 V 平面]。仅限 VideoWriter

NV_AYUV 

Nvidia 缓冲区格式 - 8 位打包 A8Y8U8V8。这是一种字序(word-ordered)格式,其中一个像素由一个 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

◆ ColorSpaceStandard

强类型枚举(enum class) cv::cudacodec::ColorSpaceStandard
strong

#include <opencv2/cudacodec.hpp>

VideoReader 源的视频信号描述颜色原色(H265 规范文件第 E.2.1 节 VUI 参数语义)。

枚举值 (Enumerator)
BT709 

ITU-R BT.709 高清电视标准。

Unspecified 

未指定的色彩空间标准。

Reserved 

保留供将来使用。

FCC 

FCC 色彩空间标准。

BT470 

ITU-R BT.470,用于较旧的模拟电视系统。

BT601 

ITU-R BT.601,用于标准清晰度电视。

SMPTE240M 

SMPTE 240M,用于早期的 HDTV 系统。

YCgCo 

YCgCo 色彩空间,用于某些视频压缩算法。

BT2020 

ITU-R BT.2020,用于超高清电视。

BT2020C 

ITU-R BT.2020 恒定亮度,用于超高清电视。

◆ DeinterlaceMode

#include <opencv2/cudacodec.hpp>

解码器使用的去隔行模式。

枚举值 (Enumerator)
Weave 

编织(Weave)两个场(不进行去隔行处理)。用于逐行扫描内容和不需要去隔行的内容。

Bob 

丢弃一个场(Bob)。

Adaptive 

自适应(Adaptive)去隔行,比其他去隔行模式需要更多的显存。

◆ EncodeMultiPass

#include <opencv2/cudacodec.hpp>

多通行编码。

枚举值 (Enumerator)
ENC_MULTI_PASS_DISABLED 

单次通行(Single Pass)。

ENC_TWO_PASS_QUARTER_RESOLUTION 

启用两次通行编码,其中第一次通行是四分之一分辨率。

ENC_TWO_PASS_FULL_RESOLUTION 

启用两次通行编码,其中第一次通行是全分辨率。

◆ EncodeParamsRcMode

#include <opencv2/cudacodec.hpp>

码率控制模式。

枚举值 (Enumerator)
ENC_PARAMS_RC_CONSTQP 

固定 QP 模式。

ENC_PARAMS_RC_VBR 

可变码率(VBR)模式。

ENC_PARAMS_RC_CBR 

固定码率(CBR)模式。

◆ EncodePreset

#include <opencv2/cudacodec.hpp>

Nvidia 编码预设。从 P1 到 P7,性能逐渐下降,质量逐渐提高。

枚举值 (Enumerator)
ENC_PRESET_P1 
ENC_PRESET_P2 
ENC_PRESET_P3 
ENC_PRESET_P4 
ENC_PRESET_P5 
ENC_PRESET_P6 
ENC_PRESET_P7 

◆ EncodeProfile

#include <opencv2/cudacodec.hpp>

支持的编码器配置文件(Profile)。

枚举值 (Enumerator)
ENC_CODEC_PROFILE_AUTOSELECT 
ENC_H264_PROFILE_BASELINE 
ENC_H264_PROFILE_MAIN 
ENC_H264_PROFILE_HIGH 
ENC_H264_PROFILE_HIGH_444 
ENC_H264_PROFILE_STEREO 
ENC_H264_PROFILE_PROGRESSIVE_HIGH 
ENC_H264_PROFILE_CONSTRAINED_HIGH 
ENC_HEVC_PROFILE_MAIN 
ENC_HEVC_PROFILE_MAIN10 
ENC_HEVC_PROFILE_FREXT 

◆ EncodeTuningInfo

#include <opencv2/cudacodec.hpp>

微调信息。

枚举值 (Enumerator)
ENC_TUNING_INFO_UNDEFINED 

未定义的微调信息(tuningInfo)。对于编码是无效值。

ENC_TUNING_INFO_HIGH_QUALITY 

针对容忍延迟的编码进行的微调预设。

ENC_TUNING_INFO_LOW_LATENCY 

针对低延迟流媒体进行的微调预设。

ENC_TUNING_INFO_ULTRA_LOW_LATENCY 

针对超低延迟流媒体进行的微调预设。

ENC_TUNING_INFO_LOSSLESS 

针对无损编码进行的微调预设。

ENC_TUNING_INFO_COUNT 

◆ SurfaceFormat

#include <opencv2/cudacodec.hpp>

解码器输出的视频 Surface 格式。

枚举值 (Enumerator)
SF_NV12 

半平面(Semi-Planar)YUV [Y 平面后跟交错的 UV 平面]。

SF_P016 

16 位半平面 YUV [Y 平面后跟交错的 UV 平面]。可用于 10 位(低 6 位为 0)和 12 位(低 4 位为 0)。

SF_YUV444 

平面(Planar)YUV [Y 平面后跟 U 和 V 平面]。

SF_YUV444_16Bit 

16 位平面 YUV [Y 平面后跟 U 和 V 平面]。可用于 10 位(低 6 位为 0)和 12 位(低 4 位为 0)。

◆ VideoReaderProps

强类型枚举(enum class) cv::cudacodec::VideoReaderProps
strong

#include <opencv2/cudacodec.hpp>

cv::cudacodec::VideoReader 通用属性标识符。

枚举值 (Enumerator)
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 

解码帧的颜色格式。可在每次调用 nextFrame() 和 retrieve() 之前更改。

PROP_UDP_SOURCE 

VideoReaderInitParams::udpSource 初始化的状态。

PROP_ALLOW_FRAME_DROP 

VideoReaderInitParams::allowFrameDrop 初始化的状态。

PROP_BIT_DEPTH 

解码帧的位深度。可在每次调用 nextFrame() 和 retrieve() 之前更改。

PROP_PLANAR 

为 true 时为平面格式(planar),为 false 时为打包格式(packed)。可在每次调用 nextFrame() 和 retrieve() 之前更改。

函数文档 (Function Documentation)

◆ createNVSurfaceToColorConverter()

Ptr< NVSurfaceToColorConverter > cv::cudacodec::createNVSurfaceToColorConverter ( const ColorSpaceStandard colorSpace,
const bool videoFullRangeFlag = false )

#include <opencv2/cudacodec.hpp>

创建一个 NVSurfaceToColorConverter

参数
colorSpace转换器请求的 ColorSpaceStandard
videoFullRangeFlag指示源的黑电平、亮度和色度是使用全范围还是有限范围(也称为 TV 或“模拟”范围)的值表示,这些值在 ITU-T 规范的附录 E 中定义。

◆ createVideoReader() [1/2]

Ptr< VideoReader > cv::cudacodec::createVideoReader ( const Ptr< RawVideoSource > & source,
const VideoReaderInitParams params = VideoReaderInitParams() )

#include <opencv2/cudacodec.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

参数
source由用户实现的原始(RAW)视频源。
params初始化参数。请参阅 cv::cudacodec::VideoReaderInitParams

◆ createVideoReader() [2/2]

Ptr< VideoReader > cv::cudacodec::createVideoReader ( const String & filename,
const std::vector< int > & sourceParams = {},
const VideoReaderInitParams params = VideoReaderInitParams() )

#include <opencv2/cudacodec.hpp>

创建视频读取器。

参数
filename输入视频文件的名称。
sourceParamsVideoCapture 的透传参数。使用带有 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 实现自己的解复用。

◆ createVideoWriter() [1/2]

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::H264Codec::HEVC
fps创建的视频流的帧率。
colorFormat待编码帧的 OpenCv 颜色格式。
params额外的编码参数。
encoderCallback视频编码器回调。请参阅 cudacodec::EncoderCallback。处理编码视频流时必需。
用于帧预处理的流。

◆ createVideoWriter() [2/2]

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::H264Codec::HEVC
fps创建的视频流的帧率。
colorFormat待编码帧的 OpenCv 颜色格式。
encoderCallback视频编码器回调。请参阅 cudacodec::EncoderCallback。处理编码视频流时必需。
用于帧预处理的流。

◆ MapHist()

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 得到的在主机端(Host)的直方图。
注意

◆ operator==()

bool cv::cudacodec::operator== ( const EncoderParams & lhs,
const EncoderParams & rhs )