> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mrdvs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 相机 SDK

> 获取 MRDVS 相机开发套件、接口文档和示例程序。

相机 SDK 用于在应用程序中连接 MRDVS 相机、配置参数并获取相机数据。开发包、接口说明和示例统一在 GitHub 仓库维护。

> **[CameraSDK GitHub 仓库](https://github.com/Lanxin-MRDVS/CameraSDK)**
>
> 查看开发套件、中文与英文文档、示例程序及更新记录。

## 下载开发包

| 系统 | 软件版本 | 下载 |
| - | - | - |
| Windows | V2.4.70 | [安装包 EXE · 42.5 MB](https://mrdvs.oss-cn-hangzhou.aliyuncs.com/%E8%BF%88%E5%B0%94%E5%BE%AE%E8%A7%86%28MRDVS%29-Windows%E4%B8%8A%E4%BD%8D%E6%9C%BA/MRDVS-2.4.70.260911.exe) |
| Linux x64 / ARM64 / ARM32 | V2.4.70 | [开发包 TAR.GZ · 33.6 MB](https://mrdvs.oss-cn-hangzhou.aliyuncs.com/%E8%BF%88%E5%B0%94%E5%BE%AE%E8%A7%86%28MRDVS%29-Windows%E4%B8%8A%E4%BD%8D%E6%9C%BA/MRDVS-2.4.70.20260911.tar.gz) |

[Linux 图形界面上位机与其他下载](/developers/software/lxcameraviewer.md#软件下载)

## 选择工具

| 任务 | 使用工具 |
| - | - |
| 连接相机、检查图像与点云、调整参数 | [LxCameraViewer 相机软件](/developers/software/lxcameraviewer.md) |
| 在业务程序中获取数据并控制相机 | 相机 SDK |
| 部署托盘识别、体积测量或避障算法 | [对应算法的部署说明](/solutions/index.md) |

## 开发流程

**1. 验证设备连接**

使用 LxCameraViewer 确认相机连接正常，并检查图像和点云。

**2. 选择开发包**

根据操作系统与处理器架构，在 CameraSDK 仓库选择相应 SDK，并阅读配套文档。

**3. 运行示例并集成**

先运行仓库中的示例，再接入自己的数据处理与业务逻辑。部署时记录 SDK 和相机固件版本。

## GitHub 开发入门

以下示例对应 GitHub 仓库的目录布局。已安装的软件包可能使用其他目录，请按实际安装路径调整。

### 支持的平台

| OS | 架构 | 运行库 | 示例 |
| - | - | - | - |
| Linux | x64 / ARM64 / ARM32 | `libLxCameraApi.so`, `libLxDataProcess.so` | C/C++, Python, ROS, ROS 2 |
| Windows | x64 / x86 | `LxCameraApi.dll`, `LxDataProcess.dll` | C/C++, Python, C# |

### 获取源码

```bash theme={null}
git clone https://github.com/Lanxin-MRDVS/CameraSDK.git
```

Linux 安装脚本需要管理员权限，将运行库安装到 `/opt/MRDVS`。

### 运行 C/C++ 示例

**Linux**

```bash theme={null}
cd CameraSDK/linux
source install.sh
cd Sample/C
cmake -S . -B build
cmake --build build
./build/bin/demo_single_camera2
```

**Windows**

```powershell theme={null}
cd CameraSDK/windows/Sample/C
cmake -S . -B build
cmake --build build --config Release
```

> **Python 与 C# 示例**
>
> 运行 Python 示例前，请修改库路径和相机 IP。Windows 应用必须能加载对应架构的 DLL。
>
> | 示例 | GitHub |
> | - | - |
> | Python · Linux | [Sample/python](https://github.com/Lanxin-MRDVS/CameraSDK/tree/master/linux/Sample/python) |
> | Python · Windows | [Sample/python](https://github.com/Lanxin-MRDVS/CameraSDK/tree/master/windows/Sample/python) |
> | C# · Windows | [Sample/C#](https://github.com/Lanxin-MRDVS/CameraSDK/tree/master/windows/Sample/C%23) |

> **API 调用顺序**
>
> ```text theme={null}
> DcGetDeviceList
> DcOpenDevice
> DcSetBoolValue / DcSetIntValue / DcSetFloatValue / DcSetStringValue
> DcStartStream
> DcSetCmd(LX_CMD_GET_NEW_FRAME) or DcRegisterFrameCallback
> DcGetPtrValue
> DcStopStream
> DcCloseDevice
> ```

### ROS 集成

| ROS | GitHub |
| - | - |
| ROS 1 | [lx\_camera\_node\_ws](https://github.com/Lanxin-MRDVS/CameraSDK/tree/master/linux/Sample/ROS/lx_camera_node_ws) |
| ROS 2 | [lx\_camera\_node\_ws](https://github.com/Lanxin-MRDVS/CameraSDK/tree/master/linux/Sample/ROS2/lx_camera_node_ws) |

## 开发文档

| 文档 | 版本 | 下载 |
| - | - | - |
| C/C++ 开发指南 | V2.0 | [下载 PDF](https://mrdvs.oss-cn-hangzhou.aliyuncs.com/knowledge-community/CameraSDK/knowledge-hub-docs-2026-10-15/2f4f9c7d28c3a9d68ee5d00984236bed00fc29941ffc8554b66597133d86fde1/software--camera-sdk--v2.0--cpp-zh.pdf) |
| Python 开发指南 | V2.0 | [下载 PDF](https://mrdvs.oss-cn-hangzhou.aliyuncs.com/knowledge-community/CameraSDK/knowledge-hub-docs-2026-10-15/332d4f1b66681d9745f14252abd6d6c040fd44867c1f92c2b9d200414e2133f1/software--camera-sdk--v2.0--python-zh.pdf) |
| Linux 示例说明 | V2.0 | [下载 PDF](https://mrdvs.oss-cn-hangzhou.aliyuncs.com/knowledge-community/CameraSDK/knowledge-hub-docs-2026-10-15/6ca471858b3cb45c10661f3d441d0f28e31b94e87c323ad5c9a7bb64b48669ca/software--camera-sdk--v2.0--linux-examples-zh.pdf) |

> **接口与补充说明**
>
> 以下在线说明保留接口、示例及通信协议的详细内容；安装路径和支持功能请以实际 SDK 与固件版本为准。
>
> * [相机 SDK 使用手册](/developers/camera-sdk/user-guide.md)
> * [Linux 示例使用手册](/developers/camera-sdk/linux-examples.md)
> * [JSON 通信协议](/developers/camera-sdk/json-protocol.md)

## 错误码与开发排查

先记录错误码、SDK 版本、相机型号和设备日志；同时核对固件、数据处理库与开发环境的兼容性。

> **SDK 错误码速查（-1 至 -29）**
>
> | 错误码 | 含义 | 处理方法 |
> | - | - | - |
> | `LX_ERROR = -1` | 未知错误 | 结果异常。请导出设备日志并发送给 MRDVS 技术支持。 |
> | `LX_E_NOT_SUPPORT = -2` | 功能不支持 | 当前设备不支持此功能 |
> | `LX_E_NETWORK_ERROR = -3` | 网络通讯错误 | 网络通信或传输丢包异常。检查 IP 配置、网线、交换机和丢包情况。 |
> | `LX_E_INPUT_ILLEGAL = -4` | 入参非法 | 传入的参数错误，需要检查调用接口的参数 |
> | `LX_E_RECONNECTING = -5` | 设备重连中 | 1、设备正在重连，请等待短暂延时时间后重试，直到重连成功 2、检查相机是否正常开启，网络连接是否正常 |
> | `LX_E_DEVICE_ERROR = -6` | 设备故障或设备响应失败 | 设备异常，重启程序或相机后重试 |
> | `LX_E_DEVICE_NEED_UPDATE = -7` | 设备版本过低，需升级 | 升级固件版本 |
> | `LX_E_API_NEED_UPDATE = -8` | API版本过低 | 更新SDK |
> | `LX_E_CTRL_PERMISS_ERROR = -9` | 独占控制权限失败 | 相机仅支持一个主要权限客户端连接。相机非正常关闭时需要等待3-5s释放权限 |
> | `LX_E_GET_DEVICEINFO_ERROR = -10` | 获取设备信息失败 | 确认设备固件版本或联系 MRDVS 支持。 |
> | `LX_E_IMAGE_SIZE_ERROR = -11` | 图像尺寸不匹配，需重新打开 | 获取图像尺寸与实际码流中尺寸不匹配，需关闭设备后重新打开 |
> | `LX_E_IMAGE_PARTITION_ERROR = -12` | 图像解析失败(pixformat不正确)，需尝试重新打开 | 重新打开设备 |
> | `LX_E_DEVICE_NOT_CONNECTED = -13` | 相机未连接 | 属于入参非法的一种，在相机未打开状态下操作相机会返回该错误，需检查调用代码逻辑，确保已经成功打开相机 |
> | `LX_E_DEVICE_INIT_FAILED = -14` | 相机初始化失败 | 重新打开相机 |
> | `LX_E_DEVICE_NOT_FOUND = -15` | 未找到相机（或未找到匹配的相机） | 输入入参非法的一种，通常为接口传入相机的句柄非法时返回该错误码，需检查调用代码逻辑 |
> | `LX_E_FILE_INVALID = -16` | 文件错误（文件名或类型或格式不正确或文件打开失败） | 文件路径/类型错误或文件不存在或无法打开等情况，需检查传入参数文件路径是否可以手动打开 |
> | `LX_E_CRC_CHECK_FAILED = -17` | 文件crc或md5校验失败 | 文件上传或下载时crc或md5校验失败，需重试 |
> | `LX_E_TIME_OUT = -18` | 超时 | 重试。可能由于网络原因导致丢包较多或相机帧率过低 |
> | `LX_E_FRAME_LOSS = -19` | 漏帧 | 常发生在回调方式下丢包丢帧，少量情况下无需特殊处理；大量出现情况下，需检查网络带宽，缓存等情况 |
> | `LX_E_ENABLE_ANYSTREAM_FAILED = -20` | 开启任意流失败 | 版本2.4.9之前不允许关闭所有流数据，后续版本该错误码已废除 |
> | `LX_E_NOT_RECEIVE_STREAM = -21` | 未收到流数据 | 未收到码流数据，参考相机打开无数据 |
> | `LX_E_PARSE_STREAM_FAILED = -22` | 启流成功但解析流数据失败 | 解析码流失败，需确认固件版本或联系 MRDVS 支持。 |
> | `LX_E_PROCESS_IMAGE_FAILED = -23` | 图像计算处理失败 | 确认图像算法库版本“Dataprocess” |
> | `LX_E_SETTING_NOT_ALLOWED = -24` | 常开模式下不允许设置 | 工作模式,常开模式下，不允许设置ROI或设置多机/对齐等操作，需调整调用逻辑，先设置相机工作模式，再做设置操作 |
> | `LX_E_LOAD_DATAPROCESSLIB_ERROR = -25` | 加载图像处理算法库错误 | 确保图像算法库Dataprocess（动态链接库 / 共享对象文件）存在且包含在库加载的环境变量中，执行：source install.sh |
> | `LX_E_FUNCTION_CALL_LOGIC_ERROR = -26` | 函数调用逻辑错误 | 函数调用顺序或前置逻辑有误，需根据SDK日志报错，调整调用逻辑，常见逻辑问题如下： 1、设置参数会导致图像尺寸变化，需先停流； 2、常开模式下，不允许改变图像尺寸； 3、算法上移与开启内置应用算法互斥； 4、HDR使能开启时不允许开启自动曝光； 5、自动曝光相关参数与自动光爆状态有关； 6、触发相关参数与触发模式有关 |
> | `LX_E_IPAPPDR_UNREACHABLE_ERROR = -27` | IP不可达或网络配置错误 | 网络不通，需确保SDK端主机可以ping通视觉设备 |
> | `LX_E_FRAME_ID_NOT_MATCH = -28` | 超时范围内帧不同步错误 | 当开启RGBD帧同步功能后，实际码流中出现tof与rgb数据帧不同步情况下报该错，可根据实际使用场景（同步优先级高还是数据实时性优先级高）区分选择丢弃该帧数据或忽视该报错 |
> | `LX_E_FRAME_MULTI_MACHINE = -29` | 帧中检测到多机干扰信号 | 根据实际使用场景，选择丢弃该帧数据或忽视该报错 |

> **取流后图像三分**
>
> **可能原因**
>
> 获取图像后，显示的长宽比例异常

> **ROS2 与 SDK 库冲突**
>
> **处理方法**
>
> util文件夹里面封装了相机sdk，间接去链接相机sdk库

> **如何在软件层面判断相机是Lite版本还是标准带rgb版本**
>
> **处理方法**
>
> DcGetBoolValue(handle, LX\_BOOL\_ENABLE\_2D\_STREAM, \&test\_rgb) 如果相机是Lite版本，会返回不支持

> **时间同步方式**
>
> **处理方法**
>
> SDK和PTP同步，每次接口调用自动同步，无需额外触发


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.