OrbbecSDK2 2.0.2
OrbbecSDK2: New generation Software-Development-Kit for Orbbec 3D-Sensor devices
载入中...
搜索中...
未找到
Public 成员函数 | Protected 属性 | 所有成员列表
ob2::cameras_config类 参考

相机配置,用于设备内相机的工作配置及设备内与相机工作相关模块、SDK 内与相机工作相关相关模块的工作配置。 更多...

#include <OB2Camera.hpp>

Public 成员函数

 cameras_config (ob2_cameras_config_t &&cameras_config_handle)
 通过传入相机配置句柄构造(主要实现用于 device::create_cameras_config更多...
 
 cameras_config (cameras_config &&config)
 通过其他相机配置对象构造(移动构造,主要用于派生类的实现) 更多...
 
virtual ~cameras_config () noexcept
 相机配置析构函数 更多...
 
virtual void set_camera_stream_profile (ob2_camera_type_t camera_type, const ob2_camera_stream_profile_t &stream_profile)
 设置相机数据流配置 更多...
 
virtual void enable_camera_stream (ob2_camera_type_t camera_type)
 使能相机 更多...
 
virtual void enable_camera_stream (ob2_camera_type_t camera_type, uint32_t width_pixels, uint32_t height_pixels, uint32_t frame_rate, ob2_image_format_t format)
 配置相机数据流并使能相机 更多...
 
virtual void set_disable_camera_stream (ob2_camera_type_t camera_type)
 关闭(去除使能)相机数据流 更多...
 
virtual void set_images_sync_mode (ob2_images_sync_mode_t images_sync_mode)
 设备内多相机图像同步模式配置 更多...
 
virtual void set_produce_capture_policy (ob2_produce_capture_policy_t policy)
 capture 生成策略配置 更多...
 
virtual void set_images_align_mode (ob2_images_align_mode_t images_align_mode)
 图像对齐模式配置 更多...
 
virtual void set_cameras_sync_mode (ob2_cameras_sync_mode_t cameras_sync_mode)
 (单机内)多相机同步(同步曝光)模式配置 更多...
 
virtual void set_cameras_sync_delay_usec (uint32_t delay_usec)
 (单机内)多相机同步延时配置 更多...
 
virtual void set_wired_sync_mode (ob2_wired_sync_mode_t wired_sync_mode)
 外部同步模式配置(通常是通过同步信号线输入 / 输出同步信号完成同步,所以命名为 wired_sync_mode) 更多...
 
virtual void set_secondary_delay_off_primary_usec (uint32_t delay_usec)
 从设备延时配置(配置为 SECONDARY 模式的设备,在接收到触发信号后,延时一段时间后再执行图像采集) 更多...
 
virtual ob2_cameras_config_t get_handle ()
 获取相机配置句柄 更多...
 

Protected 属性

ob2_cameras_config_t m_cameras_config_handle
 

详细描述

相机配置,用于设备内相机的工作配置及设备内与相机工作相关模块、SDK 内与相机工作相关相关模块的工作配置。

在文件 OB2Camera.hpp32 行定义.

构造及析构函数说明

◆ cameras_config() [1/2]

ob2::cameras_config::cameras_config ( ob2_cameras_config_t &&  cameras_config_handle)
inline

通过传入相机配置句柄构造(主要实现用于 device::create_cameras_config

参数
cameras_config_handle相机配置句柄

在文件 OB2Camera.hpp49 行定义.

◆ cameras_config() [2/2]

ob2::cameras_config::cameras_config ( cameras_config &&  config)
inline

通过其他相机配置对象构造(移动构造,主要用于派生类的实现)

注意
调用该构造函数后,原对象将不再可以访问
参数
config其他相机配置对象

在文件 OB2Camera.hpp72 行定义.

◆ ~cameras_config()

virtual ob2::cameras_config::~cameras_config ( )
inlinevirtualnoexcept

相机配置析构函数

在文件 OB2Camera.hpp88 行定义.

成员函数说明

◆ set_camera_stream_profile()

virtual void ob2::cameras_config::set_camera_stream_profile ( ob2_camera_type_t  camera_type,
const ob2_camera_stream_profile_t stream_profile 
)
inlinevirtual

设置相机数据流配置

注意
@camera_type 需要是设备支持的相机类型,否则将会抛出 std::logic_error 异常。
@stream_profile 需要是 @camera_type 指定类型相机支持的数据流配置,否则将会抛出 std::logic_error 异常。
参数
[in]camera_type需要配置的相机类型
[in]stream_profile需要配置的相机数据流配置

在文件 OB2Camera.hpp118 行定义.

◆ enable_camera_stream() [1/2]

virtual void ob2::cameras_config::enable_camera_stream ( ob2_camera_type_t  camera_type)
inlinevirtual

使能相机

启动相机时会将相机配置内已使能的相机依据设置的数据流配置开启数据流

注意
@camera_type 需要是设备支持的相机类型,否则将会抛出 std::logic_error 异常。
参数
[in]camera_type需要使能的相机类型

在文件 OB2Camera.hpp145 行定义.

◆ enable_camera_stream() [2/2]

virtual void ob2::cameras_config::enable_camera_stream ( ob2_camera_type_t  camera_type,
uint32_t  width_pixels,
uint32_t  height_pixels,
uint32_t  frame_rate,
ob2_image_format_t  format 
)
inlinevirtual

配置相机数据流并使能相机

启动相机时会将相机配置内已使能的相机依据设置的数据流配置开启数据流

相机数据流配置参数支持模糊匹配,即在进行匹配支持的相机数据流配置时,模糊匹配项不进行匹配,而是选用默认配置。

注意
@camera_type 需要是设备支持的相机类型,否则将会抛出 std::logic_error 异常。
相机数据流配置参数匹配失败后,将会抛出 std::logic_error 异常。
参数
[in]camera_type需要使能的相机类型
[in]width_pixels配置的数据流图像宽度,单位:像素;可传入 OB2_ANY_WIDTH 进行模糊匹配。
[in]height_pixels配置的数据流图高度,单位:像素;可传入 OB2_ANY_HEIGHT 进行模糊匹配。
[in]frame_rate配置的数据流图像帧率,单位:fps;可传入 OB2_ANY_FRAME_RATE 进行模糊匹配。
[in]format配置的数据流图像格式; 可传入 OB2_ANY_FRAME_RATE 进行模糊匹配。

在文件 OB2Camera.hpp184 行定义.

◆ set_disable_camera_stream()

virtual void ob2::cameras_config::set_disable_camera_stream ( ob2_camera_type_t  camera_type)
inlinevirtual

关闭(去除使能)相机数据流

注意
@camera_type 需要是设备支持的相机类型,否则将会抛出 std::logic_error 异常。
参数
[in]camera_type需要关闭的相机类型

在文件 OB2Camera.hpp210 行定义.

◆ set_images_sync_mode()

virtual void ob2::cameras_config::set_images_sync_mode ( ob2_images_sync_mode_t  images_sync_mode)
inlinevirtual

设备内多相机图像同步模式配置

SDK 内部会根据图像同步模式等待各相机的输出图像,然后将各相机的图像各取一帧用于生成 capture

注意
并非所有相机都支持配置为 OB2_IMAGES_SYNC_MODE_DEVICE_TIMESTAMP_MATCH ,并且在 Windows 系统平台,需要配置注册表后才能获取到设备时间戳用于同步(可通过管理员权限运行 OrbbecViewer 工具自动完成配置)
参数
[in]images_sync_mode图像同步模式,默认模式为 OB2_IMAGES_SYNC_MODE_WAIT_LATER_COMER

在文件 OB2Camera.hpp241 行定义.

◆ set_produce_capture_policy()

virtual void ob2::cameras_config::set_produce_capture_policy ( ob2_produce_capture_policy_t  policy)
inlinevirtual

capture 生成策略配置

capture 生成会根据图像同步模式配置的方式,同步所有已启用相机的图像。但是由于不同相机帧率配置不一致、数据传输错误丢帧等原因,并不能保证 所有情况下都能够同步成功。capture 生成策略用于控制在已经无法同步所有已启用相机图像帧的情况下,如何处理当前相机图像(丢弃图像或者生成不完整 capture)。

注意
除配置为 OB2_PRODUCE_CAPTURE_SYNC_IMAGES_ONLY 模式外,其他模式用户接收到的 capture 可能为非完整 capture(者意味着 capture 内不一定包含所有已启用的相机图像)
参数
[in]policycapture 生成策略, 默认策略为 OB2_PRODUCE_CAPTURE_SYNC_IMAGES_ONLY

在文件 OB2Camera.hpp274 行定义.

◆ set_images_align_mode()

virtual void ob2::cameras_config::set_images_align_mode ( ob2_images_align_mode_t  images_align_mode)
inlinevirtual

图像对齐模式配置

注意
并不是所有相机流配置组合都支持启用对齐,可通过 device::get_alignable_camera_stream_profile_list 接口查询确认如何配置
参数
[in]images_align_mode对齐模式,默认模式为 OB2_IMAGES_ALIGN_MODE_DISABLE

在文件 OB2Camera.hpp300 行定义.

◆ set_cameras_sync_mode()

virtual void ob2::cameras_config::set_cameras_sync_mode ( ob2_cameras_sync_mode_t  cameras_sync_mode)
inlinevirtual

(单机内)多相机同步(同步曝光)模式配置

注意
OB2_CAMERA_SYNC_MODE_COLOR_EXPOSURE_FIRSTOB2_CAMERA_SYNC_MODE_DEPTH_EXPOSURE_FIRST 模式: 需要保证 Color 于 Depth/IR 帧率配置一致
参数
[in]cameras_sync_mode同步模式,默认模式为 OB2_CAMERA_SYNC_MODE_CLOSE

在文件 OB2Camera.hpp326 行定义.

◆ set_cameras_sync_delay_usec()

virtual void ob2::cameras_config::set_cameras_sync_delay_usec ( uint32_t  delay_usec)
inlinevirtual

(单机内)多相机同步延时配置

用于控制从相机在主相机图像采集后延时多长时间开始图像采集

当多相机同步模式配置为 OB2_CAMERA_SYNC_MODE_COLOR_EXPOSURE_FIRST 时表示 Depth/IR 相机相对 Color 相机的延时

当多相机同步模式配置为 OB2_CAMERA_SYNC_MODE_DEPTH_EXPOSURE_FIRST 时表示 Color 相机相对 Depth/IR 相机的延时

当多相机同步模式配置为 OB2_CAMERA_SYNC_MODE_CLOSE 时该延时配置无任何效果

参数
[in]delay_usec相机同步延时,单位为微秒, 默认值为 0

在文件 OB2Camera.hpp357 行定义.

◆ set_wired_sync_mode()

virtual void ob2::cameras_config::set_wired_sync_mode ( ob2_wired_sync_mode_t  wired_sync_mode)
inlinevirtual

外部同步模式配置(通常是通过同步信号线输入 / 输出同步信号完成同步,所以命名为 wired_sync_mode)

该功能实际上是配置设备相机的触发信号来源,及触发信号中继输出。主要用于实现多机同步功能。

参数
[in]wired_sync_mode外部同步模式,默认为 OB2_WIRED_SYNC_MODE_STANDALONE

在文件 OB2Camera.hpp381 行定义.

◆ set_secondary_delay_off_primary_usec()

virtual void ob2::cameras_config::set_secondary_delay_off_primary_usec ( uint32_t  delay_usec)
inlinevirtual

从设备延时配置(配置为 SECONDARY 模式的设备,在接收到触发信号后,延时一段时间后再执行图像采集)

注意
仅当设备配置为 SECONDARY 时生效
该配置不会影响触发信号输出
延时时间应当小于一个图像采集周期
参数
[in]delay_usec从设备延时,单位:微秒,默认值为 0

在文件 OB2Camera.hpp412 行定义.

◆ get_handle()

virtual ob2_cameras_config_t ob2::cameras_config::get_handle ( )
inlinevirtual

获取相机配置句柄

注意
获取句柄不会增加相机配置句柄引用计数,其生命周期还是由 cameras_config 对象管理,即 cameras_config 析构后会释放句柄
返回
ob2_cameras_config_t 返回相机配置句柄

在文件 OB2Camera.hpp438 行定义.

类成员变量说明

◆ m_cameras_config_handle

ob2_cameras_config_t ob2::cameras_config::m_cameras_config_handle
protected

该类的文档由以下文件生成: