API 参考

DaoAI Camera Studio 的API参考。

Namespace

namespace DaoAI

Classes

Class Application

#include "application.h"

Public Member Functions

Constructor:
DAOAI_API Application();
Destructor:
DAOAI_API ~Application();
getCameras:

获取所有USB相机的列表。

参数:
  • 【输出】 cameras: 所有连接的DaoAI支持的相机的 map,按序列号键入。

  • 【输入】 【可选】 remote_address: 所有连接的DaoAI支持的相机的 map,按序列号键入。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError getCameras(std::map<std::string, Camera*>& cameras, std::string remote_address = "");
connectCamera:

连接到下一个可用的DaoAI相机。

参数:
  • 【输入】 camera: 要连接的相机。

  • 【输入】 【可选】 settings: 用此设置连接到相机。必须至少包含一帧。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError connectCamera(Camera*& camera, const Settings& settings = {});
connectCamera:

用序列号连接到DaoAI相机。

参数:
  • 【输入】 serial_number: 用此序列号连接到摄像机。

  • 【输出】 camera: 指向所连接的相机的指针。

  • 【输入】 【可选】 settings: 用此设置连接到相机。必须至少包含一帧。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError connectCamera(const std::string serial_number, Camera*& camera, const Settings &settings = {});
disconnectCamera:

断开指定序列号的DaoAI相机。

参数:
  • 【输入】 serial_number: 要断开连接的相机的序列号。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError disconnectCamera(const std::string serial_number);
startLogging:

启用将相机日志写到文件中

参数:
  • 【输入】 【可选】 log_path: 指定写日志的目录

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError startLogging(std::string log_path = "");
stopLogging:

禁用将相机日志写到文件中

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError stopLogging();

Class Version

#include "application.h"
namespace Version

Public Member Functions

getSDKVersion:

获得 DaoAI SDK 的版本。

返回值:
  • string: String containing DaoAI SDK version.

DAOAI_API std::string getSDKVersion();

Class Camera

#include "camera.h"

Public Member Functions

Constructor:
DAOAI_API Camera();
Copy Constructor:
DAOAI_API explicit Camera(const std::shared_ptr<Camera>& other);
Move Constructor:
DAOAI_API explicit Camera(class CameraImpl &&other);
Destructor:
DAOAI_API ~Camera();
connect:

连接相机。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError connect();
disConnect:

断开相机连接。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError disConnect();
isConnected:

检查相机是否已连接。

返回值:
  • bool: 如果相机已连接,则返回True,否则返回False。

DAOAI_API bool isConnected() const;
capture:

采集一个帧。

参数:
  • 【输出】 Frame: 采集结果将被写入此 DaoAI Frame 对象中。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError capture(Frame& frame);
capture:

用设置捕捉单帧。

参数:
  • 【输入】 settings: 采集时要使用的DaoAI设置。必须至少包含一帧。

  • 【输出】 Frame: 采集结果将被写入此 DaoAI Frame 对象中。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError capture(Settings settings, Frame& frame);
captureAssistant:

分析场景并生成采集帧设置,所有采集帧的总时间将小于时间预算。时间预算越高,产生的采集帧就越多。

参数:
  • 【输入】 time_budget: 采集帧的时间预算,范围为(0.0, 5.0] 。

  • 【输入,输出】 mofaf: AcquisitionFrame 设置的 map

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError captureAssistant(double time_budget, std::map<int, AcquisitionFrame> &mofaf);
setSettings:

用文件路径设置相机的设置。

参数:
  • 【输入】 file_path: 载入设置文件的路径。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError setSettings(std::string file_path);
setSettings:

用 Settings 对象对相机进行设置。

参数:
  • 【输入】 settings: 此相机的 Settings 对象。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError setSettings(Settings settings);
getSettings:

Get Settings for camera.

返回值:
  • Settings: 此相机使用的当前设置结构。

DAOAI_API Settings getSettings() const;
getSerialNumber:

