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

> Camera SDKを使って、アプリケーションからMRDVSカメラへの接続、パラメーター設定、データ取得を行えます。

> **[CameraSDKのGitHubリポジトリ](https://github.com/Lanxin-MRDVS/CameraSDK#english)**
>
> 開発ライブラリ、英語の資料、サンプル、更新履歴を確認できます。

## SDKのダウンロード

| OS | バージョン | ダウンロード |
| - | - | - |
| 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) |

## ツールの選び方

| 作業 | ツール |
| - | - |
| カメラ接続、画像・点群の確認、パラメーター調整 | [LxCameraViewer](/ja/developers/software/lxcameraviewer.md) |
| アプリケーションでのデータ取得とカメラ制御 | Camera SDK |
| アプリケーションアルゴリズムの導入 | [アルゴリズムの導入ガイド](/ja/solutions/index.md) |

## 開発の流れ

**1. 接続を確認**

LxCameraViewerで接続状態、画像、点群を確認します。

**2. SDKパッケージを選択**

OSとプロセッサーのアーキテクチャに合ったパッケージを選び、付属資料を確認します。

**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://raw.githubusercontent.com/Lanxin-MRDVS/CameraSDK/master/Document_EN/MRDVS_LxCameraSDK_C-Cpp_DeveloperGuide_V2.0_20260604.pdf) |
| Python開発ガイド | V2.0 · 英語 | [PDFをダウンロード](https://raw.githubusercontent.com/Lanxin-MRDVS/CameraSDK/master/Document_EN/MRDVS_LxCameraSDK_Python_DeveloperGuide_V2.0_20260604.pdf) |
| Linuxサンプルガイド | V2.0 · 英語 | [PDFをダウンロード](https://raw.githubusercontent.com/Lanxin-MRDVS/CameraSDK/master/Document_EN/MRDVS_LxCameraSDK_Linux_SampleGuide_V2.0_20260727.pdf) |

> **API・連携の詳細資料**
>
> API、サンプル、通信プロトコルの詳細を参照できます。インストール先や対応機能は、使用する SDK とファームウェアのバージョンで確認してください。
>
> * [Camera SDK ユーザーガイド](/ja/developers/camera-sdk/user-guide.md)
> * [Linux SDK サンプル](/ja/developers/camera-sdk/linux-examples.md)
> * [JSON通信プロトコル](/ja/developers/camera-sdk/json-protocol.md)

## エラーコードとトラブルシューティング

エラーコードはSDK、接続、データストリームの問題を特定する手掛かりになります。トラブルシューティング前に、エラーコード、SDKバージョン、カメラモデル、デバイスログを記録してください。

> [!WARNING]
>
> 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` | **原因** 排他制御権限を取得できません。**対処** カメラを制御できるプライマリクライアントは1つだけです。カメラを正常終了しなかった場合は、権限が解放されるまで `3–5 s` 待ちます。 |
> | `LX_E_GET_DEVICEINFO_ERROR = -10` | **原因** デバイス情報を読み取れません。**対処** デバイスのファームウェアバージョンを確認するか、MRDVSサポートへお問い合わせください。 |
> | `LX_E_IMAGE_SIZE_ERROR = -11` | **原因** 要求した画像サイズがストリームと一致しません。**対処** デバイスを閉じて再度開きます。 |
> | `LX_E_IMAGE_PARTITION_ERROR = -12` | **原因** 多くの場合ピクセル形式が正しくないため、画像解析に失敗しました。**対処** デバイスを再度開きます。 |
> | `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検証に失敗しました。**対処** 転送を再試行します。 |
> | `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` | **原因** RGBとToFのフレームがタイムアウト時間内に同期しませんでした。**対処** RGB-D同期が有効な場合、アプリケーションで同期とリアルタイム性のどちらを優先するかに応じて、フレームを破棄するか警告を無視するかを選択します。 |
> | `LX_E_FRAME_MULTI_MACHINE = -29` | **原因** フレームに別のカメラからの干渉信号が含まれます。**対処** アプリケーションに応じてフレームを破棄するか、警告を無視します。 |

> **エラー `-25` または `LxDataProcess` の読み込みに失敗する**
>
> **原因** Linuxでライブラリが環境パスに含まれていません。**対処** `source install.sh` を実行します。

> **取得画像が3つの領域に分割される**
>
> **原因** 表示画像のアスペクト比が正しくありません。

> **ROS 2とSDKライブラリが競合する**
>
> **対処** `util` ディレクトリのラッパーを使用します。カメラ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.