OpenCV  4.10.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 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

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

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

◆ ptr

Ptrs cv::MediaFrame::View::ptr

图像平面指针数组。

◆ stride

Strides cv::MediaFrame::View::stride

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


该类的文档由以下文件生成