概述
本手册面向具备软件开发基础的设备接入人员。相机 SDK 支持 M4、M4 Mega、M4 Pro、V1Pro、S2 和 H3 系列产品,可运行于 x86 Windows,以及 x86 和 ARM Linux 平台。 SDK 提供统一的设备访问和参数配置接口,可同步或异步获取深度图、强度图、点云和 RGB 图。部分型号还支持避障、对接和定位数据输出。示例与 API 说明以 SDK 随附版本为准。不同产品、固件和 SDK 版本的可用参数可能不同。
环境搭建
推荐主机配置
连接与安装
硬件连接
为相机提供 24 V 电源,并通过网线连接至上位机。
网络配置
- 相机默认 IP 网段为
192.168.100.*。 - 将上位机连接相机的网卡 IP 设置为
192.168.100.x网段内且不冲突的地址,子网掩码设为255.255.255.0。

- 连接相机时,确认防火墙规则不会拦截相机数据包。

- Linux 的网络配置与 Windows 相同。不同发行版的防火墙管理方式不同;以 Ubuntu 为例:
安装 SDK
Windows
运行Lanxin-MRDVS-xxx.exe 安装包。如需为所有用户安装,请以管理员权限运行。




Linux
解压安装包并执行安装脚本:/opt/Lanxin-MRDVS 并设置环境变量。脚本仅配置执行安装的当前用户;若运行程序的用户不同,请重新执行安装脚本,或在该用户的 ~/.bashrc 中添加:
使用 相机 SDK
目录结构
相机 SDK 目录内容包含如下图:
Document:SDK 说明文档。FirmWare:相机固件升级包。Sample:多种编程语言的 相机 SDK 示例代码。SDK:相机 SDK 的头文件和库文件。
开发流程
配置项目工程
建议使用 C/C++ 集成 SDK。SDK 提供基于 CMake 的CMakeLists.txt,Sample 目录提供多语言示例;Linux 环境可参考 Linux 示例使用手册。
同步调用流程

异步调用流程

