MATLAB et OpenCV

MATLAB et OpenCV

Avec le support package de l'interface OpenCV, vous pouvez intégrer la bibliothèque d'algorithmes de vision par ordinateur OpenCV dans MATLAB® pour développer des algorithmes, effectuer des analyses et réaliser des calculs numériques au sein du logiciel.

L'intégration d'OpenCV dans MATLAB vous permet d'effectuer les tâches suivantes :

Vous pouvez utiliser la Computer Vision Toolbox™ pour optimiser votre travail dans MATLAB et OpenCV. La toolbox fournit des algorithmes MATLAB pour l'extraction de caractéristiques, la détection et le suivi d'objets, la reconnaissance d'objets, la calibration géométrique de caméras et la vision 3D. La toolbox prend également en charge le prototypage rapide avec des fonctions comme le support arithmétique en virgulefixe et la génération de code C.

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.

subsystem_slwrap_toGrayScale

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.

Spécification des emplacements de fichiers pour la bibliothèque OpenCV.

Démarrez avec l'Interface OpenCV de Computer Vision Toolbox avec la documentation Simulink, qui vous aide à télécharger le support package, à explorer et à utiliser l’outil OpenCV Importer, et à explorer 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 :


Voir aussi: détection d’objets, reconnaissance d'images, reconnaissance d'objets, vision stéréo, extraction de caractéristiques, nuage de points