获取相机的序列号。

返回值:
  • std::string: 此相机的序列号。

DAOAI_API std::string getSerialNumber() const;
getIntrinsicParam:

获取相机的IntrinsicParameter。

参数:
  • 【输出】 params: 包含相机内参的浮点矢量。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError getIntrinsicParam(std::vector<float>& params) const;
enableGPU:

启用或禁用本地PC上的GPU进行计算。

参数:
  • toggle【输入】: 启用或禁用。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError enableGPU(bool toggle);
enableTempRegulation:

启用或停用温度调节功能。

参数:
  • toggle【输入】: 启用或停用。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError enableTempRegulation(bool toggle);

Class Settings

#include "settings.h"

AcquisitionFrame Class

Public Members & Functions
AcquisitionFrameSetting:

采集帧设置数据结构。

enum AcquisitionFrameSetting {
         Brightness, // Int {0, 3}.
         Gain, // Double {0, 3}.
         ExposureStop // Int {-1, 4}.
      };
Constructor:

具有初始输入的构造函数,用于采集帧架设置。

参数:
  • brightness【输入】: 亮度设置。

  • gain【输入】: 增益设置。

  • exposure_stop【输入】: 曝光停止设置。

DAOAI_API AcquisitionFrame(int brightness, double gain, int exposure_stop);
Constructor:

构造函数,具有采集帧设置的默认值。

DAOAI_API AcquisitionFrame();
inquireSetting:

获取当前的采集设置值和范围。

参数:
  • AcquisitionFrameSetting【输入】: 采集框设置查询 [brightness, gain, exposure_stop].

  • curr【输出】: 该字段的当前值。

  • min【输出】: 该字段的最小值。

  • max【输出】: 该字段的最大值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSetting(AcquisitionFrameSetting setting, int& curr, int& min, int& max);
inquireSetting:

获取当前的采集设置值。

参数:
  • AcquisitionFrameSetting【输入】: 采集框设置查询 [brightness, gain, exposure_stop].

  • curr【输出】: 该字段的当前值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSetting(AcquisitionFrameSetting setting, int& curr);
inquireSetting:

获取当前的采集设置值和范围,单位为双精度浮点型(增益)。

参数:
  • AcquisitionFrameSetting【输入】: 采集框设置查询 [brightness, gain, exposure_stop].

  • curr【输出】: 该字段的当前值,双精度浮点型(用于字段增益)。

  • min【输出】: 该字段的最小值。

  • max【输出】: 该字段的最大值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSetting(AcquisitionFrameSetting setting, double& curr, double& min, double& max);
inquireSetting:

获取当前的采集设置值,单位为双精度浮点型(增益)。

参数:
  • AcquisitionFrameSetting【输入】: 采集框设置查询 [brightness, gain, exposure_stop].

  • curr【输出】: 该字段的当前值,双精度浮点型(用于字段增益)。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSetting(AcquisitionFrameSetting setting, double& curr);
configureSetting:

设置采集设置值。

参数:
  • AcquisitionFrameSetting【输入】: 采集框设置查询 [brightness, gain, exposure_stop].

  • new_val【输入】: 要分配的新数值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError configureSetting(AcquisitionFrameSetting setting, int new_val);
configureSetting:

设置双精度浮点型采集设定值(增益)。

参数:
  • AcquisitionFrameSetting【输入】: 采集框设置查询 [brightness, gain, exposure_stop].

  • new_val【输入】: 要分配给的新值(增益为双精度浮点型)。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError configureSetting(AcquisitionFrameSetting setting, double new_val);

Settings Class

Public Members & Functions
FilterSetting:

过滤器设置数据结构。

