提供对 MediaFrame 底层数据的访问。更多...
#include <opencv2/gapi/media.hpp>
提供对 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 实现。
◆ Callback
◆ Ptrs
◆ Strides
◆ ~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 |
此类的文档由以下文件生成