Interface 到拜耳平均图元数据的接口。
拜耳平均图为图像中均匀分布的多个小型矩形区域(称为区域)提供捕获原始像素的局部平均值。每个平均值都是一个浮点值,该值被归一化,使得 [0.0, 1.0] 映射到输出像素的完整光学范围,但只要值在平均值计算的工作范围内,平均值中可能包含此范围之外的值。对于值超出工作范围的像素,API 会将此类像素从平均值计算中排除,并增加包含区域的裁剪像素计数器。
用于计算平均值的区域的大小和布局由 Argus 实现确定,并在下图Illustrate中示出。区域大小和间隔在整个图像中是恒定的,并且定位成使得生成的平均值覆盖大部分完整图像。所有尺寸均以像素为单位给出。
定义于文件 BayerAverageMap.h 的 153 行。
公有成员函数 | |
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 InterfaceID & | id () |
保护成员函数 | |
~IBayerAverageMap () | |
|
inlineprotected |
定义于文件 BayerAverageMap.h 的 229 行。
|
纯虚函数 |
返回所有区域的平均值。
这些值被归一化,使得 [0.0, 1.0] 映射到输出的光学范围,但可能值的范围由工作范围决定。对于值超出工作范围的输入像素,API 会将此类像素从平均值计算中排除,并增加包含区域的裁剪像素计数器。
[out] | averages | 用于存储所有区域平均值的输出数组。此二维数组的大小由 IBayerAverageMap::getBinCount() 返回值确定,其中每个数组元素是一个浮点 BayerTuple,包含该区域的 R、G_EVEN、G_ODD 和 B 平均值。 |
|
纯虚函数 |
返回水平(宽度)和垂直(高度)方向的区域数量。
此大小等效于 IBayerAverageMap::getAverages() 或 IBayerAverageMap::getClipCounts() 的输出的数组维度。
|
纯虚函数 |
返回 x 轴和 y 轴的区域间隔。
这些间隔定义为一个区域的第一个像素与紧邻的下一个区域的第一个像素之间的像素数。
|
纯虚函数 |
返回每个区域的大小,以像素为单位。
|
纯虚函数 |
返回第一个区域的起始位置,以像素为单位,该位置相对于图像的左上角。
|
纯虚函数 |
返回所有区域的裁剪像素计数。
这是区域中值超出工作范围并已从平均值计算中排除的像素数。
[out] | clipCounts | 用于存储所有区域的裁剪计数的输出数组。此二维数组的大小由 Ext::IBayerAverageMap::getBinCount() 返回值确定,其中每个数组元素是一个 uint32_t BayerTuple,包含该区域的 R、G_EVEN、G_ODD 和 B 裁剪计数。 |
|
纯虚函数 |
返回平均值计算的工作范围。
工作范围定义为包含在平均值计算中的值范围(例如,未裁剪),并且可能超出光学输出的归一化 [0.0, 1.0] 范围。例如,如果工作范围是 [-0.5, 1.5],这意味着 [-0.5, 0) 和 (1, 1.5] 范围内的值仍将包含在平均值计算中,尽管在输出像素中被裁剪为 [0.0, 1.0]。任何超出此工作范围的像素都将从平均值计算中排除,并将增加裁剪计数。
|
inlinestatic |
定义于文件 BayerAverageMap.h 的 156 行。