OpenVX 数据对象

 OpenVX 数据对象

数据对象是由节点中的图处理的对象。

1)Object: Array

不透明的数组对象,可以是基元数据类型或结构的数组。

2)Object: Convolution

包含vx_int16值的M×N矩阵的不透明对象。还包含用于规范化的缩放因子。专门

用于vxuConvolve和vxConvolveNode。

3)Object: Delay

一个不透明的对象,包含手动控制的、临时延迟的对象列表。

4)Object: Distribution

包含频率分布(例如直方图)的不透明对象。

5)Object: Image

一个不透明的图像对象,可能是vx_df_image_e中的某种格式。

6)Object: LUT

与vxTableLookupNode和vxuTableLookup一起使用的不透明查找表对象。

7)Object: Matrix

一个不透明的对象,包含一些标量值的M×N矩阵。

8)Object: Pyramid

一个不透明的对象,包含多个级别的缩放vx_image对象。

9)Object: Remap

一个不透明对象,包含用于变换图像的源点到目标点的映射。

10)Object: Scalar

包含单个基元数据类型的不透明对象。

11)Object: Threshold

包含阈值设置的不透明对象。

12)Object: ObjectArray

一个不透明的数组对象,可以是OpenVX的任何数据对象(非数据类型)的数组,

Delay和ObjectArray对象除外。

13)Object: Tensor

不透明的多维数据对象。用于vxHOGFeaturesNode、vxHOGCellsNode和神经网络

扩展等功能。

2.2.7错误对象

错误对象是可能从其他对象返回的专用对象,当发生严重的平台问题(即内存不足或无法控制)。可能从其他对象创建者函数返回的专用对象。这些可以在创建这些对象时进行检查,但检查也可能延迟到其他API中使用或验证,实现必须返回适当的错误,以指示使用了无效的对象类型。

vx_<object> obj = vxCreate<Object>(context, ...);

vx_status status = vxGetStatus((vx_reference)obj);

if (status == VX_SUCCESS) {

    // 目标是好的

}

图形概念

图形是 OpenVX 的核心计算概念。使用图形来表示计算机视觉问题,目的是允许任何实现的可能性,以最大限度地优化其潜力,因为图及其依赖项的所有操作,都是在处理图形前预先知道。

图形由添加到图形中的一个或多个节点组成并创建功能。OpenVX中的图形必须在处理时间前创建与实现后,需要多次处理。

1. 链接节点

图节点通过数据依赖关系链接在一起,没有明确的顺序。同一引用可以链接到其他节点。然而,链接有一个局限性,即图中只有一个节点可以输出到任何特定的数据对象引用。也就是说,在给定的图中可能只存在一个对象的单个写入器。这可以防止数据依赖项的不确定排序。图形中的所有编写器,都应在数据的任何读取器访问前,生成输出数据。

2.虚拟数据对象

OpenVX中的图形依赖于数据对象,并将节点链接在一起。当OpenVX的客户端知道不需要访问这些中间数据对象时,可能会被创建为虚拟的。虚拟数据对象可以以与非虚拟数据对象相同的方式,将图的节点链接在一起;然而,虚拟数据对象在以下方面不同。

1)不可访问

如果从Graph外部角度引用,通过虚拟函数创建对象,则不应成功调用映射/取消映射或复制API。从与虚拟对象属于同一图形的客户端定义节点中,可成功调用映射/取消映射或复制API,因为它们是图形内部的。

2)范围界定

虚拟数据对象的范围在创建它们的Graph中,不能在其范围之外共享。虚拟数据对象的数据内容的活动范围,仅限于单个图形执行。换言之,虚拟对象的数据内容是在图形执行前定义的,并且不应期望虚拟对象的任何数据,在应用程序的连续图形执行中被保留。

3)中间操作

虚拟数据对象应仅用于图形中的中间操作,因为API的客户端根本无法访问它们。

4)无标注或无格式

创建虚拟数据对象的标注和格式时,可能部分或完全未定义。例如,可以创建未定义或部分定义的维度(0x0、Nx0或0xN,其中N不为空)和/或不具有定义的格式(VX_DF_image_VIRT)的虚拟图像。虚拟对象在创建时的未定义属性是关于图定义的实现,并且在图验证时是可变的;将在每次图形验证时自动调整,从输出虚拟对象的节点推导出来。在虚拟对象创建时,定义良好的维度和格式属性是不可变的,并且不能在图形验证时自动调整。