enum FilterSetting {
   IntensityThreshold, // Double {0, 3}. Enable/Disable. Get/Set.
   OutlierThreshold, // Double {0, inf}. Enable/Disable. Get/Set.
   SaturationFilter, // Bool. Enable/Disable. Get/Set.
   ContrastDistortionMode, // Int {0, 2}.         0: Off, 1: Remove Distortion, 2: Correct Distortion. Get/Set.
   ContrastDistortionStrength, // Int {0, 15000}. Get/Set.
   GaussianFilter, // Int {0, 5}. Enable/Disable. Get/Set.
   MedianFilter, // Int {0, 1}. Enable/Disable. Get/Set.
   FaceNormalFilter, // Double {0, 40}. Enable/Disable. Get/Set.
   SmoothFilter, // Int {0, 6}. Enable/Disable. Get/Set.
   FillGaps, // Bool. Enable/Disable. Get/Set.
   WidthThreshold, // Double {0, 500}. Get/Set.
   SlopeThreshold, // Double {0, inf}. Get/Set.
   DepthThreshold, // Double {0, 500}. Get/Set.
   FillXFirst, // Bool. Get/Set.
   FillBidirectional, // Bool. Get/Set.
   PhaseQualityThreshold, // Double {0, 50}. Enable/Disable. Get/Set.
   ConnectedAreaFilter, // Double {0, 10}. Enable/Disable. Get/Set.
   ShowHDR // Bool. Enable/Disable. Get/Set.
};
SystemSetting:

系统设置数据结构。

enum SystemSetting {
   CameraModel, // String. Get only.
   TemperatureSensorAvailable, // Bool. Get only.
   TemperatureRegulationEnable, // Bool. Get only.
   GPUAvailable, // Bool. Get only.
   GPUEnable, // Bool. Get only.
   Version, // String. Get only.
   ExtraWhitePatternEnable // Bool. Enable/Disable. Get/Set.
};
Constructor:
DAOAI_API Settings();
Copy Constructor:
参数:
  • other【输出】: 另一个要复制到的 setting 对象。

DAOAI_API explicit Settings(const std::shared_ptr<Settings>& other);
Destructor:
DAOAI_API ~Settings();
Constructor:

Constructor 从设置工作区加载设置。

参数:
  • file_path【输入】: The path to the workspace

DAOAI_API Settings(const std::string& file_path);
exportSettings:

输出当前的相机设置。

参数:
  • file_name【输入】: The path to save the camera settings.

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError exportSettings(const std::string& file_path);
addAcquisitionFrame:

在设置中添加一个采集帧,以便在3D采集中使用索引。

参数:
  • af【输入】: 要写入的 AcquisitionFrame 对象。

  • index【输出】: 写入该框架的索引。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError addAcquisitionFrame(AcquisitionFrame af, int& index);
addAcquisitionFrame:

在设置中添加一个采集帧,用于3D采集。

参数:
  • af【输入】: 要写入的 AcquisitionFrame 对象。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError addAcquisitionFrame(AcquisitionFrame af);
getAcquisitionFrame:

从给定的索引中获取采集帧对象。

参数:
  • af【输出】: 将被写入数据的 AcquisitionFrame 对象。

  • index【输入】: 检索帧的索引。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError getAcquisitionFrame(AcquisitionFrame& af, int index);
modifyAcquisitionFrame:

修改一个采集帧架,使其在一个给定的索引处进行设置。

参数:
  • af【输入】: 要写入的 AcquisitionFrame 对象。

  • index【输入】: AcquisitionFrame的索引,用于修改数据。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError modifyAcquisitionFrame(AcquisitionFrame af, int index);
deleteAcquisitionFrame:

在给定的索引处删除一个采集帧。

参数:
  • index【输入】: 要删除的 AcquisitionFrame 的索引。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError deleteAcquisitionFrame(int index);
setAcquisitionFrames:

将AcquisitionFrames的Map写入设置,以便在3D采集中使用。

参数:
  • mofaf【输入】: 要写的int到AcquisitionFrame对象的Map。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError setAcquisitionFrames(std::map<int, AcquisitionFrame> mofaf);
getAcquisitionFrames:

从设置中获取当前的AcquisitionFrames的Map。

