Prototypage rapide d'applications de caméras

Programmation interactive avec IDS peak et les caméras uEye+

Python est un langage de programmation très courant dans l'Internet des objets (IoT). Il permet d'écrire et de tester de courts extraits de code sans perdre de temps à créer un environnement de développement complet. La possibilité de programmation interactive en fait l'interface idéale pour la phase de test et d'essai. Python peut marquer des points, notamment en ce qui concerne les systèmes embarqués, car aucune compilation croisée complexe n'est nécessaire.

Avec IDS peak 1.2, vous pouvez également utiliser les avantages de Python pour programmer vos applications de caméra uEye+. Les nombreuses fonctionnalités des caméras industrielles IDS peuvent ainsi être rapidement testées, analysées et préparées pour une utilisation ultérieure dans un projet logiciel plus vaste. Avec cette astuce technique, nous souhaitons vous expliquer la programmation des caméras uEye+ via l'interface python d'IDS peak.

Les exemples de code source Python utilisés illustrent la manipulation de base des caméras et de l'interface. Ils sont conçus comme des « notebooks Jupyter ». Cela permet de les tester et de les suivre en direct dans l'application Web Open Source avec vos caméras uEye+.

Nous décrivons l'installation et l'utilisation des notebooks Jupyter à titre d'exemple pour un PC Windows 10. Puisque Python est disponible pour plusieurs plateformes et que Jupyter Notebooks est une application web indépendante de la plateforme, vous pouvez aussi exécuter et tester les exemples de code source sur Linux.

Conditions préalables

Boîte de dialogue d'installation de Python - Options avancées
Boîte de dialogue d'installation de Python - Options avancées

Assurez-vous que Python est installé pour « tous les utilisateurs » et que Python est ajouté aux variables d'environnement « Chemin ». Ensuite, vous pouvez également utiliser Python à partir de l'invite de commande.

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

L'installation de l'application Web Open Source est également très simple avec pip :

pip install notebook

Si vous avez besoin d'un complément d'informations sur Jupyter Notebook :

Notebook Server

Ouvrez une fenêtre Powershell (les droits d'utilisateur sont suffisants) et démarrez Jupyter Notebook Server.

Ouverture de Powershell dans le dossier
Démarrez le serveur directement dans le dossier d'installation de l'exemple Notebook, les notebooks sont alors directement disponibles.
Pour ouvrir une fenêtre PowerShell directement dans un dossier spécifique, accédez d'abord à ce répertoire via l'Explorateur, tapez « powershell » dans la barre de chemin en haut et confirmez par « Entrée ».

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 Server s'ouvre dans votre navigateur web par défaut au démarrage et édite quelques informations dans le shell, notamment l'URL de l'application Web (par défaut http://localhost:8888). Lorsque le serveur s'ouvre dans votre navigateur, vous voyez le tableau de bord Notebook, qui affiche une liste de notebooks, de fichiers et de sous-répertoires dans le répertoire de démarrage du serveur Notebook.

Utilisation d'un notebook

Il suffit maintenant d'ouvrir le notebook « ids-peak-python-sample-jupyter.jpynb » sur le serveur.