![]() |
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()。 更多... | |
#include <opencv2/cudacodec.hpp>
VideoReader::nextFrame() 和 VideoReader::retrieve() 返回的幀的位深
| 列舉值 (Enumerator) | |
|---|---|
| EIGHT | 8 位深度。 |
| SIXTEEN | 16 位深度。 |
| UNCHANGED | 使用源位深。 |
#include <opencv2/cudacodec.hpp>
cudacodec::VideoReader 支援的色度格式。
| 列舉值 (Enumerator) | |
|---|---|
| Monochrome | |
| YUV420 | |
| YUV422 | |
| YUV444 | |
| NumFormats | |
#include <opencv2/cudacodec.hpp>
cudacodec::VideoReader 和 cudacodec::VideoWriter 支援的影片編解碼器。
#include <opencv2/cudacodec.hpp>
VideoReader::nextFrame() 和 VideoReader::retrieve() 返回的幀或用於初始化 VideoWriter 的顏色格式。
| 列舉值 (Enumerator) | |
|---|---|
| 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 解碼器輸出的 Nvidia YUV Surface 格式,請參閱 SurfaceFormat。僅限 VideoReader。 |
| NV_NV12 | Nvidia 緩衝區格式 - 半平面(Semi-Planar)YUV [Y 平面後跟交錯的 UV 平面]。僅限 VideoWriter。
|
| 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。 |
|
strong |
#include <opencv2/cudacodec.hpp>
VideoReader 源的影片訊號描述顏色原色(H265 規範檔案第 E.2.1 節 VUI 引數語義)。
#include <opencv2/cudacodec.hpp>
解碼器使用的去隔行模式。
| 列舉值 (Enumerator) | |
|---|---|
| Weave | 編織(Weave)兩個場(不進行去隔行處理)。用於逐行掃描內容和不需要去隔行的內容。 |
| Bob | 丟棄一個場(Bob)。 |
| Adaptive | 自適應(Adaptive)去隔行,比其他去隔行模式需要更多的視訊記憶體。 |
#include <opencv2/cudacodec.hpp>
多通行編碼。
| 列舉值 (Enumerator) | |
|---|---|
| ENC_MULTI_PASS_DISABLED | 單次通行(Single Pass)。 |
| ENC_TWO_PASS_QUARTER_RESOLUTION | 啟用兩次通行編碼,其中第一次通行是四分之一解析度。 |
| ENC_TWO_PASS_FULL_RESOLUTION | 啟用兩次通行編碼,其中第一次通行是全解析度。 |
#include <opencv2/cudacodec.hpp>
位元速率控制模式。
| 列舉值 (Enumerator) | |
|---|---|
| ENC_PARAMS_RC_CONSTQP | 固定 QP 模式。 |
| ENC_PARAMS_RC_VBR | 可變位元速率(VBR)模式。 |
| ENC_PARAMS_RC_CBR | 固定位元速率(CBR)模式。 |
#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 | |
#include <opencv2/cudacodec.hpp>
支援的編碼器配置檔案(Profile)。
#include <opencv2/cudacodec.hpp>
微調資訊。
#include <opencv2/cudacodec.hpp>
解碼器輸出的影片 Surface 格式。
|
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 | |
| PROP_BIT_DEPTH | 解碼幀的位深度。可在每次呼叫 nextFrame() 和 retrieve() 之前更改。 |
| PROP_PLANAR | 為 true 時為平面格式(planar),為 false 時為打包格式(packed)。可在每次呼叫 nextFrame() 和 retrieve() 之前更改。 |
| Ptr< NVSurfaceToColorConverter > cv::cudacodec::createNVSurfaceToColorConverter | ( | const ColorSpaceStandard | colorSpace, |
| const bool | videoFullRangeFlag = false ) |
#include <opencv2/cudacodec.hpp>
建立一個 NVSurfaceToColorConverter。
| colorSpace | 轉換器請求的 ColorSpaceStandard。 |
| videoFullRangeFlag | 指示源的黑電平、亮度和色度是使用全範圍還是有限範圍(也稱為 TV 或“模擬”範圍)的值表示,這些值在 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 | VideoCapture 的透傳引數。使用帶有 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 得到的在主機端(Host)的直方圖。 |
| bool cv::cudacodec::operator== | ( | const EncoderParams & | lhs, |
| const EncoderParams & | rhs ) |
#include <opencv2/cudacodec.hpp>