カメラアプリケーションのラピッドプロトタイピング

IDS peak と uEye+ カメラによるインタラクティブなプログラミング

Python は IoT (モノのインターネット) では非常に一般的なプログラミング言語です。このため、時間をかけて統合開発環境全体のセットアップを行うことなく、短いコードスニペットを作成してテストできます。インタラクティブなプログラミングにより、テストおよび試行フェーズの最適なインターフェースが生まれます。特に組み込みシステムと組み合わせる場合には、時間がかかるクロスコンパイルが必要となるため、Python の右に出るものはありません。

IDS peak 1.2 により、uEye+ カメラアプリケーションをプログラミングする際に Python のメリットを活用できます。IDS 産業用カメラの多彩なカメラ機能をすばやくテストし、分析し、後で大規模なソフトウェアプロジェクトに使用するために準備できます。そこでこのテクニカルティップスでは、IDS peak Python インターフェースによる uEye+ カメラのプログラミングの詳細を説明します。

ここで使用した Python ソースコードのサンプルでは、カメラとインターフェースの基本的な操作方法を示しています。これらは「Jupyter Notebook」として設計され、uEye+ カメラを使用して、オープンソースの Web アプリケーションでテストし、ライブで再現できます。

Windows 10 PC を例として、Jupyter Notebook のインストールと使用方法を説明します。Python は複数のプラットフォームで使用でき、Jupyter Notebook はプラットフォームに依存しない Web アプリケーションなので、ソースコードサンプルを Linux で実行してテストすることもできます。

要件

Python インストールのダイアログ - 高度なオプション
Python インストールのダイアログ - 高度なオプション

Python を「すべてのユーザー」にインストールし、Python が "path" 変数に追加します。すると、コマンドプロンプト経由で Python を使用できるようになります。

pip install Pillow
pip install matplotlib
pip install opencv-python
pip install torch
python -m pip install --upgrade pip
pip install "C:\Program Files\IDS\ids_peak\sdk\api\binding\python\wheel\x86_64\ids_peak-1.2.0.5-cp38-cp38-win_amd64.whl"
pip install "C:\Program Files\IDS\ids_peak\sdk\ipl\binding\python\wheel\x86_64\ids_peak_ipl-1.2.2.1-cp38-cp38-win_amd64.whl"

Jupyter Notebook

オープンソース Web アプリケーションのインストールも、pip を使用すると非常に簡単です。

pip install notebook

Jupyter Notebook の詳細については、以下をご覧ください。

Notebook Server

Powershell ウィンドウ (ユーザー権限で十分) を開き、Jupyter Notebook Server を起動します。

Powershell をフォルダーから開く
サンプル Notebook のインストールフォルダーでサーバーを直接起動すると、Notebook をすぐに使用できます。
PowerShell ウィンドウを特定のフォルダーから直接開くには、エクスプローラーでそのディレクトリに移動し、上部のパスバーに「powershell」と入力して、Enter を押して確定します。

PS C:\Users\ids\ids-peak-jupyter-notebooks> jupyter notebook
[I 12:12:45.115 NotebookApp] Serving notebooks from local directory: C:\Users\ids\ids-peak-jupyter-notebooks
[I 12:12:45.115 NotebookApp] The Jupyter Notebook is running at:
[I 12:12:45.115 NotebookApp] http://localhost:8888/?token=f8baad4df16a4b1436c59723cfcba540c4b5a923b3352120
[I 12:12:45.115 NotebookApp]  or http://127.0.0.1:8888/?token=f8baad4df16a4b1436c59723cfcba540c4b5a923b3352120
[I 12:12:45.115 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

Notebook サーバーが起動時にデフォルトの Web ブラウザーで開き、Web アプリケーションの URL (デフォルトは http://localhost:8888) など、少量の情報がシェルに出力されます。サーバーがブラウザーで開かれると、Notebook ダッシュボードが表示されます。ここには、Notebook が起動されたディレクトリ内の Notebook、ファイル、サブディレクトリが一覧されます。

Notebook の使用

サーバーで Notebook "ids-peak-python-sample-jupyter.jpynb" を開きます。