Jetson Linux API 参考文档

32.7.4 版本
Settings.h
跳转至此文件的文档。
1 /*
2  * 版权所有 (c) 2016-2020, NVIDIA CORPORATION。保留所有权利。
3  *
4  * 源代码和二进制形式的再分发和使用,无论是否经过修改,均被允许,前提是满足以下条件
5  * 修改,只要满足以下条件:
6  * 均被允许:
7  * * 源代码的再分发必须保留以上版权声明
8  * 声明、此条件列表以及以下免责声明。
9  * * 二进制形式的再分发必须在上述版权
10  * 声明、此条件列表以及以下免责声明包含在
11  * 文档和/或随发行版提供的其他材料中。
12  * * 未经事先明确书面许可,NVIDIA CORPORATION 的名称及其
13  * 贡献者的名称不得用于认可或推广衍生自
14  * 本软件的产品。
15  *
16  * 本软件由版权持有者“按原样”提供,且不附带任何明示或暗示的
17  * 担保,包括但不限于对
18  * 适销性和针对特定用途适用性的暗示担保。
19  * 在任何情况下,版权所有者或
20  * 贡献者均不对任何直接、间接、附带、特殊、
21  * 惩戒性或后果性损害(包括但不限于
22  * 替代商品或服务的采购;使用、数据或
23  * 利润损失;或业务中断)承担任何责任,无论因何种原因引起,也无论基于何种责任理论,
24  * 责任理论,无论是在合同、严格责任还是侵权行为中
25  * (包括疏忽或其他),以任何方式因使用本软件而产生,
26  * 即使已被告知可能发生此类损害。
27  */
28 
36 #ifndef _ARGUS_SETTINGS_H
37 #define _ARGUS_SETTINGS_H
38 
39 namespace Argus
40 {
41 
49 DEFINE_UUID(InterfaceID, IID_SOURCE_SETTINGS, eb7ae38c,3c62,4161,a92a,a6,4f,ba,c6,38,83);
50 class ISourceSettings : public Interface
51 {
52 public
53  static const InterfaceID& id() { return IID_SOURCE_SETTINGS; }
54 
65  virtual Status setExposureTimeRange(const Range<uint64_t>& exposureTimeRange) = 0;
66 
70  virtual Range<uint64_t> getExposureTimeRange() const = 0;
71 
80  virtual Status setFocusPosition(int32_t position) = 0;
81 
85  virtual int32_t getFocusPosition() const = 0;
86 
95  virtual Status setAperturePosition(int32_t position) = 0;
96 
100  virtual int32_t getAperturePosition() const = 0;
101 
110  virtual Status setApertureMotorSpeed(float speed) = 0;
111 
115  virtual float getApertureMotorSpeed() const = 0;
116 
124  virtual Status setApertureFNumber(float fnumber) = 0;
125 
129  virtual float getApertureFNumber() const = 0;
130 
140  virtual Status setFrameDurationRange(const Range<uint64_t>& frameDurationRange) = 0;
141 
145  virtual Range<uint64_t> getFrameDurationRange() const = 0;
146 
156  virtual Status setGainRange(const Range<float>& gainRange) = 0;
157 
161  virtual Range<float> getGainRange() const = 0;
162 
172  virtual Status setSensorMode(SensorMode* mode) = 0;
173 
177  virtual SensorMode* getSensorMode() const = 0;
178 
187  virtual Status setOpticalBlack(const BayerTuple<float>& opticalBlackLevels) = 0;
188 
194  virtual BayerTuple<float> getOpticalBlack() const = 0;
195 
204  virtual Status setOpticalBlackEnable(bool enable) = 0;
205 
213  virtual bool getOpticalBlackEnable() const = 0;
214 
215 
216 protected
218 };
219 
227 DEFINE_UUID(InterfaceID, IID_AUTO_CONTROL_SETTINGS, 1f2ad1c6,cb13,440b,bc95,3f,fd,0d,19,91,db);
229 {
230 public
231  static const InterfaceID& id() { return IID_AUTO_CONTROL_SETTINGS; }
232 
239  virtual Status setAeAntibandingMode(const AeAntibandingMode& mode) = 0;
240 
244  virtual AeAntibandingMode getAeAntibandingMode() const = 0;
245 
252  virtual Status setAeLock(bool lock) = 0;
253 
257  virtual bool getAeLock() const = 0;
258 
270  virtual Status setAeRegions(const std::vector<AcRegion>& regions) = 0;
271 
278  virtual Status getAeRegions(std::vector<AcRegion>* regions) const = 0;
279 
287  virtual Status setBayerHistogramRegion(const Rectangle<uint32_t>& region) = 0;
288 
292  virtual Rectangle<uint32_t> getBayerHistogramRegion() const = 0;
293 
300  virtual Status setAwbLock(bool lock) = 0;
301 
305  virtual bool getAwbLock() const = 0;
306 
313  virtual Status setAwbMode(const AwbMode& mode) = 0;
314 
318  virtual AwbMode getAwbMode() const = 0;
319 
329  virtual Status setAwbRegions(const std::vector<AcRegion>& regions) = 0;
330 
337  virtual Status getAwbRegions(std::vector<AcRegion>* regions) const = 0;
338 
348  virtual Status setAfRegions(const std::vector<AcRegion>& regions) = 0;
349 
356  virtual Status getAfRegions(std::vector<AcRegion>* regions) const = 0;
357 
364  virtual Status setWbGains(const BayerTuple<float>& gains) = 0;
365 
371  virtual BayerTuple<float> getWbGains() const = 0;
372 
377 
390  virtual Status setColorCorrectionMatrix(const std::vector<float>& matrix) = 0;
391 
398  virtual Status getColorCorrectionMatrix(std::vector<float>* matrix) const = 0;
399 
407  virtual Status setColorCorrectionMatrixEnable(bool enable) = 0;
408 
412  virtual bool getColorCorrectionMatrixEnable() const = 0;
413 
425  virtual Status setColorSaturation(float saturation) = 0;
426 
430  virtual float getColorSaturation() const = 0;
431 
439  virtual Status setColorSaturationEnable(bool enable) = 0;
440 
444  virtual bool getColorSaturationEnable() const = 0;
445 
460  virtual Status setColorSaturationBias(float bias) = 0;
461 
465  virtual float getColorSaturationBias() const = 0;
466 
474  virtual Status setExposureCompensation(float ev) = 0;
475 
479  virtual float getExposureCompensation() const = 0;
480 
485  virtual uint32_t getToneMapCurveSize(RGBChannel channel) const = 0;
486 
497  virtual Status setToneMapCurve(RGBChannel channel, const std::vector<float>& curve) = 0;
498 
507  virtual Status getToneMapCurve(RGBChannel channel, std::vector<float>* curve) const = 0;
508 
515  virtual Status setToneMapCurveEnable(bool enable) = 0;
516 
520  virtual bool getToneMapCurveEnable() const = 0;
521 
528  virtual Status setIspDigitalGainRange(const Range<float>& gain) = 0;
529 
535  virtual Range<float> getIspDigitalGainRange() const = 0;
536 
537 protected
539 };
540 
548 DEFINE_UUID(InterfaceID, IID_STREAM_SETTINGS, c477aeaf,9cc8,4467,a834,c7,07,d7,b6,9f,a4);
550 {
551 public
552  static const InterfaceID& id() { return IID_STREAM_SETTINGS; }
553 
562  virtual Status setSourceClipRect(const Rectangle<float>& clipRect) = 0;
563 
567  virtual Rectangle<float> getSourceClipRect() const = 0;
568 
578  virtual void setPostProcessingEnable(bool enable) = 0;
579 
583  virtual bool getPostProcessingEnable() const = 0;
584 
585 protected
587 };
588 
596 DEFINE_UUID(InterfaceID, IID_DENOISE_SETTINGS, 7A461D20,6AE1,11E6,BDF4,08,00,20,0C,9A,66);
598 {
599 public
600  static const InterfaceID& id() { return IID_DENOISE_SETTINGS; }
601 
612  virtual Status setDenoiseMode(const DenoiseMode& mode) = 0;
613 
617  virtual DenoiseMode getDenoiseMode() const = 0;
618 
628  virtual Status setDenoiseStrength(float strength) = 0;
629 
633  virtual float getDenoiseStrength() const = 0;
634 
635 protected
637 };
638 
646 DEFINE_UUID(InterfaceID, IID_EDGE_ENHANCE_SETTINGS, 7A461D21,6AE1,11E6,BDF4,08,00,20,0C,9A,66);
648 {
649 public
650  static const InterfaceID& id() { return IID_EDGE_ENHANCE_SETTINGS; }
651 
662  virtual Status setEdgeEnhanceMode(const EdgeEnhanceMode& mode) = 0;
663 
667  virtual EdgeEnhanceMode getEdgeEnhanceMode() const = 0;
668 
678  virtual Status setEdgeEnhanceStrength(float strength) = 0;
679 
683  virtual float getEdgeEnhanceStrength() const = 0;
684 
685 protected
687 };
688 
689 } // namespace Argus
690 
691 #endif // _ARGUS_SETTINGS_H
Argus::IStreamSettings::getPostProcessingEnable
virtual bool getPostProcessingEnable() const =0
返回流的后处理启用状态。
Argus::ISourceSettings::getOpticalBlack
virtual BayerTuple< float > getOpticalBlack() const =0
返回用户指定的每个拜耳相位的 opticalBlack 水平。
Argus::DEFINE_UUID
DEFINE_UUID(ExtensionName, EXT_BAYER_AVERAGE_MAP, 12c3de20, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
Argus::IAutoControlSettings::setAeRegions
virtual Status setAeRegions(const std::vector< AcRegion > &regions)=0
设置 AE 感兴趣区域。
Argus::IAutoControlSettings::getAeAntibandingMode
virtual AeAntibandingMode getAeAntibandingMode() const =0
返回 AE 防闪烁模式。
Argus::IDenoiseSettings::setDenoiseMode
virtual Status setDenoiseMode(const DenoiseMode &mode)=0
为请求设置去噪(降噪)模式。
Argus::IAutoControlSettings::setAwbMode
virtual Status setAwbMode(const AwbMode &mode)=0
设置 AWB 模式。
Argus::IEdgeEnhanceSettings::setEdgeEnhanceStrength
virtual Status setEdgeEnhanceStrength(float strength)=0
设置边缘增强操作的强度。
Argus::IAutoControlSettings::id
static const InterfaceID & id()
Definition: Settings.h:231
Argus::IAutoControlSettings::getAeRegions
virtual Status getAeRegions(std::vector< AcRegion > *regions) const =0
返回AE感兴趣区域。
Argus::IAutoControlSettings::setAeLock
virtual Status setAeLock(bool lock)=0
设置AE锁定。
Argus::ISourceSettings::getExposureTimeRange
virtual Range< uint64_t > getExposureTimeRange() const =0
返回源的曝光时间范围,以纳秒为单位。
Argus
Definition: BayerAverageMap.h:39
Argus::IAutoControlSettings::getAwbMode
virtual AwbMode getAwbMode() const =0
返回AWB模式。
Argus::IStreamSettings::getSourceClipRect
virtual Rectangle< float > getSourceClipRect() const =0
返回流的裁剪矩形。
Argus::IAutoControlSettings::getToneMapCurveSize
virtual uint32_t getToneMapCurveSize(RGBChannel channel) const =0
返回色调映射曲线所需的元素数量。
Argus::Size2D< uint32_t >
Argus::IAutoControlSettings::setExposureCompensation
virtual Status setExposureCompensation(float ev)=0
设置曝光补偿。
Argus::IEdgeEnhanceSettings::~IEdgeEnhanceSettings
~IEdgeEnhanceSettings()
Definition: Settings.h:686
Argus::IAutoControlSettings::setAfRegions
virtual Status setAfRegions(const std::vector< AcRegion > &regions)=0
设置AF感兴趣区域。
Argus::ISourceSettings::setExposureTimeRange
virtual Status setExposureTimeRange(const Range< uint64_t > &exposureTimeRange)=0
设置源的曝光时间范围,以纳秒为单位。
Argus::IAutoControlSettings::setAeAntibandingMode
virtual Status setAeAntibandingMode(const AeAntibandingMode &mode)=0
设置AE防闪烁模式。
Argus::IDenoiseSettings
Definition: Settings.h:597
Argus::ISourceSettings::getApertureFNumber
virtual float getApertureFNumber() const =0
返回光圈f值。
Argus::ISourceSettings::setOpticalBlack
virtual Status setOpticalBlack(const BayerTuple< float > &opticalBlackLevels)=0
设置用户指定的光学黑电平。
Argus::ISourceSettings::setApertureMotorSpeed
virtual Status setApertureMotorSpeed(float speed)=0
设置光圈电机速度,单位为电机步数/秒。
Argus::Interface
顶层接口类。
Definition: Types.h:346
Argus::ISourceSettings::setApertureFNumber
virtual Status setApertureFNumber(float fnumber)=0
设置光圈f值。
Argus::IDenoiseSettings::id
static const InterfaceID & id()
Definition: Settings.h:600
Argus::ISourceSettings::id
static const InterfaceID & id()
Definition: Settings.h:53
Argus::IAutoControlSettings::getAwbLock
virtual bool getAwbLock() const =0
返回AWB锁定。
Argus::IAutoControlSettings::setColorSaturationBias
virtual Status setColorSaturationBias(float bias)=0
设置颜色饱和度偏差。
Argus::Range
Range 模板类。
Definition: Types.h:798
Argus::IAutoControlSettings::getExposureCompensation
virtual float getExposureCompensation() const =0
返回曝光补偿。
Argus::Rectangle< uint32_t >
Argus::IStreamSettings::setPostProcessingEnable
virtual void setPostProcessingEnable(bool enable)=0
设置是否为此流启用后处理。
Argus::InterfaceID
libargus 接口的唯一标识符。
Definition: Types.h:356
Argus::IStreamSettings::setSourceClipRect
virtual Status setSourceClipRect(const Rectangle< float > &clipRect)=0
设置流的裁剪矩形。
Argus::IAutoControlSettings::setAwbLock
virtual Status setAwbLock(bool lock)=0
设置AWB锁定。
Argus::ISourceSettings::getApertureMotorSpeed
virtual float getApertureMotorSpeed() const =0
返回光圈电机速度,单位为电机步数/秒。
Argus::IAutoControlSettings::getAfRegions
virtual Status getAfRegions(std::vector< AcRegion > *regions) const =0
返回AF感兴趣区域。
Argus::ISourceSettings::getSensorMode
virtual SensorMode * getSensorMode() const =0
返回传感器模式。
Argus::IAutoControlSettings::setAwbRegions
virtual Status setAwbRegions(const std::vector< AcRegion > &regions)=0
设置AWB感兴趣区域。
Argus::IAutoControlSettings::getColorCorrectionMatrix
virtual Status getColorCorrectionMatrix(std::vector< float > *matrix) const =0
返回用户指定的颜色校正矩阵。
Argus::IAutoControlSettings::setColorCorrectionMatrix
virtual Status setColorCorrectionMatrix(const std::vector< float > &matrix)=0
设置用户指定的颜色校正矩阵。
Argus::IEdgeEnhanceSettings::getEdgeEnhanceMode
virtual EdgeEnhanceMode getEdgeEnhanceMode() const =0
返回请求的边缘增强模式。
Argus::IAutoControlSettings::getToneMapCurveEnable
virtual bool getToneMapCurveEnable() const =0
返回用户指定的色调映射的启用状态。
Argus::ISourceSettings::setFrameDurationRange
virtual Status setFrameDurationRange(const Range< uint64_t > &frameDurationRange)=0
设置帧持续时间范围,以纳秒为单位。
Argus::IAutoControlSettings::~IAutoControlSettings
~IAutoControlSettings()
Definition: Settings.h:538
Argus::IStreamSettings
Definition: Settings.h:549
Argus::IAutoControlSettings::getColorSaturationEnable
virtual bool getColorSaturationEnable() const =0
返回用户指定的颜色饱和度的启用状态。
Argus::IAutoControlSettings::getAwbRegions
virtual Status getAwbRegions(std::vector< AcRegion > *regions) const =0
返回AWB感兴趣区域。
Argus::IDenoiseSettings::getDenoiseMode
virtual DenoiseMode getDenoiseMode() const =0
返回请求的去噪模式。
Argus::IAutoControlSettings::getColorSaturationBias
virtual float getColorSaturationBias() const =0
返回颜色饱和度偏差。
Argus::IAutoControlSettings::getColorSaturation
virtual float getColorSaturation() const =0
返回用户指定的绝对颜色饱和度。
Argus::BayerTuple
BayerTuple 模板类。
Definition: Types.h:596
Argus::IAutoControlSettings::getToneMapCurve
virtual Status getToneMapCurve(RGBChannel channel, std::vector< float > *curve) const =0
返回流上通道的用户指定色调映射曲线。
Argus::ISourceSettings::setFocusPosition
virtual Status setFocusPosition(int32_t position)=0
设置对焦位置,以对焦器单位为单位。
Argus::RGBChannel
RGB通道
RGB数据的颜色通道常量。
Definition: Types.h:158
Argus::IAutoControlSettings::getBayerHistogramRegion
virtual Rectangle< uint32_t > getBayerHistogramRegion() const =0
返回拜耳直方图感兴趣区域的矩形。
Argus::IStreamSettings::~IStreamSettings
~IStreamSettings()
Definition: Settings.h:586
Argus::IStreamSettings::id
static const InterfaceID & id()
Definition: Settings.h:552
Argus::IEdgeEnhanceSettings::setEdgeEnhanceMode
virtual Status setEdgeEnhanceMode(const EdgeEnhanceMode &mode)=0
设置请求的边缘增强模式。
Argus::ISourceSettings::getGainRange
virtual Range< float > getGainRange() const =0
返回增益范围。
Argus::IEdgeEnhanceSettings::id
static const InterfaceID & id()
Definition: Settings.h:650
Argus::IEdgeEnhanceSettings::getEdgeEnhanceStrength
virtual float getEdgeEnhanceStrength() const =0
返回边缘增强强度。
Argus::IAutoControlSettings::setColorCorrectionMatrixEnable
virtual Status setColorCorrectionMatrixEnable(bool enable)=0
启用用户指定的颜色校正矩阵。
Argus::IDenoiseSettings::getDenoiseStrength
virtual float getDenoiseStrength() const =0
返回去噪强度。
Argus::IEdgeEnhanceSettings
Definition: Settings.h:647
Argus::ISourceSettings::setSensorMode
virtual Status setSensorMode(SensorMode *mode)=0
设置传感器模式。
Argus::ISourceSettings
Definition: Settings.h:50
Argus::IAutoControlSettings::getColorCorrectionMatrixSize
virtual Size2D< uint32_t > getColorCorrectionMatrixSize() const =0
返回颜色校正矩阵的大小。
Argus::IAutoControlSettings::setWbGains
virtual Status setWbGains(const BayerTuple< float > &gains)=0
设置手动白平衡增益。
Argus::IAutoControlSettings::getColorCorrectionMatrixEnable
virtual bool getColorCorrectionMatrixEnable() const =0
返回用户指定的颜色校正矩阵的启用状态。
Argus::IAutoControlSettings::getIspDigitalGainRange
virtual Range< float > getIspDigitalGainRange() const =0
返回用户指定的ISP数字增益范围。
Argus::ISourceSettings::setGainRange
virtual Status setGainRange(const Range< float > &gainRange)=0
设置传感器的增益范围。
Argus::IAutoControlSettings
Definition: Settings.h:228
Argus::ISourceSettings::getFocusPosition
virtual int32_t getFocusPosition() const =0
返回对焦位置,以对焦器单位为单位。
Argus::IAutoControlSettings::getAeLock
virtual bool getAeLock() const =0
返回AE锁定。
Argus::IAutoControlSettings::setBayerHistogramRegion
virtual Status setBayerHistogramRegion(const Rectangle< uint32_t > &region)=0
设置拜耳直方图感兴趣区域。
Argus::IAutoControlSettings::getWbGains
virtual BayerTuple< float > getWbGains() const =0
返回手动白平衡增益。
Argus::IAutoControlSettings::setIspDigitalGainRange
virtual Status setIspDigitalGainRange(const Range< float > &gain)=0
设置用户指定的ISP数字增益范围。
Argus::ISourceSettings::getAperturePosition
virtual int32_t getAperturePosition() const =0
返回光圈位置。
Argus::IDenoiseSettings::~IDenoiseSettings
~IDenoiseSettings()
Definition: Settings.h:636
Argus::IDenoiseSettings::setDenoiseStrength
virtual Status setDenoiseStrength(float strength)=0
设置去噪操作的强度。
Argus::ISourceSettings::setAperturePosition
virtual Status setAperturePosition(int32_t position)=0
设置光圈位置。
Argus::ISourceSettings::getFrameDurationRange
virtual Range< uint64_t > getFrameDurationRange() const =0
返回帧持续时间范围,以纳秒为单位。
Argus::IAutoControlSettings::setToneMapCurveEnable
virtual Status setToneMapCurveEnable(bool enable)=0
启用用户指定的色调映射。
Argus::Status
Status
API函数调用返回的状态值。
Definition: Types.h:93
Argus::ISourceSettings::getOpticalBlackEnable
virtual bool getOpticalBlackEnable() const =0
返回是否启用了用户指定的光学黑电平。
Argus::IAutoControlSettings::setColorSaturation
virtual Status setColorSaturation(float saturation)=0
设置用户指定的绝对颜色饱和度。
Argus::IAutoControlSettings::setToneMapCurve
virtual Status setToneMapCurve(RGBChannel channel, const std::vector< float > &curve)=0
设置流上通道的用户指定色调映射曲线。
Argus::IAutoControlSettings::setColorSaturationEnable
virtual Status setColorSaturationEnable(bool enable)=0
启用用户指定的绝对颜色饱和度。
Argus::SensorMode
Definition: CameraDevice.h:210
Argus::ISourceSettings::setOpticalBlackEnable
virtual Status setOpticalBlackEnable(bool enable)=0
设置是否使用用户提供的光学黑电平。
Argus::ISourceSettings::~ISourceSettings
~ISourceSettings()
Definition: Settings.h:217
. All rights reserved.