Python (Ubuntu)
Cette rubrique explique comment obtenir et exécuter les exemples Python de Mech-Eye API sous Ubuntu.
Liste des exemples
Les exemples sont répartis dans les catégories suivantes : de base, avancé, utilitaire et étalonnage.
-
basic exemples: Se connecter et acquérir des données.
-
advanced exemples: Acquérir des données de manière plus complexe et définir des paramètres spécifiques au modèle.
-
util exemples: Obtenir les informations de la caméra et définir des paramètres communs.
-
Calibration exemples: Effectuer l’étalonnage main-œil avec Mech-Eye API.
The samples in each category and their descriptions are provided below.
basic
-
connect_to_camera: Se connecter à une caméra.
-
connect_and_capture_images: Se connecter à une caméra et obtenir l’image 2D, la carte de profondeur et les données de nuage de points.
-
capture_2d_image: Obtenir et enregistrer l’image 2D.
-
capture_depth_map: Obtenir et enregistrer la carte de profondeur.
-
capture_point_cloud: Obtenir et enregistrer les nuages de points non texturés et texturés.
-
capture_point_cloud_hdr: Définir plusieurs temps d’exposition, puis obtenir et enregistrer le nuage de points.
-
capture_point_cloud_with_normals: Calculer les normales et enregistrer le nuage de points avec des normales.
-
save_virtual_device: Enregistrer les données acquises par la caméra en tant que fichier de périphérique virtuel.
advanced
-
convert_depth_map_to_point_cloud: Générer un nuage de points à partir de la carte de profondeur et enregistrer le nuage de points.
-
multiple_cameras_capture_sequentially: Obtenir et enregistrer des images 2D, des cartes de profondeur et des nuages de points de manière séquentielle depuis plusieurs caméras.
-
multiple_cameras_capture_simultaneously: Obtenir et enregistrer simultanément des images 2D, des cartes de profondeur et des nuages de points depuis plusieurs caméras.
-
capture_periodically: Obtenir et enregistrer périodiquement, pendant la durée spécifiée, des images 2D, des cartes de profondeur et des nuages de points depuis une caméra.
-
mapping_2d_image_to_depth_map: Générer des nuages de points non texturés et texturés à partir d’une image 2D masquée et d’une carte de profondeur.
-
render_depth_map: Obtenir et enregistrer la carte de profondeur rendue avec la palette de couleurs jet.
-
transform_point_cloud: Obtenir et enregistrer les nuages de points dans le repère personnalisé.
-
set_parameters_of_laser_cameras: Définir les paramètres spécifiques aux caméras laser (les séries DEEP et LSR).
-
set_parameters_of_uhp_cameras: Définir les paramètres spécifiques à la série UHP.
-
register_camera_event: Définir et enregistrer la fonction de rappel pour surveiller les événements de la caméra.
-
warm_up: Préchauffer l’appareil.
-
capture_stereo_2d_images: Obtenir les images 2D des deux caméras 2D de Laser L Enhanced, LSR L-GL, LSR S-GL, NANO ULTRA-GL, et DEEP-GL.
util
-
get_camera_intrinsics: Obtenir et afficher les paramètres intrinsèques de la caméra.
-
print_camera_info: Obtenir et afficher les informations de la caméra, telles que le modèle, le numéro de série, la version du firmware et les températures.
-
set_scanning_parameters: Définir les paramètres dans les catégories Paramètres 3D, Paramètres 2D et ROI.
-
set_depth_range: Définir le paramètre Plage de profondeur.
-
set_point_cloud_processing_parameters: Définir les paramètres de Traitement du nuage de points.
-
manage_user_sets: Gérer des groupes de paramètres, par exemple obtenir les noms de tous les groupes de paramètres, ajouter un groupe de paramètres, changer de groupe de paramètres et enregistrer des réglages de paramètres dans le groupe de paramètres.
-
save_and_load_user_set: Importer et remplacer tous les groupes de paramètres depuis un fichier JSON, et enregistrer tous les groupes de paramètres dans un fichier JSON.
Calibration
-
hand_eye_calibration: Effectuer l’étalonnage main-œil.
Prérequis
Pour utiliser les exemples Python de Mech-Eye API, les prérequis suivants doivent être satisfaits :
-
Assurez-vous que la variante de Python installée est 64 bits et que la version est comprise entre 3.7 et 3.11.
-
Obtenez les exemples.
-
Installez les logiciels nécessaires.
-
(Facultatif) Installez les bibliothèques logicielles dont dépendent les exemples.
Obtenir les exemples
Les exemples Python sont inclus dans le chemin d’installation de Mech-Eye SDK ou peuvent être obtenus depuis GitHub par clonage. Les exemples dans le chemin d’installation correspondent à la version au moment de la sortie de Mech-Eye SDK. La version sur GitHub peut contenir les dernières modifications.
-
Les exemples du répertoire d’installation se trouvent dans /opt/mech-mind/mech-eye-sdk/samples/python/area_scan_3d_camera.
-
Les exemples clonés depuis GitHub se trouvent dans xxx/mecheye_python_samples/area_scan_3d_camera.
Exécutez la commande suivante pour cloner les exemples Python depuis GitHub :
cd ~
git clone https://github.com/MechMindRobotics/mecheye_python_samples.git
Installer les logiciels requis
Pour utiliser les exemples Python de Mech-Eye API, il faut installer les bibliothèques de dépendance, Mech-Eye SDK et Mech-Eye API pour Python.
-
Installer Mech-Eye SDK : veuillez consulter Guide d’installation de Mech-Eye SDK (Ubuntu).
-
Installer pip3 ou mettre pip3 à niveau pour garantir que sa version est 20.3.1 ou supérieure.
Instructions
-
Exécutez la commande suivante pour vérifier si pip3 est installé ainsi que sa version :
pip3 -V -
Exécutez la commande suivante pour installer pip3 :
sudo apt install python3-pip -
Exécutez la commande suivante pour mettre à niveau pip3 :
python3 -m pip install --upgrade pip
-
-
Mettre à niveau g++ pour s’assurer que sa version est 12 ou supérieure.
Si la version de g++ est inférieure à 12, importéchouera.Instructions
-
Exécutez la commande suivante pour installer une version plus récente de g++ (en utilisant g++ 13 comme exemple) :
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt install g++-13 -
Utilisez la commande
lspour vérifier les versions de g++ installées :ls /usr/bin/g++* -
Exécutez la commande suivante pour ajouter toutes les versions installées de g++ comme alternatives (en prenant comme exemples g++ 9 et g++ 13) :
Le nombre à la fin de la commande représente la priorité. Plus le nombre est élevé, plus la priorité est grande. sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 20 -
Exécutez la commande suivante pour sélectionner la version de g++. Saisissez le numéro correspondant à la version plus récente de g++ pour la sélectionner.
sudo update-alternatives --config g++ -
Exécutez la commande suivante pour vérifier si la version plus récente de g++ a bien été sélectionnée :
g++ --version
-
-
Installer Mech-Eye API pour Python.
sudo pip3 install MechEyeApi
(Facultatif) Installer les bibliothèques logicielles dépendantes
Certains exemples contiennent des fonctions dépendant d’OpenCV. Si vous devez utiliser les exemples listés ci-dessous, OpenCV doit être installé (version la plus récente recommandée).
-
capture_2d_image
-
capture_depth_map
-
multiple_cameras_capture_sequentially
-
multiple_cameras_capture_simultaneously
-
capture_periodically
-
capture_stereo_2d_images
-
render_depth_map
Exécutez la commande suivante pour installer la dernière version d’OpenCV :
sudo apt-get install libopencv-dev
sudo apt-get install python3-opencv
– [id="install-open3d"]
Exécuter les exemples
| Les chemins fournis dans cette section correspondent aux exemples inclus dans le chemin d’installation. Si vous utilisez les exemples clonés depuis GitHub, veuillez modifier les chemins en conséquence. |
Suivez les étapes suivantes pour exécuter les exemples :
-
Accédez au dossier où se trouve un exemple. Remplacez category par le nom de la catégorie de l’exemple.
cd ~/opt/mech-mind/mech-eye-sdk/samples/python/area_scan_3d_camera/category -
Exécutez l’exemple : remplacez sample_name par le nom de l’exemple. Pendant l’exécution de l’exemple, saisissez l’index du Caméra auquel vous souhaitez vous connecter conformément aux instructions, puis appuyez sur Entrée pour vous connecter au Caméra.
sudo python3 sample_name.py -
Si des fichiers d’image et/ou de nuage de points sont enregistrés par l’exemple, vous pouvez les retrouver dans le dossier où se trouve l’exemple.
|
Lorsque vous écrivez votre propre programme, utilisez d’abord la commande import pour importer Mech-Eye API :
|