
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
Python
Python est un prérequis (Python 3.5 ou supérieur) pour l'installation de Jupyter Notebook et pour nos exemples de programmation IDS peak. Téléchargez et installez Python

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.
Bibliothèques Python supplémentaires
Dans les exemples de code source, nous utilisons des bibliothèques Python supplémentaires pour le traitement des images et la visualisation des données. Vous devez aussi les installer.
- PIL - La bibliothèque d'imagerie Python étend votre interpréteur Python avec des fonctions de traitement d'images.
- matplotlib - Matplotlib est une bibliothèque complète permettant de créer des visualisations statiques, animées et interactives en Python.
- OpenCV - Bibliothèque de vision par ordinateur
- pyTorch - Cadre d'apprentissage profond
Installez également les bibliothèques via :
pip install Pillow
pip install matplotlib
pip install opencv-python
pip install torch
IDS peak
Pour l'utilisation et la programmation des caméras uEye+, installez le SDK (Software Development Kit, kit de développement logiciel) IDS peak. Il comprend toutes les bibliothèques et tous les outils logiciels nécessaires. Kit de développement logiciel IDS peak
Installez ensuite l'API IDS peak et les liaisons Python IPL dans la version qui correspond à votre version de Python. Le plus simple consiste à passer par « pip », le programme de gestion des paquets Python, en utilisant PowerShell (en tant qu'administrateur) :
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 :
Premiers pas avec Jupyter Notebook Installation de Jupyter Notebook
Documentation Jupyter
Exécution de Jupyter Notebook
Dézippez ensuite l'exemple de code source dans un dossier sur votre PC.
Le paquet ne contient qu'un seul fichier. Jupyter Notebook à titre d'exemple. ids-peak-python-sample-jupyter.zip
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.
Le notebook est commenté et se passe d'explications. Vous pouvez l'exécuter, le personnaliser selon vos besoins et le sauvegarder à nouveau. Le Jupyter Notebook IDS peak vous guide dans l'utilisation de base des caméras uEye+ à l'aide de Python, comme la recherche et l'ouverture des appareils, le réglage des paramètres de la caméra et la capture d'images. En outre, la conversion de données d'image en différents formats de données avec IDS peak IPL (Image Processing Library) pour les processus de traitement d'image d'OpenCV est présentée. Le traitement ultérieur dans OpenCV est également illustré avec quelques fonctions standard. Enfin, vous voyez avec quelle rapidité un cadre d'apprentissage profond comme pyTorch peut être incorporé pour mettre en œuvre une détection d'objets simple dans des images de caméra.
Pour un complément d'informations sur les caméras IDS uEye+ ou leur programmation avec IDS peak, consultez la base de connaissances de notre page Web ou prenez contact avec notre équipe de conseil système.
Astuce : vidéo du webinaire uEye+
Le webinaire « Prototypage rapide d'applications de caméra » présente la programmation avec l'interface Python d'IDS peak à l'aide de ce notebook Jupiter.