OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::MediaFrame::View 类参考final

提供对MediaFrame底层数据的访问。更多…

#include <opencv2/gapi/media.hpp>

cv::MediaFrame::View 的协作图

公共类型

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

公共成员函数

 ~View ()
 

公共属性

Ptrs ptr
 图像平面指针数组。
 
Strides stride
 图像平面步长数组,单位为字节。
 

静态公共属性

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的获取应被视为“映射”,而销毁它则被视为“取消映射”,这与“映射/取消映射”习惯用法(适用于 OpenCL、设备内存、远程内存)相关。

当访问MediaFrame缓冲区以进行写入,并且更改了MediaFrame::View::Ptrs下的内存时,主机端和设备/远程缓冲区的数据同步不会得到保证,直到MediaFrame::View被销毁。换句话说,设备上的实际数据或远程目标中的实际数据可能仅在MediaFrame::View销毁时更新——但这取决于关联的MediaFrame::IAdapter实现。

成员类型定义文档

◆ Callback

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

◆ Ptrs

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

◆ Strides

使用 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

图像平面步长数组,单位为字节。


此类的文档是从以下文件生成的