> ## 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.

# Camera SDK

> Use Camera SDK para conectar cámaras MRDVS a su aplicación, configurar parámetros y adquirir datos.

> **[CameraSDK en GitHub](https://github.com/Lanxin-MRDVS/CameraSDK#english)**
>
> Bibliotecas de desarrollo, documentación en inglés, ejemplos y notas de versión.

## Descargar SDK

| Sistema operativo | Versión | Descargar |
| - | - | - |
| Windows | V2.4.70 | [Descargar 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 | [Descargar 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) |

## Elegir una herramienta

| Tarea | Herramienta |
| - | - |
| Conectar cámaras, revisar imágenes y nubes de puntos y ajustar parámetros | [LxCameraViewer](/es/developers/software/lxcameraviewer.md) |
| Adquirir datos y controlar cámaras desde la aplicación | Camera SDK |
| Implementar algoritmos de aplicación | [Guías de implementación de algoritmos](/es/solutions/index.md) |

## Proceso de desarrollo

**1. Comprobar la conexión**

Use LxCameraViewer para comprobar la conexión, las imágenes y las nubes de puntos.

**2. Elegir el paquete SDK**

Seleccione el paquete para su sistema operativo y arquitectura del procesador y consulte su documentación.

**3. Ejecutar un ejemplo e integrar**

Ejecute primero un ejemplo y después integre su aplicación. Registre las versiones de SDK y firmware de la cámara utilizadas.

## Inicio rápido desde GitHub

Los ejemplos usan la estructura del repositorio GitHub. Los paquetes instalados pueden tener otras carpetas; adapte las rutas a su instalación.

### Plataformas compatibles

| OS | Arquitectura | Bibliotecas de ejecución | Ejemplos |
| - | - | - | - |
| 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# |

### Obtener el código fuente

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

El script de Linux requiere privilegios de administrador e instala las bibliotecas en `/opt/MRDVS`.

### Ejecutar un ejemplo 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
```

> **Ejemplos de Python y C#**
>
> Ajuste la ruta de la biblioteca y la IP de la cámara en los ejemplos de Python. Las aplicaciones Windows deben poder cargar las DLL de su arquitectura.
>
> | Ejemplos | 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) |

> **Secuencia de llamadas API**
>
> ```text theme={null}
> DcGetDeviceList
> DcOpenDevice
> DcSetBoolValue / DcSetIntValue / DcSetFloatValue / DcSetStringValue
> DcStartStream
> DcSetCmd(LX_CMD_GET_NEW_FRAME) or DcRegisterFrameCallback
> DcGetPtrValue
> DcStopStream
> DcCloseDevice
> ```

### Integración con 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) |

## Documentación para desarrolladores

| Documentación para desarrolladores | Versión | Descargar |
| - | - | - |
| Guía de desarrollo C/C++ | V2.0 · Inglés | [Descargar PDF](https://raw.githubusercontent.com/Lanxin-MRDVS/CameraSDK/master/Document_EN/MRDVS_LxCameraSDK_C-Cpp_DeveloperGuide_V2.0_20260604.pdf) |
| Guía de desarrollo Python | V2.0 · Inglés | [Descargar PDF](https://raw.githubusercontent.com/Lanxin-MRDVS/CameraSDK/master/Document_EN/MRDVS_LxCameraSDK_Python_DeveloperGuide_V2.0_20260604.pdf) |
| Guía de ejemplos para Linux | V2.0 · Inglés | [Descargar PDF](https://raw.githubusercontent.com/Lanxin-MRDVS/CameraSDK/master/Document_EN/MRDVS_LxCameraSDK_Linux_SampleGuide_V2.0_20260727.pdf) |

> **Referencias de API e integración**
>
> Estas referencias en línea detallan las API, los ejemplos y los protocolos. Comprueba las rutas de instalación y las funciones compatibles con tus versiones del SDK y del firmware.
>
> * [Guía del usuario de Camera SDK](/es/developers/camera-sdk/user-guide.md)
> * [Ejemplos del SDK de Linux](/es/developers/camera-sdk/linux-examples.md)
> * [Protocolo de comunicación JSON](/es/developers/camera-sdk/json-protocol.md)

## Códigos de error y solución de problemas

Los códigos de error ayudan a localizar problemas del SDK, de conexión y del flujo de datos. Registra el código de error, la versión del SDK, el modelo de la cámara y el registro del dispositivo antes de solucionar problemas.

> [!WARNING]
>
> No soluciones el problema cambiando únicamente la versión del SDK. Confirma también la compatibilidad entre el firmware de la cámara, la biblioteca de procesamiento de datos y el entorno de desarrollo.

> **Códigos de error SDK (−1 a −29)**
>
> | Código | Códigos de error y solución de problemas |
> | - | - |
> | `LX_ERROR = -1` | **Posible causa** Error desconocido. **Resolución** Exporta el registro del dispositivo y envíalo al soporte técnico de MRDVS. |
> | `LX_E_NOT_SUPPORT = -2` | **Posible causa** La función no es compatible. **Resolución** El dispositivo actual no admite esta función. |
> | `LX_E_NETWORK_ERROR = -3` | **Posible causa** Error de comunicación de red. **Resolución** Comprueba la configuración IP, los cables de red, el switch y la pérdida de paquetes. |
> | `LX_E_INPUT_ILLEGAL = -4` | **Posible causa** Un parámetro de entrada no es válido. **Resolución** Comprueba los parámetros que se pasan a la interfaz. |
> | `LX_E_RECONNECTING = -5` | **Posible causa** El dispositivo se está reconectando. **Resolución** 1. Espera brevemente y vuelve a intentarlo hasta que se restablezca la conexión. 2. Comprueba que la cámara esté encendida y que la conexión de red sea normal. |
> | `LX_E_DEVICE_ERROR = -6` | **Posible causa** El dispositivo falló o no respondió. **Resolución** Reinicia la aplicación o la cámara e inténtalo de nuevo. |
> | `LX_E_DEVICE_NEED_UPDATE = -7` | **Posible causa** La versión del dispositivo es demasiado antigua. **Resolución** Actualiza el firmware. |
> | `LX_E_API_NEED_UPDATE = -8` | **Posible causa** La versión de la API es demasiado antigua. **Resolución** Actualiza el SDK. |
> | `LX_E_CTRL_PERMISS_ERROR = -9` | **Posible causa** No se pudo obtener el permiso de control exclusivo. **Resolución** Solo un cliente principal puede controlar una cámara. Si la cámara no se apagó correctamente, espera `3–5 s` a que se libere el permiso. |
> | `LX_E_GET_DEVICEINFO_ERROR = -10` | **Posible causa** No se pudo leer la información del dispositivo. **Resolución** Comprueba la versión del firmware del dispositivo o contacta con el soporte de MRDVS. |
> | `LX_E_IMAGE_SIZE_ERROR = -11` | **Posible causa** El tamaño de imagen solicitado no coincide con el flujo. **Resolución** Cierra el dispositivo y vuelve a abrirlo. |
> | `LX_E_IMAGE_PARTITION_ERROR = -12` | **Posible causa** No se pudo analizar la imagen, a menudo porque el formato de píxel es incorrecto. **Resolución** Vuelve a abrir el dispositivo. |
> | `LX_E_DEVICE_NOT_CONNECTED = -13` | **Posible causa** La cámara no está conectada. **Resolución** La aplicación intentó usar una cámara que no estaba abierta. Comprueba el orden de las llamadas y confirma que la cámara se haya abierto correctamente. |
> | `LX_E_DEVICE_INIT_FAILED = -14` | **Posible causa** Falló la inicialización de la cámara. **Resolución** Vuelve a abrir la cámara. |
> | `LX_E_DEVICE_NOT_FOUND = -15` | **Posible causa** No se encontró ninguna cámara o ninguna cámara coincidente. **Resolución** Comprueba que el controlador de cámara que se pasa a la interfaz sea válido. |
> | `LX_E_FILE_INVALID = -16` | **Posible causa** El nombre, tipo, formato o ruta del archivo no es válido, o no se pudo abrir el archivo. **Resolución** Comprueba que la ruta sea correcta y que el archivo se pueda abrir manualmente. |
> | `LX_E_CRC_CHECK_FAILED = -17` | **Posible causa** Falló la verificación CRC o MD5 durante la carga o descarga. **Resolución** Vuelve a intentar la transferencia. |
> | `LX_E_TIME_OUT = -18` | **Posible causa** Se agotó el tiempo de espera de la solicitud. **Resolución** Vuelve a intentarlo. La pérdida de paquetes o una velocidad de fotogramas baja de la cámara pueden ser la causa. |
> | `LX_E_FRAME_LOSS = -19` | **Posible causa** Se perdieron fotogramas, a menudo en modo callback. **Resolución** Una pérdida ocasional puede no requerir ninguna acción. Si la pérdida es frecuente, comprueba el ancho de banda de la red y el almacenamiento en búfer. |
> | `LX_E_ENABLE_ANYSTREAM_FAILED = -20` | **Posible causa** No se pudo activar la configuración de flujo solicitada. **Resolución** Las versiones anteriores a `2.4.9` no permitían desactivar todos los flujos. Este código de error está obsoleto en versiones posteriores. |
> | `LX_E_NOT_RECEIVE_STREAM = -21` | **Posible causa** No se recibieron datos del flujo. **Resolución** Usa los pasos de solución de problemas de apertura de la cámara para un flujo de datos ausente. |
> | `LX_E_PARSE_STREAM_FAILED = -22` | **Posible causa** El flujo se inició, pero no se pudo analizar. **Resolución** Comprueba la versión del firmware o contacta con el soporte de MRDVS. |
> | `LX_E_PROCESS_IMAGE_FAILED = -23` | **Posible causa** Falló el procesamiento de la imagen. **Resolución** Confirma que la versión de la biblioteca de procesamiento de imágenes `Dataprocess` sea compatible. |
> | `LX_E_SETTING_NOT_ALLOWED = -24` | **Posible causa** La configuración solicitada no está permitida en modo continuo. **Resolución** En modo continuo, detén el flujo antes de cambiar la ROI, el modo multicámara, la alineación u otros ajustes relacionados con el flujo. Establece primero el modo de la cámara y aplica después la configuración. |
> | `LX_E_LOAD_DATAPROCESSLIB_ERROR = -25` | **Posible causa** No se pudo cargar la biblioteca de procesamiento de imágenes. **Resolución** Asegúrate de que la biblioteca dinámica/objeto compartido `Dataprocess` exista y esté incluida en la ruta de bibliotecas. Ejecuta `source install.sh`. |
> | `LX_E_FUNCTION_CALL_LOGIC_ERROR = -26` | **Posible causa** El orden de llamadas de funciones o la lógica de requisitos previos no es válida. **Resolución** Comprueba el registro del SDK y ajusta la secuencia de llamadas. Algunos casos habituales son: 1. Detén el flujo antes de cambiar una configuración que modifique el tamaño de la imagen. 2. No cambies el tamaño de la imagen en modo continuo. 3. La carga de algoritmos y los algoritmos de aplicación integrados son mutuamente excluyentes. 4. No actives la exposición automática cuando HDR esté activado. 5. Los parámetros de exposición automática dependen del estado de exposición automática. 6. Los parámetros de activación dependen del modo de activación. |
> | `LX_E_IPAPPDR_UNREACHABLE_ERROR = -27` | **Posible causa** No se puede acceder a la dirección IP o la red está mal configurada. **Resolución** Confirma que el host del SDK pueda hacer ping a la cámara. |
> | `LX_E_FRAME_ID_NOT_MATCH = -28` | **Posible causa** Los fotogramas RGB y ToF no se sincronizaron dentro del tiempo de espera. **Resolución** Cuando la sincronización RGB-D esté activada, elige si descartas el fotograma o ignoras la advertencia según sea más importante la sincronización o los datos en tiempo real para tu aplicación. |
> | `LX_E_FRAME_MULTI_MACHINE = -29` | **Posible causa** El fotograma contiene una señal de interferencia de otra cámara. **Resolución** Según la aplicación, descarta el fotograma o ignora la advertencia. |

> **Error `-25` o fallo al cargar `LxDataProcess`**
>
> **Posible causa** En Linux, la biblioteca no está incluida en la ruta del entorno. **Resolución** Ejecuta `source install.sh`.

> **La imagen capturada está dividida en tres secciones**
>
> **Posible causa** La relación de aspecto de la imagen mostrada es incorrecta.

> **ROS 2 entra en conflicto con la biblioteca del SDK**
>
> **Resolución** Usa el wrapper del directorio `util`. Este enlaza indirectamente el Camera SDK y evita un conflicto directo de bibliotecas.

> **¿Cómo puedo distinguir una cámara Lite de una cámara estándar con RGB?**
>
> **Resolución** Llama a `DcGetBoolValue(handle, LX_BOOL_ENABLE_2D_STREAM, &test_rgb)`. Una cámara Lite devuelve que la función no es compatible.

> **¿Cómo se gestiona la sincronización temporal?**
>
> **Resolución** El SDK se sincroniza automáticamente con PTP en cada llamada a la interfaz. No se requiere ninguna activación adicional.


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