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 )