Jetson Linux API 参考文档

32.7.4 版本

详细描述

Interface 到拜耳平均图元数据的接口。

拜耳平均图为图像中均匀分布的多个小型矩形区域(称为区域)提供捕获原始像素的局部平均值。每个平均值都是一个浮点值,该值被归一化,使得 [0.0, 1.0] 映射到输出像素的完整光学范围,但只要值在平均值计算的工作范围内,平均值中可能包含此范围之外的值。对于值超出工作范围的像素,API 会将此类像素从平均值计算中排除,并增加包含区域的裁剪像素计数器。

参见
IBayerAverageMap::getWorkingRange()
IBayerAverageMap::getClipCounts()

用于计算平均值的区域的大小和布局由 Argus 实现确定,并在下图Illustrate中示出。区域大小和间隔在整个图像中是恒定的,并且定位成使得生成的平均值覆盖大部分完整图像。所有尺寸均以像素为单位给出。

start.x interval.width
_______ _________________
| | | |
_ ________________________________________________________
| | |
start.y | | |
|_ | _____ _____ _____ | _
| | | | | | | | |
| | 0,0 | | 1,0 | | 2,0 | | |
| |_____| |_____| |_____| | |
| | | interval.height
| | |
| | |
| _____ _____ _____ | _|
| | | | | | | |
| | 0,1 | | 1,1 | | 2,1 | |
| |_____| |_____| |_____| |
| |
| |
| |
| _____ _____ _____ | _
| | | | | | | | |
| | 0,2 | | 1,2 | | 2,2 | | | size.height
| |_____| |_____| |_____| | _|
| |
| |
|________________________________________________________|
|_____|
size.width

定义于文件 BayerAverageMap.h153 行。

Argus::Ext::IBayerAverageMap 的继承关系图
Argus::Ext::IBayerAverageMap 的协作关系图

公有成员函数

virtual Point2D< uint32_t > getBinStart () const =0
 返回第一个区域的起始位置,以像素为单位,该位置相对于图像的左上角。更多...
 
virtual Size2D< uint32_t > getBinSize () const =0
 返回每个区域的大小,以像素为单位。更多...
 
virtual Size2D< uint32_t > getBinCount () const =0
 返回水平(宽度)和垂直(高度)方向的区域数量。更多...
 
virtual Size2D< uint32_t > getBinInterval () const =0
 返回 x 轴和 y 轴的区域间隔。更多...
 
virtual Range< float > getWorkingRange () const =0
 返回平均值计算的工作范围。更多...
 
virtual Status getAverages (Array2D< BayerTuple< float > > *averages) const =0
 返回所有区域的平均值。更多...
 
virtual Status getClipCounts (Array2D< BayerTuple< uint32_t > > *clipCounts) const =0
 返回所有区域的裁剪像素计数。更多...
 

静态公有成员函数

static const InterfaceIDid ()
 

保护成员函数

 ~IBayerAverageMap ()
 

构造函数和析构函数文档

◆ ~IBayerAverageMap()

Argus::Ext::IBayerAverageMap::~IBayerAverageMap ( )
inlineprotected

定义于文件 BayerAverageMap.h229 行。

成员函数文档

◆ getAverages()

virtual Status Argus::Ext::IBayerAverageMap::getAverages ( Array2D< BayerTuple< float > > *  averages) const
纯虚函数

返回所有区域的平均值。

这些值被归一化,使得 [0.0, 1.0] 映射到输出的光学范围,但可能值的范围由工作范围决定。对于值超出工作范围的输入像素,API 会将此类像素从平均值计算中排除,并增加包含区域的裁剪像素计数器。

参见
IBayerAverageMap::getWorkingRange()
IBayerAverageMap::getClipCounts()
参数
[out]averages用于存储所有区域平均值的输出数组。此二维数组的大小由 IBayerAverageMap::getBinCount() 返回值确定,其中每个数组元素是一个浮点 BayerTuple,包含该区域的 R、G_EVEN、G_ODD 和 B 平均值。

◆ getBinCount()

virtual Size2D<uint32_t> Argus::Ext::IBayerAverageMap::getBinCount ( ) const
纯虚函数

返回水平(宽度)和垂直(高度)方向的区域数量。

此大小等效于 IBayerAverageMap::getAverages()IBayerAverageMap::getClipCounts() 的输出的数组维度。

◆ getBinInterval()

virtual Size2D<uint32_t> Argus::Ext::IBayerAverageMap::getBinInterval ( ) const
纯虚函数

返回 x 轴和 y 轴的区域间隔。

这些间隔定义为一个区域的第一个像素与紧邻的下一个区域的第一个像素之间的像素数。

◆ getBinSize()

virtual Size2D<uint32_t> Argus::Ext::IBayerAverageMap::getBinSize ( ) const
纯虚函数

返回每个区域的大小,以像素为单位。

◆ getBinStart()

virtual Point2D<uint32_t> Argus::Ext::IBayerAverageMap::getBinStart ( ) const
纯虚函数

返回第一个区域的起始位置,以像素为单位,该位置相对于图像的左上角。

◆ getClipCounts()

virtual Status Argus::Ext::IBayerAverageMap::getClipCounts ( Array2D< BayerTuple< uint32_t > > *  clipCounts) const
纯虚函数

返回所有区域的裁剪像素计数。

这是区域中值超出工作范围并已从平均值计算中排除的像素数。

参见
IBayerAverageMap::getWorkingRange()
参数
[out]clipCounts用于存储所有区域的裁剪计数的输出数组。此二维数组的大小由 Ext::IBayerAverageMap::getBinCount() 返回值确定,其中每个数组元素是一个 uint32_t BayerTuple,包含该区域的 R、G_EVEN、G_ODD 和 B 裁剪计数。

◆ getWorkingRange()

virtual Range<float> Argus::Ext::IBayerAverageMap::getWorkingRange ( ) const
纯虚函数

返回平均值计算的工作范围。

工作范围定义为包含在平均值计算中的值范围(例如,未裁剪),并且可能超出光学输出的归一化 [0.0, 1.0] 范围。例如,如果工作范围是 [-0.5, 1.5],这意味着 [-0.5, 0) 和 (1, 1.5] 范围内的值仍将包含在平均值计算中,尽管在输出像素中被裁剪为 [0.0, 1.0]。任何超出此工作范围的像素都将从平均值计算中排除,并将增加裁剪计数。

参见
IBayerAverageMap::getClipCounts()
注意
当可用于平均值的位深等于输出的光学位深时,工作范围将小于完整的 [0.0, 1.0] 光学范围。例如,当有 10 位数据可用时,[0u, 1023u] 范围内的原始输出像素将映射到 [0.0, 1.0];然而,为了平均值计算的目的,值 0 和 1023 将被视为裁剪,因此工作范围将是 [1/1023.0, 1022/1023.0]。

◆ id()

static const InterfaceID& Argus::Ext::IBayerAverageMap::id ( )
inlinestatic

定义于文件 BayerAverageMap.h156 行。


此类文档由以下文件生成
. All rights reserved.