5)属性

即使给定的虚拟数据对象没有完全定义维度或格式,这些属性仍可能被查询。如果在对象参与图形验证前进行查询,则返回的属性值是用户提供的值(例如,维度的0)。如果在图形验证(或重新验证)后查询,返回的属性值将是图形验证规则确定的值。

虚拟数据的无量纲或无格式是一种允许创建与维度,或格式相关的通用图形的商品,但有一些限制:

(1)当无法从虚拟输出对象的其他参数推导出虚拟输出对象时,节点可能需要为其定义大小和/或格式。例如,缩放节点要求输出图像具有定义良好的大小,而颜色转换和通道组合节点,则要求输出图像采用定义良好的格式。

(2)从ROI创建的图像必须始终定义良好(vx_rectangle_t参数),并且不能从无量纲虚拟图像创建。

(3)无格式虚拟图像的ROI不应该是节点输出。

(4)从视觉创建的张量必须始终定义良好,不能从无量纲虚拟张量创建。

(5)无格式虚拟张量的视图不应该是节点输出。

(6)无量纲或无格式虚拟金字塔的级别不应该是节点输出。

6)继承

子对象从其父对象的虚拟属性继承。子对象也继承自其父对象的无标注或无格式特性,但有以下限制。

当调整父属性(父属性是节点的输出)时,它会在图形验证时自动调整。

当子对象本身是节点的输出时,它不能在图验证中进行调整。

7)优化

在Graph验证和执行过程中,不必创建虚拟数据对象,因此虚拟数据对象的大小可能为零。

这些限制使供应商能够优化数据对象或其使用的某些方面。一些供应商可能不分配这样的对象,一些供应商可能创建对象的中间子对象,还有一些供应商可能在远程、不可访问的内存上分配对象。OpenVX并没有禁止供应商进行哪种优化,只是它可能会发生。

对于使用未定义或部分定义的大小和/或未定义格式(VX_DF_IMAGE_VIRT)创建的虚拟图像,在图形验证期间,图像大小和格式将从节点输入图像继承。

虚拟图像验证,视觉功能、输出图像大小与格式,见表2-1。

表2-1 虚拟图像验证,视觉功能、输出图像大小与格式

视觉功能

输出图像大小

输出图像格式

AbsDiff

与输入图像相同

 

Add

与输入图像相同

 

And

与输入图像相同

与输入图像相同

BilateralFilter

 

 

Box3x3

与输入图像相同

 

CannyEdgeDetector

与输入图像相同

 

ChannelCombine

与输入图像相同

 

ChannelExtract

与输入图像相同

 

ColorConvert

与输入图像相同

 

ConvertDepth

与输入图像相同

 

Convolve

与输入图像相同

 

Copy (image object)

与输入图像相同

与输入图像相同

Dilate3x3

与输入图像相同

与输入图像相同

EqualizeHist

与输入图像相同

 

Erode3x3

与输入图像相同

与输入图像相同

FastCorners

 

 

Gaussian3x3

与输入图像相同

 

GaussianPyramid

 

 

HarrisCorners

 

 

HalfScaleGaussian

 

与输入图像相同

HarrisCorners

 

 

HOGCells

 

 

HOGFeatures

 

 

HoughLinesP

 

 

IntegralImage

与输入图像相同

 

LaplacianPyramid

 

与输入图像相同

LaplacianReconstruct

 

与输入图像相同

LBP

与输入图像相同

 

Magnitude

与输入图像相同

 

MatchTemplate

 

 

MeanStdDev

 

 

Median3x3

与输入图像相同

与输入图像相同

Max

与输入图像相同

与输入图像相同

Min

与输入图像相同

与输入图像相同

MinMaxLoc

 

 

Multiply

与输入图像相同

 

NonLinearFilter

与输入图像相同

与输入图像相同

NonMaxSuppression

与输入图像相同

与输入图像相同

Not

与输入图像相同

与输入图像相同

OpticalFlowPyrLK

 

 

Or

与输入图像相同

与输入图像相同

Phase

与输入图像相同

 

Remap

与重新映射目标相同

 

ScaleImage

 

与输入图像相同

Sobel3x3

与输入图像相同

 

Subtract

与输入图像相同

 

TableLookup

与输入图像相同

 

TensorMultiply

 

 

TensorAdd

 

 

TensorSubtract

 

 

TensorMatrixMultiply

 

 