参数:
  • mofaf【输出】: 当前的采集帧map被写入该map中。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError getAcquisitionFrames(std::map<int, AcquisitionFrame>& mofaf);
enableFilterSetting:

启用或禁用一个过滤器设置。

参数:
  • setting【输入】: 要切换的过滤器。

  • toggle【输入】: 启用或禁用。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError enableFilterSetting(FilterSetting setting, bool toggle);
checkEnableFilterSetting:

检查是否启用了过滤器设置。

参数:
  • setting【输入】: 要检查的过滤器。

  • is_enabled【输出】: 启用状态写入此。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError checkEnableFilterSetting(FilterSetting setting, bool& is_enabled);
inquireFilterSetting:

获取一个过滤器设置的当前值和有效范围。

参数:
  • setting【输入】: 要检查的过滤器。

  • curr【输出】: 该设置的当前值。

  • min【输出】: 此设置可配置的最小有效值。

  • max【输出】: 此设置可配置的最大有效值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireFilterSetting(FilterSetting setting, int& curr, int& min, int& max);
inquireFilterSetting:

获取一个过滤器设置的当前值和有效范围(双精度浮点型)。

参数:
  • setting【输入】: 要检查的过滤器。

  • curr【输出】: 该设置的当前值。

  • min【输出】: 此设置可配置的最小有效值。

  • max【输出】: 此设置可配置的最大有效值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireFilterSetting(FilterSetting setting, double& curr, double& min, double& max);
inquireFilterSetting:

获取一个过滤器设置的当前值。

参数:
  • setting【输入】: 要检查的过滤器。

  • curr【输出】: 该设置的当前值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireFilterSetting(FilterSetting setting, int& curr);
inquireFilterSetting:

获取一个过滤器设置的当前值(双精度浮点型)。

参数:
  • setting【输入】: 要检查的过滤器。

  • curr【输出】: 该设置的当前值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireFilterSetting(FilterSetting setting, double& curr);
inquireFilterSetting:

获取一个过滤器设置的当前值(布尔类型)。

参数:
  • setting【输入】: 要检查的过滤器。

  • curr【输出】: 该设置的当前值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireFilterSetting(FilterSetting setting, bool& curr);
configureFilterSetting:

用给定的值配置一个过滤器设置。

参数:
  • setting【输入】: 要配置的过滤器。

  • new_val【输入】: 要写入该设置的值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError configureFilterSetting(FilterSetting setting, int new_val);
configureFilterSetting:

配置一个具有给定值(双精度浮点型)的过滤器设置。

参数:
  • setting【输入】: 要配置的过滤器。

  • new_val【输入】: 要写入该设置的值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError configureFilterSetting(FilterSetting setting, double new_val);
configureFilterSetting:

配置一个具有给定值(布尔类型)的过滤器设置。

参数:
  • setting【输入】: 要配置的过滤器。

  • new_val【输入】: 要写入该设置的值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError configureFilterSetting(FilterSetting setting, bool new_val);
configureFilterSetting:

启用或禁用一个系统设置。

参数:
  • setting【输入】: 要切换的系统设置。

  • toggle【输入】: 启用或禁用。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError enableSystemSetting(SystemSetting setting, bool toggle);
checkEnableSystemSetting:

Check if a system setting is enabled or disabled.

参数:
  • setting【输入】: 要检查的系统设置。

  • is_enabled【输出】: 启用状态写入此。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError checkEnableSystemSetting(SystemSetting setting, bool& is_enabled);
inquireSystemSetting:

Check the current value and valid range of a system setting.

参数:
  • setting【输入】: 要检查的系统设置。

  • curr【输出】: 系统设置的当前值。

  • min【输出】: 系统设置的最小可配置值。

  • max【输出】: 系统设置的最大可配置值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSystemSetting(SystemSetting setting, int& curr, int& min, int& max);
inquireSystemSetting:

检查一个系统设置的当前值。

参数:
  • setting【输入】: 要检查的系统设置。

  • curr【输出】: 系统设置的当前值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSystemSetting(SystemSetting setting, int& curr);
