OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::MediaFrame 類參考

cv::MediaFrame 類表示從外部源獲取的影像/媒體幀。 更多...

#include <opencv2/gapi/media.hpp>

cv::MediaFrame 的協作圖

類  IAdapter
 MediaFrame 資料介面卡的介面類。 更多...
 
類  檢視
 提供對 MediaFrame 的底層資料的訪問。 更多...
 

公共型別

enum class  Access {
  R ,
  W
}
 
using AdapterPtr = std::unique_ptr<IAdapter>
 

公共成員函式

 MediaFrame ()
 構造一個空的 MediaFrame
 
 MediaFrame (AdapterPtr &&p)
 使用給定的 Adapter 構造一個 MediaFrameMediaFrame 擁有對傳遞的介面卡的所有權。
 
View access (Access mode) const
 使用給定的模式獲取對底層資料的訪問。
 
cv::GFrameDesc desc () const
 返回媒體幀描述符——有關媒體格式、尺寸等的資訊。
 
template<typename T >
T * get () const
 將關聯的 MediaFrame 介面卡轉換為特定介面卡型別 T 並返回,如果型別不同則返回 nullptr。
 
void serialize (cv::gapi::s11n::IOStream &os) const
 MediaFrame 的資料序列化為位元組陣列。
 

靜態公共成員函式

template<class T , class... Args>
static cv::MediaFrame Create (Args &&... args)
 使用給定的 Adapter 引數構造一個 MediaFrame。型別為 T 的介面卡是動態構造的。
 

詳細描述

cv::MediaFrame 類表示從外部源獲取的影像/媒體幀。

cv::MediaFrame 表示 cv::MediaFormat 中指定的影像資料。 cv::MediaFrame 旨在作為某些外部記憶體或緩衝區的瘦包裝器;該類本身提供了對此類記憶體的統一介面。 cv::MediaFrame 包裝來自攝像頭驅動程式或媒體編解碼器的資料,併為 G-API 提供此記憶體的抽象層。 MediaFrame 定義了一個緊湊的介面來訪問和管理底層資料;該實現完全由關聯的介面卡定義(通常是使用者定義的)。

另請參見
cv::RMat

成員 Typedef 文件

◆ AdapterPtr

using cv::MediaFrame::AdapterPtr = std::unique_ptr<IAdapter>

成員列舉文件

◆ Access

enum class cv::MediaFrame::Access
strong

此列舉定義了 cv::MediaFrame 提供的對底層資料的不同型別的訪問。請注意,在此版本中不能組合不同的標誌。

列舉器

用於讀取的訪問資料。

用於寫入的訪問資料。

建構函式 & 解構函式文件

◆ MediaFrame() [1/2]

cv::MediaFrame::MediaFrame ( )

構造一個空的 MediaFrame

構造的物件沒有任何關聯的資料。

◆ MediaFrame() [2/2]

cv::MediaFrame::MediaFrame ( AdapterPtr && p)
顯式

使用給定的 Adapter 構造一個 MediaFrameMediaFrame 擁有對傳遞的介面卡的所有權。

引數
p指向 IAdapter 派生類例項的唯一指標。

成員函式文件

◆ access()

View cv::MediaFrame::access ( Access mode) const

使用給定的模式獲取對底層資料的訪問。

根據關聯的介面卡和包裝的資料,此方法可能很廉價(例如,底層記憶體是本地的)或很昂貴(如果底層記憶體是外部記憶體或裝置記憶體)。

引數
mode訪問模式標誌
返回
一個 MediaFrame::View 物件。檢視應謹慎處理,有關詳細資訊,請參閱 MediaFrame::View 文件。

◆ desc()

cv::GFrameDesc cv::MediaFrame::desc ( ) const

返回媒體幀描述符——有關媒體格式、尺寸等的資訊。

返回
一個 cv::GFrameDesc

◆ get()

template<typename T >
T * cv::MediaFrame::get ( ) const
inline

將關聯的 MediaFrame 介面卡轉換為特定介面卡型別 T 並返回,如果型別不同則返回 nullptr。

如果呼叫者知道介面卡型別,並且需要對記憶體進行一些較低級別的訪問,則此方法可能很有用。根據記憶體型別,它可能比 access() 更有效。

返回
指向介面卡物件的指標,如果介面卡型別不同,則為 nullptr。

◆ serialize()

void cv::MediaFrame::serialize ( cv::gapi::s11n::IOStream & os) const

MediaFrame 的資料序列化為位元組陣列。

注意
實際邏輯由幀的介面卡類實現。預設情況下不執行任何操作。
引數
os用於儲存序列化 MediaFrame 資料的位元組流。

此類文件由以下檔案生成