Rapid Prototyping von Kameraanwendungen

Interaktives Programmieren mit IDS peak und uEye+ Kameras

Python ist eine sehr gebräuchliche Programmiersprache im Internet of Things (IoT). Sie erlaubt das Schreiben und Testen kurzer Code-Schnipsel, ohne die aufwendige Einrichtung einer kompletten Entwicklungsumgebung. Die Möglichkeit, interaktiv zu programmieren, macht sie zur idealen Schnittstelle für die Test- und Erprobungsphase. Gerade in Verbindung mit Embedded Systemen kann Python punkten, da kein aufwendiges Cross-Compilieren notwendig ist.

Mit IDS peak 1.2 können Sie die Vorteile von Python auch für die Programmierung Ihrer uEye+ Kameraanwendungen einsetzen. Die zahlreichen Kamerafeatures der IDS Industriekameras lassen sich damit schnell ausprobieren, analysieren und für die spätere Nutzung in einem größeren Softwareprojekt vorbereiten. Wir möchten Ihnen deshalb mit diesem Techtipp die Programmierung von uEye+ Kameras über das IDS peak python Interface etwas näher erklären.

Die verwendeten Python Sourcecode-Beispiele verdeutlichen den grundlegenden Umgang mit den Kameras und der Schnittstelle. Sie sind als "Jupyter-Notebooks" angelegt. Dadurch können sie in der Open-Source-Webanwendung mit Ihren uEye+ Kameras live getestet und nachvollzogen werden.

Wir beschreiben die Installation und Verwendung der Jupyter Notebooks exemplarisch für einen Windows 10 PC. Da Python für mehrere Plattformen zur Verfügung steht, und Jupyter Notebooks eine plattformunabhängige Webanwendung ist, können Sie die Sourcecode-Beispiele natürlich ebenfalls unter Linux ausführen und testen.

Voraussetzungen

Python Installationsdialog - Erweiterte Optionen
Python Installationsdialog - Erweiterte Optionen

Achten Sie darauf, dass Python für "alle Benutzer" installiert wird und dass Python zur "Pfad"-Variablen hinzugefügt wird. Dann können Sie Python auch über die Eingabeaufforderung verwenden.

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

Die Installation der Open-Source-Webanwendung erfolgt ebenfalls sehr einfach mit pip:

pip install notebook

Falls Sie weitere Infos zu Jupyter Notebook benötigen:

Notebook Server

Öffnen Sie ein Powershell Fenster (Benutzerrechte reichen dazu aus) und starten Sie den Jupyter Notebook Server.

Powershell im Ordner öffnen
Starten Sie den Server direkt im Installationsordner des Beispiel-Notebooks, dann stehen Ihnen die Notebooks direkt zur Verfügung.
Um ein PowerShell-Fenster direkt in einem bestimmten Ordner zu öffnen, navigieren Sie im Explorer zuerst in dieses Verzeichnis, tippen dort in der Pfad-Leiste oben "powershell" ein und bestätigen mit "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).

Der Notebook-Server wird beim Start in Ihrem Standard-Webbrowser geöffnet und gibt in der Shell ein paar Informationen aus, einschließlich der URL der Webanwendung (standardmäßig http://localhost:8888). Wenn der Server in Ihrem Browser geöffnet wird, sehen Sie das Notebook-Dashboard, das eine Liste der Notizbücher, Dateien und Unterverzeichnisse in dem Verzeichnis anzeigt, in dem der Notebook-Server gestartet wurde.

Notebook verwenden

Öffnen Sie nun einfach das Notebook "ids-peak-python-sample-jupyter.jpynb" im Server.