inquireSystemSetting:

检查一个系统设置的当前值(布尔类型)。

参数:
  • setting【输入】: 要检查的系统设置。

  • curr【输出】: 系统设置的当前值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSystemSetting(SystemSetting setting, bool& curr);
inquireSystemSetting:

检查一个系统设置的当前值(字符串)。

参数:
  • setting【输入】: 要检查的系统设置。

  • curr【输出】: 系统设置的当前值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError inquireSystemSetting(SystemSetting setting, std::string& curr);
configureSystemSetting:

用给定的值配置一个系统设置。

参数:
  • setting【输入】: 要配置的系统设置。

  • new_val【输入】: 写入系统设置的值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError configureSystemSetting(SystemSetting setting, int new_val);
configureSystemSetting:

配置一个具有给定值(布尔类型)的系统设置。

参数:
  • setting【输入】: 要配置的系统设置。

  • new_val【输入】: 写入系统设置的值。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError configureSystemSetting(SystemSetting setting, bool new_val);

Class SlcSdkError

#include "error.h"

Public Members & Functions

SlcSdkStatus:

DaoAI SDK的状态数据结构。

enum DAOAI_API SlcSdkStatus : int
   {
      SlcSdkSuccess,
      SlcSdkErrorInvalidValue,
      SlcSdkErrorGPUMemoryAllocation,
      SlcSdkErrorVirtualFunctionCalled,
      SlcSdkErrorImageAcquisition,
      SlcSdkErrorFileOperation,
      SlcSdkErrorDeviceConnection,
      SlcSdkErrorDeviceOperation,
      SlcSdkErrorTemperatureRegulation,
      SlcSdkErrorWorkspaceVersion,
      SlcSdkErrorRemoteConnection,
      SlcSdkErrorRemoteVersion
   };
Constructor:

构建具有初始值的错误类。

DAOAI_API SlcSdkError(SlcSdkStatus status, std::string detail_text);
Constructor:

构建具有默认值(无效错误)的错误类。

DAOAI_API SlcSdkError();
status:

获取错误的状态代码。

返回值:
  • SlcSdkStatus: 错误的状态代码。

DAOAI_API SlcSdkStatus status();
details:

获取错误的详细描述。

返回值:
  • std::string: 错误的详细描述。

DAOAI_API std::string details();

Class Frame

#include "frame.h"

Public Members & Functions

Constructor:

构建具有初始值的错误类。

DAOAI_API Frame();

Copy Constructor:

DAOAI_API explicit Frame(const std::shared_ptr<Frame>& other);
getPointCloud:

从Frame中获取点云。

参数:
  • 【输入】 pc: PointCloud对象,用于写入包含的点云数据。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError getPointCloud(PointCloud& pc);
save:

保存帧。

参数:
  • file_name【输入】: 保存帧的路径。支持后缀为.dcf(DaoAI数据格式)、.ply、.pcd和.daf的文件。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError save(const std::string &file_name);
load:

保存帧。

参数:
  • file_name【输入】: 加载帧的路径。

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError load(const std::string &file_name);
isEmpty:

检查帧是否为空。

返回值:
  • bool: 如果帧是空的,则为真,否则为假。

DAOAI_API bool isEmpty();

Class Point Cloud

#include "point_cloud.h"

Public Members & Functions

Constructor:

DAOAI_API PointCloud();

Copy Constructor:

DAOAI_API explicit PointCloud(const std::shared_ptr<PointCloud>& other);

Destructor:

DAOAI_API ~PointCloud();
PointCloud:

以给定的行数和列数分配一个有组织的点云。

参数:
  • rows【输入】: 点云的高度。

  • cols【输入】: 点云的宽度。

DAOAI_API PointCloud(size_t rows, size_t cols);
isEmpty:

返回点云是否为空。

返回值:
  • bool: 点云是否为空。

DAOAI_API bool isEmpty() const;
getWidth:

返回点云的宽度(列数)。

