Jetson Linux API 参考文档

32.7.4 版本
CameraDevice.h
前往此文件的文档。
1 /*
2  * 版权所有 (c) 2016-2020, NVIDIA CORPORATION。保留所有权利。
3  *
4  * 只要满足以下条件,就允许以源代码和二进制形式重新发布和使用,无论是否经过
5  * 修改:
6  *
7  * * 源代码的重新发布必须保留上述版权声明、
8  * 此条件列表以及以下免责声明。
9  *
10  * * 二进制形式的重新发布必须在随发行版提供的
11  * 文档和/或其他材料中复制上述版权声明、此条件列表以及以下免责声明。
12  *
13  * * 未经事先书面许可,不得使用 NVIDIA CORPORATION 的名称或其
14  * 贡献者的姓名来认可或推广由此软件衍生的产品。
15  *
16  * 本软件由版权持有者“按原样”提供,并且不作任何明示或暗示的担保,包括但不限于
17  * 对适销性和针对特定用途的适用性的暗示担保。
18  * 在任何情况下,版权所有者或
19  * 贡献者均不对任何直接、间接、附带、特殊、
20  * 惩戒性或后果性损害(包括但不限于
21  * 替代商品或服务的采购;使用、数据或
22  * 利润损失;或业务中断)承担责任,无论其成因和任何责任理论
23  * (包括疏忽或其他原因)因使用本软件而以任何方式引起,
24  * 即使已被告知可能发生此类损害。
25  *
26  */
27 
28 
36 #ifndef _ARGUS_CAMERA_DEVICE_H
37 #define _ARGUS_CAMERA_DEVICE_H
38 
39 namespace Argus
40 {
41 
55 {
56 protected
58 };
59 
67 DEFINE_UUID(InterfaceID, IID_CAMERA_PROPERTIES, 436d2a73,c85b,4a29,bce5,15,60,6e,35,86,91);
69 {
70 public
71  static const InterfaceID& id() { return IID_CAMERA_PROPERTIES; }
72 
79  virtual UUID getUUID() const = 0;
80 
84  virtual SensorPlacement getSensorPlacement() const = 0;
85 
92  virtual uint32_t getMaxAeRegions() const = 0;
93 
99  virtual Size2D<uint32_t> getMinAeRegionSize() const = 0;
100 
107  virtual uint32_t getMaxAwbRegions() const = 0;
108 
115  virtual uint32_t getMaxAfRegions() const = 0;
116 
125  virtual Status getBasicSensorModes(std::vector<SensorMode*>* modes) const = 0;
126 
138  virtual Status getAllSensorModes(std::vector<SensorMode*>* modes) const = 0;
139 
147  virtual Status getAperturePositions(std::vector<int32_t>* positions) const = 0;
148 
157  virtual Status getAvailableApertureFNumbers(std::vector<float>* fnumbers) const = 0;
158 
163  virtual Range<int32_t> getFocusPositionRange() const = 0;
164 
169  virtual Range<int32_t> getAperturePositionRange() const = 0;
170 
175  virtual Range<float> getApertureMotorSpeedRange() const = 0;
176 
180  virtual Range<float> getIspDigitalGainRange() const = 0;
181 
185  virtual Range<float> getExposureCompensationRange() const = 0;
186 
190  virtual const std::string& getModelName() const = 0;
191 
197  virtual const std::string& getModuleString() const = 0;
198 
199 protected
201 };
202 
211 {
212 protected
214 };
215 
223 DEFINE_UUID(InterfaceID, IID_SENSOR_MODE, e69015e0,db2a,11e5,a837,18,00,20,0c,9a,66);
224 class ISensorMode : public Interface
225 {
226 public
227  static const InterfaceID& id() { return IID_SENSOR_MODE; }
228 
232  virtual Size2D<uint32_t> getResolution() const = 0;
233 
237  virtual Range<uint64_t> getExposureTimeRange() const = 0;
238 
246  virtual Range<float> getHdrRatioRange() const = 0;
247 
251  virtual Range<uint64_t> getFrameDurationRange() const = 0;
252 
256  virtual Range<float> getAnalogGainRange() const = 0;
257 
263  virtual uint32_t getInputBitDepth() const = 0;
264 
273  virtual uint32_t getOutputBitDepth() const = 0;
274 
280  virtual SensorModeType getSensorModeType() const = 0;
281 
285  virtual BayerPhase getBayerPhase() const = 0;
286 
290  virtual bool isBufferFormatSupported(Buffer* buffer) const = 0;
291 protected
293 };
294 
295 } // namespace Argus
296 
297 #endif // _ARGUS_CAMERA_DEVICE_H
Argus::ICameraProperties::getAllSensorModes
virtual Status getAllSensorModes(std::vector< SensorMode * > *modes) const =0
返回所有可用的传感器模式,包括具有扩展模式的传感器模式。
Argus::ISensorMode::~ISensorMode
~ISensorMode()
定义: CameraDevice.h:292
Argus::ICameraProperties::getModelName
virtual const std::string & getModelName() const =0
返回设备的型号名称。
Argus::ICameraProperties::getAvailableApertureFNumbers
virtual Status getAvailableApertureFNumbers(std::vector< float > *fnumbers) const =0
返回所有可用的光圈 f 值。
Argus::ICameraProperties::id
static const InterfaceID & id()
定义: CameraDevice.h:71
Argus::DEFINE_UUID
DEFINE_UUID(ExtensionName, EXT_BAYER_AVERAGE_MAP, 12c3de20, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
Argus::ICameraProperties::getBasicSensorModes
virtual Status getBasicSensorModes(std::vector< SensorMode * > *modes) const =0
仅返回不具有关联扩展的基本可用传感器模式。
Argus::ISensorMode::getInputBitDepth
virtual uint32_t getInputBitDepth() const =0
返回当前模式下图像传感器捕获的图像的位深度。
Argus
定义: BayerAverageMap.h:39
Argus::ICameraProperties::getIspDigitalGainRange
virtual Range< float > getIspDigitalGainRange() const =0
返回 ISP 数字增益的受支持范围。
Argus::ICameraProperties::getUUID
virtual UUID getUUID() const =0
返回相机 UUID。
Argus::Size2D< uint32_t >
Argus::ISensorMode::getResolution
virtual Size2D< uint32_t > getResolution() const =0
返回图像分辨率,以像素为单位。
Argus::ICameraProperties::getMinAeRegionSize
virtual Size2D< uint32_t > getMinAeRegionSize() const =0
返回 AE 所需的最小结果区域大小。
Argus::Interface
顶层接口类。
定义: Types.h:346
Argus::ICameraProperties::~ICameraProperties
~ICameraProperties()
定义: CameraDevice.h:200
Argus::Range
Range 模板类。
定义: Types.h:798
Argus::InterfaceID
libargus 接口的唯一标识符。
定义: Types.h:356
Argus::ISensorMode::getBayerPhase
virtual BayerPhase getBayerPhase() const =0
描述 Bayer 模式的 bayer 相位。
Argus::ICameraProperties
定义: CameraDevice.h:68
Argus::ISensorMode::getOutputBitDepth
virtual uint32_t getOutputBitDepth() const =0
返回当前模式下从图像传感器返回的图像的位深度。
Argus::CameraDevice::~CameraDevice
~CameraDevice()
定义: CameraDevice.h:57
Argus::InterfaceProvider
为提供 libargus 接口的类提供的基本接口。
定义: Types.h:377
Argus::ICameraProperties::getApertureMotorSpeedRange
virtual Range< float > getApertureMotorSpeedRange() const =0
返回每秒光圈步进位置的有效范围。
Argus::UUID
通用唯一标识符。
定义: UUID.h:50
Argus::ICameraProperties::getMaxAfRegions
virtual uint32_t getMaxAfRegions() const =0
返回 AF 支持的最大感兴趣区域数。
Argus::ISensorMode::getFrameDurationRange
virtual Range< uint64_t > getFrameDurationRange() const =0
返回支持的帧持续时间范围(以纳秒为单位)。
Argus::ICameraProperties::getFocusPositionRange
virtual Range< int32_t > getFocusPositionRange() const =0
返回对焦器位置的有效范围。
Argus::SensorMode::~SensorMode
~SensorMode()
定义: CameraDevice.h:213
Argus::ISensorMode::isBufferFormatSupported
virtual bool isBufferFormatSupported(Buffer *buffer) const =0
检查相机设备是否支持提供的缓冲区。
Argus::ICameraProperties::getMaxAwbRegions
virtual uint32_t getMaxAwbRegions() const =0
返回 AWB 支持的最大感兴趣区域数。
Argus::ICameraProperties::getAperturePositions
virtual Status getAperturePositions(std::vector< int32_t > *positions) const =0
返回所有推荐的光圈位置。
Argus::ISensorMode::getSensorModeType
virtual SensorModeType getSensorModeType() const =0
描述传感器类型(Bayer、Yuv 等)以及在 t 中启用的关键操作模式...
Argus::Buffer
定义: BufferStream.h:123
Argus::ICameraProperties::getExposureCompensationRange
virtual Range< float > getExposureCompensationRange() const =0
返回曝光补偿的受支持范围。
Argus::CameraDevice
定义: CameraDevice.h:54
Argus::ICameraProperties::getModuleString
virtual const std::string & getModuleString() const =0
返回设备的模块字符串。
Argus::ICameraProperties::getMaxAeRegions
virtual uint32_t getMaxAeRegions() const =0
返回 AE 支持的最大感兴趣区域数。
Argus::ICameraProperties::getAperturePositionRange
virtual Range< int32_t > getAperturePositionRange() const =0
返回光圈位置的有效范围。
Argus::ISensorMode::id
static const InterfaceID & id()
定义: CameraDevice.h:227
Argus::ISensorMode
定义: CameraDevice.h:224
Argus::Status
状态
API 函数调用返回的状态值。
定义: Types.h:93
Argus::ISensorMode::getHdrRatioRange
virtual Range< float > getHdrRatioRange() const =0
返回 hdr 比率范围,它是长曝光与短曝光的比率。
Argus::ISensorMode::getAnalogGainRange
virtual Range< float > getAnalogGainRange() const =0
返回支持的模拟增益范围。
Argus::SensorMode
定义: CameraDevice.h:210
Argus::ICameraProperties::getSensorPlacement
virtual SensorPlacement getSensorPlacement() const =0
返回相机传感器在模块上的放置位置。
Argus::ISensorMode::getExposureTimeRange
virtual Range< uint64_t > getExposureTimeRange() const =0
返回支持的曝光时间范围(以纳秒为单位)。
. All rights reserved.