MATLAB et OpenCV
OpenCV s'intègre à MATLAB® et Simulink® pour le développement collaboratif, la simulation, le test et l'implémentation de systèmes basés sur le traitement d'images et la Computer Vision. Grâce à des interfaces utilisant l'API C++ d'OpenCV, MATLAB et Simulink supportent l'intégration avec OpenCV.
En intégrant OpenCV à MATLAB et Simulink, vous pouvez :
- Utiliser et explorer des algorithmes de recherche actuels, qu'ils soient implémentés dans MATLAB ou Simulink, ou qu'ils utilisent du code OpenCV
- Exploiter le code OpenCV tout en bénéficiant des fonctionnalités d'accès aux données, d'acquisition d'images, de visualisation, de simulation système et de test, offertes par MATLAB et Simulink
- Utiliser MATLAB et Simulink pour explorer, analyser et débugger des designs intégrant du code OpenCV
- Déployer, sur du hardware embarqué, des designs de systèmes utilisant conjointement du code MATLAB, des modèles Simulink et du code OpenCV
Interface OpenCV pour MATLAB
L'interface OpenCV pour MATLAB facilite l'importation de fonctions individuelles ou de projets C++ complets basés sur OpenCV dans MATLAB via des fichiers MEX. Ce support package nécessite la Computer Vision Toolbox. L'interface OpenCV propose :
- Des binaires OpenCV précompilés, permettant d'éviter la compilation d'OpenCV
- Un script de compilation pour créer des fichiers MEX basés sur OpenCV
- Des conversions de types de données entre MATLAB et OpenCV
- Des exemples pour vous aider à démarrer avec les workflows courants, tels que la détection et l'extraction de caractéristiques, le traitement d'images et l'estimation du mouvement
Vous pouvez commencer en utilisant cet exemple simple en ligne de commande :
% After installing support package >> mexOpenCV detectORBFeatures.cpp % Then call this function in MATLAB just like any other MATLAB command >> im = imread('cameraman.tif'); >> keypoints = detectORBFeatures(im);
Commencez par consulter la documentation de l'interface OpenCV de Computer Vision Toolbox dans MATLAB. Cela vous aidera pour télécharger le support package, comprendre et utiliser la syntaxe ; vous pourrez également explorer des exemples.
Interface OpenCV pour Simulink
L'interface OpenCV pour Simulink vous permet d'importer du code OpenCV dans Simulink. Ce support package nécessite la Computer Vision Toolbox. L'interface OpenCV pour Simulink vous permet d'effectuer les tâches suivantes :
- Importer du code OpenCV dans un bloc Simulink via l'interface utilisateur OpenCV Importer
- Générer du code C++ pour le modèle Simulink intégrant du code OpenCV
- Accéder à des exemples montrant comment utiliser OpenCV Importer pour concevoir différents exemples liés à la vision
Commencez par cet exemple simple qui utilise un modèle Simulink pour convertir une entrée vidéo RGB en niveaux de gris avec une fonction OpenCV dans le sous-système subsystem_slwrap_toGrayScale.
L’application OpenCV Importer permet d’importer une fonction OpenCV qui effectue la conversion RGB en niveaux de gris et de créer une bibliothèque Simulink contenant le bloc équivalent pour la fonction. Vous pouvez alors intégrer ce bloc dans votre modèle Simulink.
Utilisation du sous-système subsystem_slwrap_toGrayScale qui a été créé grâce à l'application OpenCV Importer pour convertir une image RGB (en entrée) en une image en niveaux de gris (en sortie).
Spécification des emplacements de fichiers pour la bibliothèque OpenCV.
Commencez par consulter la documentation de l'interface OpenCV de Computer Vision Toolbox dans Simulink. Cela vous aidera pour télécharger le support package, explorer et utiliser l'outil OpenCV Importer ; vous pourrez également consulter des exemples.
Computer Vision avec MATLAB
MATLAB et la Computer Vision Toolbox™ offrent des fonctionnalités non disponibles dans OpenCV. La toolbox propose des algorithmes pour la détection d'objets, la reconnaissance d'images et le traitement LiDAR 3D. Des applications interactives, telles que Camera Calibrator et Image Labeler, permettent un gain de temps considérable lors du développement d'algorithmes de traitement d’images.
MATLAB dispose de nouvelles fonctionnalités de Deep Learning pour la Computer Vision, notamment l'accès aux derniers modèles de Deep Learning et l'accélération de l'apprentissage via l'utilisation de plusieurs GPU, du cloud ou de clusters. Vous pouvez convertir vos modèles en code CUDA grâce à GPU Coder™. Le code CUDA ainsi généré exécute les modèles jusqu'à 7 fois plus vite que TensorFlow.
Appel de MATLAB depuis des applications C++ et Python
Interagissez avec des des types de données et des fonctions MATLAB à partir d'autres langages de programmation via MATLAB Engine :
- Pour la documentation sur l'appel de MATLAB dans Python avec MATLAB Engine, consultez la documentation de l'API MATLAB pour Python.
- Pour la documentation sur l'appel de MATLAB à partir d'applications C++, consultez la page Appel de MATLAB depuis des applications C et C++.
Exemples et démonstrations
Références logicielles
Voir aussi: détection d’objets, reconnaissance d'images, reconnaissance d'objets, vision stéréo, extraction de caractéristiques, nuage de points