调用要求
参数类型与对应接口
参数设置前置条件
- DcSetRoi
- LX_INT_3D_BINNING_MODE;
- LX_INT_2D_BINNING_MODE;
- LX_BOOL_ENABLE_2D_TO_DEPTH;
- LX_BOOL_ENABLE_MULTI_EXPOSURE_HDR;
- LX_BOOL_ENABLE_MULTI_MACHINE;
- LX_INT_TRIGGER_MODE;
- LX_INT_CALCULATE_UP;
- LX_BOOL_ENABLE_HDR;
- LX_BOOL_ENABLE_TOF_DEPTH_CALIBE;
- LX_BOOL_ENABLE_SYNC_FRAME
- LX_INT_SAVE_PARAMS_GROUP
LX_INT_WORK_MODE)为常开模式时,也不允许设置:
- LX_INT_TOF_FREQMODE
LX_BOOL_ENABLE_3D_AUTO_EXPOSURE)开启时,不允许操作:
- LX_BOOL_ENABLE_MULTI_EXPOSURE_HDR ;
- LX_INT_FIRST_EXPOSURE;
- LX_INT_SECOND_EXPOSURE;
- LX_INT_THIRD_EXPOSURE;
- LX_INT_GAIN;
LX_BOOL_ENABLE_3D_AUTO_EXPOSURE)关闭时,不允许操作:
- LX_INT_3D_AUTO_EXPOSURE_LEVEL
- (LX_INT_3D_AUTO_EXPOSURE_MIN)
LX_BOOL_ENABLE_2D_AUTO_EXPOSURE)开启时,不允许操作:
- LX_INT_2D_MANUAL_EXPOSURE
LX_BOOL_ENABLE_2D_AUTO_EXPOSURE)关闭时,不允许操作:
- LX_INT_2D_AUTO_EXPOSURE_LEVEL;
- LX_INT_FILTER_SMOOTH_LEVEL LX_INT_FILTER_NOISE_LEVEL
- LX_INT_FILTER_TIME_LEVEL
8.开启 2D 反畸变时, 必须先开启 RGBD 对齐:
- LX_BOOL_ENABLE_2D_TO_DEPTH
9.非 S2 类型的设备,开启内置算法时需先设置 tof 算法下移开启了内置算法(LX_INT_ALGORITHM_MODE) 情况下, 才允许设置算法参数
- (LX_STRING_ALGORITHM_PARAMS)
10.要 获 取 点 云 数 据 (LX_PTR_XYZ_DATA),必 须 要 先 开 启 深 度 图
- (LX_BOOL_ENABLE_3D_DEPTH_STREAM)
数据类型
5.1 LX_STATE
功能:SDK 接口函数返回值状态码5.2 LX_DATA_TYPE
功能:数据格式。3D 强度图和深度图有不同的数据格式,获取数据指针需要使用对应的 feature5.3 LX_BINNING_MODE
功能:Bining 模式5.4 LX_STRUCT_LIGHT_CODE_MODE
功能:5.5 LX_ALGORITHM_MODE
功能:5.6 LX_CAMERA_WORK_MODE
功能:5.7 LX_TRIGGER_MODE
功能:5.8 LX_CAMERA_FEATURE
功能:各种可读、可写参数5.8.1 int 型参数
5.8.1.1 通用参数
5.8.1.2 3D 图像参数
5.8.1.4 2D 图像参数
5.8.1.5 触发参数
5.8.1.6 滤波参数
5.8.2 float 型参数
5.8.3 bool 型参数
5.8.4 string 型参数
5.8.5 command 型参数
5.8.6 ptr 型参数
5.9 LxDeviceInfo
功能:设备属性信息结构体5.10 LxIntValueInfo
功能:设备属性信息结构体5.11 LxFloatValueInfo
功能:设备属性信息结构体5.12 LX_DEVICE_TYPE
功能:设备类型5.13 LX_OPEN_MODE
功能:设备类型5.14 FrameDataInfo
功能:图像显示信息结构体5.15 FrameInfo
功能:数据帧信息结构体API 参考
API 原型以 SDK 头文件和随附版本为准。除特别说明外,接口返回
LX_SUCCESS 表示调用成功。6.1 查找、连接与关闭相机
6.1.1 DcGetDeviceList
函数原型:
- [out]devlist 查找到的相机列表
- [out]devnum 查找到的相机数量
6.1.2 DcOpenDevice
函数原型:
- [in]open_mode 打开方式, 具体说明见 OpenMode
- [in]param 不同的打开方式,填写不同的参数
- [out]handle 连接成功后返回的设备句柄,后续所有接口访问都依赖该 handle
- [out]info 连接成功后返回的相机详细信息
6.1.3 DcCloseDevice
函数原型:
- [in]handle 设备句柄
6.2 开始取流、关闭取流
6.2.1 DcStartStream
函数原型:
- [in]handle 设备句柄
6.2.2 DcStopStream
函数原型:
- [in]handle 设备句柄
6.3 读取与设置相机参数
6.3.1 DcSetIntValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [in]value 设置参数值
6.3.2 DcGetIntValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [out]value 返回参数结构体,参数的最大最小值、当前值等
6.3.3 DcSetFloatValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [in]value 设置参数值
6.3.4 DcGetFloatValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [out]value 返回参数结构体,参数的最大最小值、当前值等
6.3.5 DcSetBoolValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [in]value 设置参数值
6.3.6 DcGetBoolValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [out]value 返回参数
6.3.7 DcSetStringValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考LX_CAMERA_FEATURE
- [in]value 设置参数值
6.3.8 DcGetStringValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [out]value 返回参数,无需外部分配内存
6.3.9 DcGetPtrValue
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
- [out]value 返回参数,无需外部分配内存
6.3.10 DcSetCmd
函数原型:
- [in]handle 设备句柄
- [in]cmd 参考 LX_CAMERA_FEATURE
6.4 保存点云
6.4.1 DcSaveXYZ
函数原型:
- handle 设备句柄
- filename 文件名,支持 txt,ply 和 pcd 格式。txt 格式按图像顺序保存所有数 据,ply 和 pcd 仅保存非零数据
6.5 特殊控制
6.5.1 DcSpecialControl
函数原型:
- [in]handle 设备句柄
- [in]param 操作
- [inout]value 设置时为对应入参,获取时为对应出参,无需外部分配内存
6.6 设置 ROI 与参数路径
6.6.1 DcSetRoI
函数原型:
- [in]handle 设备句柄
- [in]offsetx 起始点水平偏移像素
- [in]offsety 起始点垂直偏移像素
- [in]widthroi 目标区域的宽
- [in]heightroi 目标区域的高
- [in]type0-3D 图像 1-2D 图像
6.7 设置相机 IP
6.7.1 DcSetCameraIp
函数原型:
- [in]handle 设备句柄,
- [in]ip 设备IP,
- [in]netmask 子网掩码(若传空则内部默认”255.255.0.0”)
- [in]gateway 网关ip(若传空则内部默认将ip 最后网段置为”1”后作为网关)
6.8 日志信息与版本信息
6.8.1 DcGetApiVersion
函数原型:
6.8.2 DcSetInfoOutput
函数原型:
- [in]print_level 0:info 所有调试信息;1:warn 重要及警告类调试信息; 2:error 仅输出错误信息
- [in]enable_screen_print 是否在窗口打印
- [in]log_path log 文件保存路径(不包含日志文件名),可以为空。 Windows 默认在当前用户路径,linux 默认在/var/log 路径
- [in]language 语言(暂无用)
6.8.3 DcLog
函数原型:
- [in]str 要输出的字符串,‘\0’结尾
6.8.4 DcRegisterFrameCallback
函数原型:
- [in]handle 设备句柄,
- [in]func 帧数据回调函数,
- [in]usr_data 用户自定义参数, 可传空
6.8.5 DcUnregisterFrameCallback
函数原型:
- [in]handle 设备句柄,
6.9 设备状态回调
6.9.1 DcRegisterCameraStatusCallback
函数原型:
- [in]handle 设备句柄,
- [in]func 帧数据回调函数,
- [in]usr_data 用户自定义参数, 可传空
6.9.2 DcUnregisterCameraStatusCallback
函数原型:
- [in]handle 设备句柄,
版本与更新
感谢您的访问,并希望知识库能成为您深入了解迈尔微视产品和方案的得力助手!