返回值:
  • int: 点云的宽度(列数)。

DAOAI_API int getWidth() const;
getHeight:

返回点云的高度(行数)。

返回值:
  • int: 点云的高度(行数)。

DAOAI_API int getHeight() const;
getSize:

返回点云中的点的数量。

返回值:
  • int: 点云的大小(点的数量)。

DAOAI_API int getSize() const;
getPoint:

获得一个由一维线性指数(从0到点的数量)给出的点的参考。

参数:
  • idx【输入】: 索引值

返回值:
  • Point: 指向一个 point

DAOAI_API Point &operator()(size_t idx);
getPoint:

Obtain a constant reference to a point given by a 1D linear index (from 0 to number of points).

参数:
  • idx【输入】: index value

返回值:
  • Point: 指向一个 point

DAOAI_API const Point &operator()(size_t idx) const;
getPoint:

获得一个由行和列给出的点的参考,i是行,j是列。

参数:
  • i: row

  • j: col

返回值:
  • Point: 指向一个 point

DAOAI_API Point operator()(size_t i, size_t j);
getPoint:

获得一个由行和列给出的点的恒定参考,i是行,j是列。

参数:
  • i: row

  • j: col

返回值:
  • Point: 指向一个 point

DAOAI_API const Point &operator()(size_t i, size_t j) const;
resize:

调整点云的大小到给定的行数和列数。

参数:
  • rows: 新的行数

  • cols: 新的列数

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API SlcSdkError resize(size_t rows, size_t cols);
getDataPtr:

获得指向点云中第一个点的指针

返回值:
  • Point*: 指向点云中第一个点的指针。

DAOAI_API Point* getDataPtr() const;
getVecX:

返回一个所有X坐标数据的向量

返回值:
  • std::vector<float>: 所有X坐标数据的向量

DAOAI_API std::vector<float> getVecX() const;
getVecY:

返回一个所有y坐标数据的向量

返回值:
  • std::vector<float>: 所有Y坐标数据的向量

DAOAI_API std::vector<float> getVecY() const;
getVecZ:

返回一个所有z坐标数据的向量

返回值:
  • std::vector<float>: 所有Z坐标数据的向量

DAOAI_API std::vector<float> getVecZ() const;
getVecRgba:

返回一个所有rgba数据的向量

返回值:
  • std::vector<uint32_t>: 所有rgba数据的向量

DAOAI_API std::vector<uint32_t> getVecRgba() const;
getVecConfident:

返回一个包含所有可信度数据的向量

返回值:
  • std::vector<float>: 一个包含所有可信度数据的向量

DAOAI_API std::vector<float> getVecConfident() const;
getVecR:

返回一个所有红色通道数据的向量

返回值:
  • std::vector<uint8_t>: 所有红色通道数据的向量

DAOAI_API std::vector<uint8_t> getVecR() const;
getVecG:

返回一个所有绿色通道数据的向量

返回值:
  • std::vector<uint8_t>: 所有绿色通道数据的向量

DAOAI_API std::vector<uint8_t> getVecG() const;
getVecB:

返回一个所有蓝色通道数据的向量

返回值:
  • std::vector<uint8_t>: 所有蓝色通道数据的向量

DAOAI_API std::vector<uint8_t> getVecB() const;
getVecA:

返回一个所有Alpha通道数据的向量

返回值:
  • std::vector<uint8_t>: 所有Alpha通道数据的向量

DAOAI_API std::vector<uint8_t> getVecA() const;
clone:

对点云进行深度拷贝

返回值:
  • PointCloud: 复制的点云。

DAOAI_API PointCloud clone();

Class Point

#include "point.h"

Public Member Functions

Constructor:

DAOAI_API Point();

Destructor:

DAOAI_API ~Point() {}
isNaN:

返回该点是否是NaN的布尔值

返回值:
  • bool: 该点是否是NaN的布尔值

DAOAI_API bool isNaN();
getX:

从该点获取X值。

返回值:
  • float: 该点的X值。

