Jetson Linux API 参考文档

32.7.4 版本
CaptureMetadata.h
前往此文件的文档。
1 /*
2  * 版权所有 (c) 2016-2021,NVIDIA CORPORATION。保留所有权利。
3  *
4  * 允许以源代码和二进制形式再分发和使用,无论是否
5  * 修改,前提是满足以下条件:
6  *
7  * * 源代码的再分发必须保留上述版权声明、
8  * 此条件列表以及以下免责声明。
9  *
10  * * 二进制形式的再分发必须在上述版权声明、
11  * 此条件列表以及以下免责声明中复制
12  * 文档和/或随分发提供的其他材料。
13  *
14  * * 未经事先书面许可,不得使用 NVIDIA CORPORATION 的名称或其
15  * 贡献者的姓名来认可或推广由此软件衍生的产品。
16  *
17  * 本软件由版权持有者“按原样”提供,并且不作任何明示或暗示的
18  * 保证,包括但不限于
19  * 对适销性和特定用途适用性的默示保证。在任何情况下,版权所有者或
20  * 贡献者均不对任何直接、间接、附带、特殊、
21  * 惩戒性或后果性损害(包括但不限于
22  * 替代商品或服务的采购;使用、数据或
23  * 利润损失;或业务中断)承担责任,无论其是如何造成的,以及基于任何责任理论
24  * 的责任,无论是合同、严格责任还是侵权
25  * (包括疏忽或其他),均不以任何方式因使用本软件而引起,
26  * 即使已被告知可能发生此类损害。
27  */
28 
36 #ifndef _ARGUS_CAPTURE_METADATA_H
37 #define _ARGUS_CAPTURE_METADATA_H
38 
39 namespace Argus
40 {
41 
49 {
50 protected
52 };
53 
61 {
62 protected
64 };
65 
76 DEFINE_UUID(InterfaceID, IID_BAYER_HISTOGRAM, 50bc4f1c,6424,beb7,baae,b0,90,c9,c3,25,9e);
77 class IBayerHistogram : public Interface
78 {
79 public
80 
81  static const InterfaceID& id() { return IID_BAYER_HISTOGRAM; }
82 
86  virtual uint32_t getBinCount() const = 0;
87 
95  virtual Status getHistogram(std::vector< BayerTuple<uint32_t> >* histogram) const = 0;
96 
97 protected
98 
100 };
101 
112 DEFINE_UUID(InterfaceID, IID_RGB_HISTOGRAM, 50bc4f1d,6424,beb7,baae,b0,90,c9,c3,25,9e);
113 class IRGBHistogram : public Interface
114 {
115 public
116 
117  static const InterfaceID& id() { return IID_RGB_HISTOGRAM; }
118 
122  virtual uint32_t getBinCount() const = 0;
123 
131  virtual Status getHistogram(std::vector< RGBTuple<uint32_t> >* histogram) const = 0;
132 
133 protected
134 
136 };
137 
145 DEFINE_UUID(InterfaceID, IID_STREAM_CAPTURE_METADATA, 61cbe0a8,0ee1,4c67,baae,02,02,1a,b8,d9,47);
147 {
148 public
149 
150  static const InterfaceID& id() { return IID_STREAM_CAPTURE_METADATA; }
151 
155  virtual Rectangle<float> getSourceClipRect() const = 0;
156 
157 protected
158 
160 };
161 
181 DEFINE_UUID(InterfaceID, IID_CAPTURE_METADATA, 5f6ac5d4,59e8,45d0,8bac,38,09,1f,f8,74,a9);
183 {
184 public
185 
186  static const InterfaceID& id() { return IID_CAPTURE_METADATA; }
187 
188  static const uint32_t NUM_COLOR_CORRECTION_ELEMENTS = 9;
189  static const uint32_t NUM_AWB_WB_ESTIMATE_ELEMENTS = 4;
190 
195  virtual uint32_t getCaptureId() const = 0;
196 
203  virtual uint32_t getClientData() const = 0;
204 
209  virtual InterfaceProvider* getStreamMetadata(const OutputStream* stream) const = 0;
210 
215  virtual const InterfaceProvider* getBayerHistogram() const = 0;
216 
221  virtual const InterfaceProvider* getRGBHistogram() const = 0;
222 
226  virtual bool getAeLocked() const = 0;
227 
235  virtual Status getAeRegions(std::vector<AcRegion>* regions) const = 0;
236 
240  virtual Rectangle<uint32_t> getBayerHistogramRegion() const = 0;
241 
245  virtual AeState getAeState() const = 0;
246 
250  virtual AeFlickerState getFlickerState() const = 0;
251 
255  virtual int32_t getAperturePosition() const = 0;
256 
260  virtual int32_t getFocuserPosition() const = 0;
261 
265  virtual uint32_t getAwbCct() const = 0;
266 
270  virtual BayerTuple<float> getAwbGains() const = 0;
271 
275  virtual AwbMode getAwbMode() const = 0;
276 
284  virtual Status getAwbRegions(std::vector<AcRegion>* regions) const = 0;
285 
293  virtual Status getAfRegions(std::vector<AcRegion>* regions) const = 0;
294 
302  virtual Status getSharpnessScore(std::vector<float>* values) const = 0;
303 
307  virtual AwbState getAwbState() const = 0;
308 
317  virtual Status getAwbWbEstimate(std::vector<float>* estimate) const = 0;
318 
322  virtual bool getColorCorrectionMatrixEnable() const = 0;
323 
333  virtual Status getColorCorrectionMatrix(std::vector<float>* ccMatrix) const = 0;
334 
338  virtual float getColorSaturation() const = 0;
339 
344  virtual uint64_t getFrameDuration() const = 0;
345 
349  virtual float getIspDigitalGain() const = 0;
350 
355  virtual uint64_t getFrameReadoutTime() const = 0;
356 
360  virtual float getSceneLux() const = 0;
361 
365  virtual float getSensorAnalogGain() const = 0;
366 
370  virtual uint64_t getSensorExposureTime() const = 0;
371 
375  virtual uint32_t getSensorSensitivity() const = 0;
376 
381  virtual uint64_t getSensorTimestamp() const = 0;
382 
386  virtual bool getToneMapCurveEnabled() const = 0;
387 
398  virtual Status getToneMapCurve(RGBChannel channel, std::vector<float>* curve) const = 0;
399 
400 protected
402 };
403 
411 DEFINE_UUID(InterfaceID, IID_DENOISE_METADATA, 7A461D23,6AE1,11E6,BDF4,08,00,20,0C,9A,66);
413 {
414 public
415  static const InterfaceID& id() { return IID_DENOISE_METADATA; }
416 
420  virtual DenoiseMode getDenoiseMode() const = 0;
421 
425  virtual float getDenoiseStrength() const = 0;
426 
427 protected
429 };
430 
438 DEFINE_UUID(InterfaceID, IID_EDGE_ENHANCE_METADATA, 7A461D24,6AE1,11E6,BDF4,08,00,20,0C,9A,66);
440 {
441 public
442  static const InterfaceID& id() { return IID_EDGE_ENHANCE_METADATA; }
443 
447  virtual EdgeEnhanceMode getEdgeEnhanceMode() const = 0;
448 
452  virtual float getEdgeEnhanceStrength() const = 0;
453 
454 protected
456 };
457 
458 } // namespace Argus
459 
460 #endif // _ARGUS_CAPTURE_METADATA_H
Argus::ICaptureMetadata::getSensorExposureTime
virtual uint64_t getSensorExposureTime() const =0
返回此捕获的传感器曝光时间(以纳秒为单位)。
Argus::IStreamCaptureMetadata::id
static const InterfaceID & id()
定义: CaptureMetadata.h:150
Argus::IRGBHistogram::getHistogram
virtual Status getHistogram(std::vector< RGBTuple< uint32_t > > *histogram) const =0
返回直方图数据。
Argus::ICaptureMetadata::NUM_AWB_WB_ESTIMATE_ELEMENTS
static const uint32_t NUM_AWB_WB_ESTIMATE_ELEMENTS
定义: CaptureMetadata.h:189
Argus::ICaptureMetadata::getStreamMetadata
virtual InterfaceProvider * getStreamMetadata(const OutputStream *stream) const =0
返回流的每个流元数据提供程序。
Argus::ICaptureMetadata::getColorCorrectionMatrix
virtual Status getColorCorrectionMatrix(std::vector< float > *ccMatrix) const =0
获取客户端提供的 3x3 颜色校正矩阵,作为 9 个值的扁平化(行优先)向量。
Argus::IDenoiseMetadata::id
static const InterfaceID & id()
定义: CaptureMetadata.h:415
Argus::ICaptureMetadata::getToneMapCurveEnabled
virtual bool getToneMapCurveEnabled() const =0
仅当用户指定的色调映射曲线用于此捕获时,才返回 true。
Argus::OutputStream
定义: Stream.h:59
Argus::IDenoiseMetadata
定义: CaptureMetadata.h:412
Argus::DEFINE_UUID
DEFINE_UUID(ExtensionName, EXT_BAYER_AVERAGE_MAP, 12c3de20, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
Argus::IEdgeEnhanceMetadata::~IEdgeEnhanceMetadata
~IEdgeEnhanceMetadata()
定义: CaptureMetadata.h:455
Argus::IBayerHistogram::getBinCount
virtual uint32_t getBinCount() const =0
返回直方图中的 bin 数量。
Argus::ICaptureMetadata::getSensorTimestamp
virtual uint64_t getSensorTimestamp() const =0
返回传感器的起始时间戳(以纳秒为单位)。
Argus::ICaptureMetadata::getFrameDuration
virtual uint64_t getFrameDuration() const =0
返回整合此捕获所需的时间(以纳秒为单位)。
Argus::IDenoiseMetadata::getDenoiseStrength
virtual float getDenoiseStrength() const =0
返回用于捕获的降噪强度。
Argus::ICaptureMetadata::getAwbCct
virtual uint32_t getAwbCct() const =0
返回 AWB 为此捕获计算的 CCT。
Argus::IRGBHistogram
定义: CaptureMetadata.h:113
Argus::ICaptureMetadata::getColorSaturation
virtual float getColorSaturation() const =0
返回用于此捕获的颜色饱和度值(包括偏置)。
Argus
定义: BayerAverageMap.h:39
Argus::CaptureMetadata
定义: CaptureMetadata.h:48
Argus::ICaptureMetadata::getFocuserPosition
virtual int32_t getFocuserPosition() const =0
返回用于此捕获的对焦器位置(以对焦器步长为单位)。
Argus::ICaptureMetadata::id
static const InterfaceID & id()
定义: CaptureMetadata.h:186
Argus::ICaptureMetadata::getSensorAnalogGain
virtual float getSensorAnalogGain() const =0
返回用于此捕获的传感器模拟增益。
Argus::IEdgeEnhanceMetadata::id
static const InterfaceID & id()
定义: CaptureMetadata.h:442
Argus::ICaptureMetadata::getSharpnessScore
virtual Status getSharpnessScore(std::vector< float > *values) const =0
获取为相应 AF 区域计算的清晰度评分值。
Argus::IBayerHistogram::id
static const InterfaceID & id()
定义: CaptureMetadata.h:81
Argus::Interface
顶层接口类。
定义: Types.h:346
Argus::ICaptureMetadata::getSceneLux
virtual float getSceneLux() const =0
返回此捕获的估计场景亮度(以勒克斯为单位)。
Argus::ICaptureMetadata::getAwbWbEstimate
virtual Status getAwbWbEstimate(std::vector< float > *estimate) const =0
获取当前的 AWB WB 估计值,作为 NUM_AWB_WB_ESTIMATE_ELEMENTS 值的向量。
Argus::IStreamCaptureMetadata
定义: CaptureMetadata.h:146
Argus::ICaptureMetadata::getAwbState
virtual AwbState getAwbState() const =0
Argus::IBayerHistogram::~IBayerHistogram
~IBayerHistogram()
定义: CaptureMetadata.h:99
Argus::IDenoiseMetadata::~IDenoiseMetadata
~IDenoiseMetadata()
定义: CaptureMetadata.h:428
Argus::Rectangle
Rectangle 模板类。
定义: Types.h:755
Argus::ICaptureMetadata::getSensorSensitivity
virtual uint32_t getSensorSensitivity() const =0
返回用于此捕获的 ISO 值。
Argus::ICaptureMetadata::getToneMapCurve
virtual Status getToneMapCurve(RGBChannel channel, std::vector< float > *curve) const =0
返回色调映射表的指定颜色通道(作为 NUM_TONE_MAP_ELEMENTS 的向量 ...
Argus::IRGBHistogram::id
static const InterfaceID & id()
定义: CaptureMetadata.h:117
Argus::ICaptureMetadata::getRGBHistogram
virtual const InterfaceProvider * getRGBHistogram() const =0
返回此捕获的 RGB 直方图。
Argus::InterfaceID
libargus 接口的唯一标识符。
定义: Types.h:356
Argus::IBayerHistogram
定义: CaptureMetadata.h:77
Argus::ICaptureMetadata::getCaptureId
virtual uint32_t getCaptureId() const =0
返回捕获 ID(从 ICaptureSession::capture() 返回的值),该 ID 生成了捕获 ...
Argus::ICaptureMetadata::getFrameReadoutTime
virtual uint64_t getFrameReadoutTime() const =0
返回此捕获的帧读出时间(以纳秒为单位),从第一行开始 ...
Argus::ICaptureMetadata::getAeRegions
virtual Status getAeRegions(std::vector< AcRegion > *regions) const =0
获取用于此捕获的 AE 感兴趣区域。
Argus::InterfaceProvider
为提供 libargus 接口的类提供的基本接口。
定义: Types.h:377
Argus::ICaptureMetadata::getAeState
virtual AeState getAeState() const =0
返回 AE 在为此捕获运行时的状态。
Argus::IDenoiseMetadata::getDenoiseMode
virtual DenoiseMode getDenoiseMode() const =0
返回用于捕获的降噪模式。
Argus::ICaptureMetadata::~ICaptureMetadata
~ICaptureMetadata()
定义: CaptureMetadata.h:401
Argus::IEdgeEnhanceMetadata::getEdgeEnhanceStrength
virtual float getEdgeEnhanceStrength() const =0
返回用于捕获的边缘增强强度。
Argus::ICaptureMetadata::getColorCorrectionMatrixEnable
virtual bool getColorCorrectionMatrixEnable() const =0
返回客户端提供的颜色校正矩阵的启用状态。
Argus::CaptureMetadata::~CaptureMetadata
~CaptureMetadata()
定义: CaptureMetadata.h:51
Argus::IEdgeEnhanceMetadata::getEdgeEnhanceMode
virtual EdgeEnhanceMode getEdgeEnhanceMode() const =0
返回用于捕获的边缘增强模式。
Argus::BayerTuple
BayerTuple 模板类。
定义: Types.h:596
Argus::IRGBHistogram::~IRGBHistogram
~IRGBHistogram()
定义: CaptureMetadata.h:135
Argus::RGBChannel
RGBChannel
RGB数据的颜色通道常量。
Definition: Types.h:158
Argus::ICaptureMetadata::getClientData
virtual uint32_t getClientData() const =0
返回用于生成此元数据的捕获请求的 clientData 值。
Argus::IStreamCaptureMetadata::~IStreamCaptureMetadata
~IStreamCaptureMetadata()
Definition: CaptureMetadata.h:159
Argus::ICaptureMetadata::getAeLocked
virtual bool getAeLocked() const =0
如果为此捕获锁定了 AE,则返回 true。
Argus::ICaptureMetadata::getAwbMode
virtual AwbMode getAwbMode() const =0
返回用于此捕获的 AWB 模式。
Argus::ICaptureMetadata::NUM_COLOR_CORRECTION_ELEMENTS
static const uint32_t NUM_COLOR_CORRECTION_ELEMENTS
Definition: CaptureMetadata.h:188
Argus::IRGBHistogram::getBinCount
virtual uint32_t getBinCount() const =0
返回直方图中的 bin 数量。
Argus::ICaptureMetadata::getAperturePosition
virtual int32_t getAperturePosition() const =0
返回光圈位置。
Argus::ICaptureMetadata::getBayerHistogram
virtual const InterfaceProvider * getBayerHistogram() const =0
返回此捕获的 Bayer 直方图。
Argus::ICaptureMetadata::getFlickerState
virtual AeFlickerState getFlickerState() const =0
返回此捕获的闪烁状态。
Argus::ICaptureMetadata::getBayerHistogramRegion
virtual Rectangle< uint32_t > getBayerHistogramRegion() const =0
返回 bayer 直方图感兴趣区域的矩形。
Argus::RGBTuple
RGBTuple 模板类。
Definition: Types.h:631
Argus::Destructable
客户端创建和拥有的 libargus 对象的顶级对象类。
Definition: Types.h:414
Argus::CaptureMetadataContainer::~CaptureMetadataContainer
~CaptureMetadataContainer()
Definition: CaptureMetadata.h:63
Argus::ICaptureMetadata::getAwbGains
virtual BayerTuple< float > getAwbGains() const =0
返回用于此捕获的 AWB 增益。
Argus::IStreamCaptureMetadata::getSourceClipRect
virtual Rectangle< float > getSourceClipRect() const =0
返回用于此流的裁剪矩形。
Argus::ICaptureMetadata::getAwbRegions
virtual Status getAwbRegions(std::vector< AcRegion > *regions) const =0
获取用于此捕获的 AWB 感兴趣区域。
Argus::IEdgeEnhanceMetadata
Definition: CaptureMetadata.h:439
Argus::Status
Status
API 函数调用返回的状态值。
Definition: Types.h:93
Argus::ICaptureMetadata::getAfRegions
virtual Status getAfRegions(std::vector< AcRegion > *regions) const =0
获取用于此捕获的 AF 感兴趣区域。
Argus::CaptureMetadataContainer
一种对象,用于保存 CaptureMetadata 实例并从消费者读取捕获元数据...
Definition: CaptureMetadata.h:60
Argus::ICaptureMetadata::getIspDigitalGain
virtual float getIspDigitalGain() const =0
返回用于此捕获的数字增益。
Argus::ICaptureMetadata
Definition: CaptureMetadata.h:182
Argus::IBayerHistogram::getHistogram
virtual Status getHistogram(std::vector< BayerTuple< uint32_t > > *histogram) const =0
返回直方图数据。
. All rights reserved.