OpenCV
OpenCV (pour Open Computer Vision) est une bibliothèque libre, initialement développée par Intel, spécialisée dans le traitement d'images en temps réel. La société de robotique Willow Garage, puis la société ItSeez se sont succédé au support de cette bibliothèque. Depuis 2016 et le rachat de ItSeez par Intel, le support est de nouveau assuré par Intel.
Développé par | Intel et Willow Garage |
---|---|
Première version | |
Dernière version | 4.8.0 ()[1] |
Version avancée | 2.4.12[2] et 3.0.1[3] () |
DĂ©pĂ´t | github.com/opencv/opencv |
Écrit en | C++, Python, Java |
Environnement | Windows, Android[4] Maemo[5], FreeBSD, OpenBSD, iOS[6] Linux et Mac OS |
Type |
Bibliothèque logicielle Bibliothèque C (d) Bibliothèque logicielle Python (d) |
Licence | BSD |
Site web | opencv.org |
Cette bibliothèque est distribuée sous licence BSD.
NVidia a annoncé en septembre 2010 qu'il développerait des fonctions utilisant CUDA pour OpenCV[7].
Fonctionnalités
La bibliothèque OpenCV met à disposition de nombreuses fonctionnalités très diversifiées permettant de créer des programmes en partant des données brutes pour aller jusqu'à la création d'interfaces graphiques basiques.
Traitement d'images
Elle propose la plupart des opérations classiques en traitement bas niveau des images [8]:
- lecture, écriture et affichage d’une image ;
- calcul de l'histogramme des niveaux de gris ou d'histogrammes couleurs ;
- lissage, filtrage ;
- seuillage d'image (méthode d'Otsu, seuillage adaptatif)
- segmentation (composantes connexes, GrabCut) ;
- morphologie mathématique.
Traitement vidéos
Cette bibliothèque s'est imposée comme un standard dans le domaine de la recherche parce qu'elle propose un nombre important d'outils issus de l'état de l'art en vision des ordinateurs tels que :
- lecture, écriture et affichage d’une vidéo (depuis un fichier ou une caméra)
- détection de droites, de segment et de cercles par Transformée de Hough
- détection de visages par la méthode de Viola et Jones
- cascade de classifieurs boostés
- détection de mouvement, historique du mouvement
- poursuite d'objets par mean-shift ou Camshift
- détection de points d'intérêts
- estimation de flux optique (Méthode de Lucas–Kanade)
- triangulation de Delaunay
- diagramme de Voronoi
- enveloppe convexe
- ajustement d'une ellipse à un ensemble de points par la méthode des moindres carrés
Algorithmes d'apprentissages
Certains algorithmes classiques dans le domaine de l'apprentissage artificiel sont aussi disponibles :
- K-means
- AdaBoost et divers algorithmes de boosting
- RĂ©seau de neurones artificiels
- SĂ©parateur Ă vaste marge
- Estimateur (statistique)
- Les arbres de décision et les forêts aléatoires
Calculs Matriciels
Depuis la version 2.1 d'OpenCV l'accent a été mis sur les matrices et les opérations sur celles-ci. En effet, la structure de base est la matrice. Une image peut être considérée comme une matrice de pixels. Ainsi, toutes les opérations de base des matrices sont disponibles, notamment :
- transposée
- calcul du déterminant
- inversion
- multiplication (par une matrice ou un scalaire)
- calcul des valeurs propres
Autres fonctionnalités
Elle met également à disposition quelques fonctions d'interfaces graphiques, comme les curseurs à glissière, les contrôles associés aux événements souris, ou bien l'incrustation de texte dans une image.
Notes et références
- « Release 4.8.0 », (consulté le )
- http://code.opencv.org/projects/opencv/versions/26
- http://code.opencv.org/projects/opencv/versions/25
- Android port: http://opencv.willowgarage.com/wiki/AndroidExperimental
- Maemo port: https://garage.maemo.org/projects/opencv
- iPhone port: http://www.eosgarden.com/en/opensource/opencv-ios/overview/
- (en) « EDN - Voice of the Engineer », sur EDN (consulté le ).
- Traitement de l’image et de la vidéo Editions : Ellipses - Technosup (2010)
Liens externes
- (en) Site officiel
- (en) « Accueil du projet OpenCV », sur SourceForge.net.