DAOAI_API inline float getX() const {
   return this->x_;
}
getY:

返回该点的y值。

返回值:
  • float: 该点的y值。

DAOAI_API inline float getY() const {
   return this->y_;
}
getZ:

返回该点的z值。

返回值:
  • float: 该点的z值。

DAOAI_API inline float getZ() const {
   return this->z_;
}
getR:

返回该点的r值。

返回值:
  • uint8_t: 该点的r值。

DAOAI_API inline uint8_t getR() const {
   return ((rgba_ >> 16) & 0xff);
}
getG:

返回该点的g值。

返回值:
  • uint8_t: 该点的g值。

DAOAI_API inline uint8_t getG() const {
   return ((rgba_ >> 8) & 0xff);
}
getB:

返回该点的b值。

返回值:
  • uint8_t: 该点的b值。

DAOAI_API inline uint8_t getB() const {
   return ((rgba_) & 0xff);
}
getA:

返回该点的a值。

返回值:
  • uint8_t: 该点的a值。

DAOAI_API inline uint8_t getA() const {
   return ((rgba_ >> 24) & 0xff);
}
getRgba:
返回该点的rgba值。

意:RGBA值以0xAARRGGBB(ARGB格式)的形式存储。

返回值:
  • uint32_t: 该点的rgba值。

DAOAI_API inline uint32_t getRgba() const {
   return this->rgba_;
}
getConfident:

返回该点的可信度值

返回值:
  • float: 该点的可信度值

DAOAI_API inline float getConfident() const {
   return this->confident_;
}
setX:

设置该点的x值

参数:
  • x【输入】: 设置的值

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API inline SlcSdkError setX(const float x) {
   x_ = x;
   return SlcSdkError(SlcSdkSuccess, "Successfully modified point data.");
}
setY:

设置该点的y值

参数:
  • y【输入】: 设置的值

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API inline SlcSdkError setY(const float y) {
   y_ = y;
   return SlcSdkError(SlcSdkSuccess, "Successfully modified point data.");
}
setZ:

设置该点的z值

参数:
  • z【输入】: 设置的值

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API inline SlcSdkError setZ(const float z) {
   z_ = z;
   return SlcSdkError(SlcSdkSuccess, "Successfully modified point data.");
}
setRgba:

设置该点的rgba值

参数:
  • r【输入】: 设置的red值

  • g【输入】: 设置的green值

  • b【输入】: 设置的blue值

  • a【输入】: 设置的alpha值

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API inline SlcSdkError setRgba(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a)
{
   rgba_ = static_cast<uint32_t>((a << 24) | (r << 16) | (g << 8) | b);
   return SlcSdkError(SlcSdkSuccess, "Successfully modified point data.");
}
setRgba:

设置该点的rgba值

参数:
  • rgba【输入】:设置的值

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API inline SlcSdkError setRgba(const uint32_t rgba)
{
   rgba_ = rgba;
   return SlcSdkError(SlcSdkSuccess, "Successfully modified point data.");
}
setRgb:

为该点指定rgb值,alpha通道将被设置为255。

参数:
  • r【输入】: 设置的red值

  • g【输入】: 设置的green值

  • b【输入】: 设置的blue值

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API inline SlcSdkError setRgb(const uint8_t r, const uint8_t g, const uint8_t b) {
   this->setRgba(r, g, b, 255);
   return SlcSdkError(SlcSdkSuccess, "Successfully modified point data.");
}
setConfident:

为该点分配可信度值。

参数:
  • confident【输入】: 设置confident的值

返回值:
  • SlcSdkError: 包含状态代码和任何错误信息的 struct。

DAOAI_API inline SlcSdkError setConfident(const float confident) {
   confident_ = confident;
   return SlcSdkError(SlcSdkSuccess, "Successfully modified point data.");
}

operator =:

参数:
  • point【输入】: 其它 Point.

返回值:
  • Point &: 返回一个Point的reference。

DAOAI_API Point &operator=(const Point& point);