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

提供對 MediaFrame 底層資料的訪問。更多...

#include <opencv2/gapi/media.hpp>

cv::MediaFrame::View 的協作圖

公共型別

using Callback = std::function<void()>
 
using Ptrs = std::array<void*, MAX_PLANES>
 
using Strides = std::array<std::size_t, MAX_PLANES>
 

公共成員函式

 ~View ()
 

公共屬性

Ptrs ptr
 影像平面指標陣列。
 
Strides 步長
 影像平面步長陣列,以位元組為單位。
 

靜態公共屬性

static constexpr const size_t MAX_PLANES = 4
 

詳細描述

提供對 MediaFrame 底層資料的訪問。

此物件包含訪問關聯的 MediaFrame 畫素資料所需的必要資訊:每個影像平面的指標和步長(每個平面行之間的距離,以位元組為單位)陣列,如 cv::MediaFormat 中定義。 MediaFrame 中最多可以有四個影像平面。

根據 MediaFrame::Access 標誌在 MediaFrame::access() 中傳遞,MediaFrame::View 可能是隻讀或只寫。

根據與父 MediaFrame 關聯的 MediaFrame::IAdapter 實現,使用 MediaFrame::Access::R 標誌寫入記憶體可能無效或導致未定義的行為。 對於使用 MediaFrame::Access::W 標誌讀取記憶體也是如此 – 同樣,取決於 IAdapter 實現,檢視提供的對主端緩衝區的訪問可能沒有儲存當前資料(因此可能無法就地編輯緩衝區內容)。

MediaFrame::View 物件必須小心處理,因為與 MediaFrame 關聯的外部資源可能會在 MediaFrame::View 物件存在期間被鎖定。 獲取 MediaFrame::View 應被視為 “map”,銷燬它應被視為 “unmap”,在 “map/unmap” 慣用語中(適用於 OpenCL、裝置記憶體、遠端記憶體)。

MediaFrame 緩衝區被訪問以進行寫入,並且 MediaFrame::View::Ptrs 下的記憶體被更改時,直到 MediaFrame::View 被銷燬,才能保證主機端和裝置/遠端緩衝區的資料同步。 換句話說,裝置或遠端目標上的實際資料可能僅在 MediaFrame::View 銷燬時更新 – 但這取決於關聯的 MediaFrame::IAdapter 實現。

成員 Typedef 文件

◆ Callback

using cv::MediaFrame::View::Callback = std::function<void()>

◆ Ptrs

using cv::MediaFrame::View::Ptrs = std::array<void*, MAX_PLANES>

◆ Strides

using cv::MediaFrame::View::Strides = std::array<std::size_t, MAX_PLANES>

建構函式 & 解構函式文件

◆ ~View()

cv::MediaFrame::View::~View ( )

成員資料文件

◆ MAX_PLANES

const size_t cv::MediaFrame::View::MAX_PLANES = 4
staticconstexpr

◆ ptr

Ptrs cv::MediaFrame::View::ptr

影像平面指標陣列。

◆ stride

Strides cv::MediaFrame::View::stride

影像平面步長陣列,以位元組為單位。


此類的文件由以下檔案生成