TensorTableLookup

 

 

TensorTranspose

 

 

Threshold

与输入图像相同

 

WarpAffine

 

与输入图像相同

WarpPerspective

 

与输入图像相同

WeightedAverage

与输入图像相同

 

Xor

与输入图像相同

与输入图像相同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/865167.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenVX设计概述

OpenVX设计概述 软件环境 OpenVX旨在直接由应用程序使用,或作为更高级别视觉框架、引擎或平台API的加速层,如图 2-1所示。图 2-1. OpenVX 软件使用概述设计目标 OpenVX被设计为标准化计算机视觉功能的框架,能够在各种平台上运行,并可能通过供应商在该平台上的实施来加速。O…

推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》4本书

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

Diffusion

所以我可以理解成这里其实是计算一条轨迹每个点都要用来预测噪声?是的,你的理解是正确的。 在这个公式中: \( \min_\theta \mathcal{L}(\theta) = \min_\theta \mathbb{E}_{c,t,x_0 \sim q(x), \epsilon \sim \mathcal{N}(0, I)} \| \epsilon - \epsilon_\theta (x_t, t, c)…

Android AMS学习笔记

Android AMS学习笔记AMSActivity管理模块、Service管理模块、BroadcastReceiver管理模块、ContentProvider管理模块、进程管理模块、App错误管理模块、App性能分析模块 App端框架上图先简单介绍下App端框架的运行过程:凡是从ActivityManagerService过来的数据,都需要经过Appl…

Android:PMS学习笔记

Android:PMS学习笔记概述:https://mp.weixin.qq.com/s/i6LlSf8kHOBOk5iKoVVoxA 概述包含哪些部分:权限管理模块负责apk权限相关的事情,比如请求某个权限,apk权限状态存储,收集所有apk声明的权限 共享库模块负责apk使用到的所有共享库 记录存储模块会把apk相关的很多信息记…

Android 权限管理系统学习笔记

权限管理系统(PackageManagerService) 权限管理系统所做的事情大体可以分为管理声明的权限、管理App使用的权限、权限的授予/撤销、资源使用记录这四类。权限管理系统大体分为权限控制器App、管理类、服务类三大模块权限控制器App它的“英文名”是PermissionController,它是…

【安全工具+蜜罐】企业安全建设之蜜罐搭建与使用

一、基本介绍 HFish是一款基于Golang开发的跨平台多功能主动诱导型开源国产蜜罐框架系统,它从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力,目前HF…

全局变量(PHP)

引子:从本章开始,正式进入Web开发篇,当然文章所写内容并非如何从零开始成为一名合格的开发者,而是站在安全的角度学开发。再说白点,就是开发者在开发业务系统时,哪处容易出现安全问题就学哪处。本章则从PHP基础之全局变量开始。免责声明:本文章仅用于交流学习,因文章内…

.NET 响应式编程 System.Reactive 系列文章(一):基础概念

在.NET中,响应式编程的核心库是System.Reactive,通常简称为Rx。本篇文章将介绍响应式编程的基础概念以及System.Reactive的核心组件,为后续深入学习奠定基础。.NET 响应式编程 System.Reactive 系列文章(一):基础概念 引言 在现代软件开发中,处理异步事件和数据流已经成…

【神兵利器】绕过EDR防病毒软件

免责声明 仅限用于技术研究和获得正式授权的攻防项目,请使用者遵守《中华人民共和国网络安全法》,切勿用于任何非法活动,若将工具做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律连带责任项目介绍 项目演示了使用Windows API函数(例如:VirtualAllo…

RAG项目推荐:bRAG-langchain-构建自己的 RAG 应用程序所需了解的一切

检索增强生成 (RAG) 项目项目链接:https://github.com/bRAGAI/bRAG-langchain/tree/mainbRAGAI 的官方平台即将上线。加入等待列表,成为早期使用者之一! 本仓库包含了对检索增强生成 (RAG) 在各种应用中的全面探索。 每个笔记本都提供了从入门级到高级实现的详细实践指南,包…

五上数学LK情况反馈203班

五上数学LK情况反馈203班 上周五进行了LK,使用答题卡,电子阅卷,答题卡放在中学部,我们只有拿着学生没有写答案的试卷讲评,需要知道具体错误的,由周老师告知学生,今天晚上有半数以上学生,周老师已经告知学生错误题目了,分数已经公布。 本次考试难度较大,带有XB的性质,…