Open Source Computer Vision (OpenCV) est une bibliothèque de programmation informatique open source développé pour supporter les applications qui utilisent la vision par ordinateur. Il offre des centaines de fonctions pour la capture, l'analyse et la manipulation des données visuelles et peut éliminer certains des programmeurs de tracas visage quand le développement d'applications qui s'appuient sur la vision par ordinateur. Des portions de la bibliothèque offrent également l'interface utilisateur et les fonctions de reconnaissance de formes. OpenCV a été employé dans des applications pratiques et créatives y compris les véhicules auto-pilotage et de nouvelles formes d'art numérique.
Les bibliothèques de programmation offrent des fonctions communes ou des capacités complexes que les développeurs peuvent utiliser dans leurs programmes. La bibliothèque OpenCV contient des centaines de fonctions qui prennent en charge la capture, l'analyse et la manipulation de l'information visuelle transmis à un ordinateur par webcams, fichiers vidéo, ou d'autres types d'appareils. Fonctions simples peuvent être utilisées pour dessiner une ligne ou une autre forme sur un écran, tandis que les parties les plus avancés de la bibliothèque contiennent des algorithmes de détection de visages, le suivi de mouvement, et l'analyse des formes. Beaucoup d'algorithmes de cette bibliothèque sont liés à des utilisations spécifiques de la vision par ordinateur, y compris l'inspection des produits, l'imagerie médicale, la robotique, du visage et la reconnaissance des gestes, et l'interaction homme-machine (IHM). Comme une bibliothèque de programmation open source, OpenCV peut être utilisé avec très peu de restrictions dans les deux projets commerciaux et amateurs.
Avec OpenCV, un développeur peut éliminer une partie du travail complexe et fastidieux qui va en faire fonction de vision par ordinateur fiable et se concentrer sur la construction de l'application. Plutôt que de créer des algorithmes de reconnaissance faciale et autres, un programmeur peut ajouter quelques lignes de code pour avoir accès à un programme de la fonction de bibliothèque appropriée. Cela signifie également un programmeur n'a pas besoin de maîtriser tous les aspects de la vision par ordinateur pour créer un programme qui l'utilise.
En plus de la fonctionnalité de traitement d'image vidéo de base et, OpenCV des modules secondaires destinés à soutenir d'autres domaines d'une application. L'un de ces modules comprend des algorithmes d'apprentissage machine permettant d'analyser et de prévoir les motifs visuels. Le module HighGUI fournit des éléments d'interface utilisateur ainsi que des fonctions pour stocker et accéder à des fichiers vidéo et image.
La bibliothèque OpenCV se trouve au cœur de certains varient projets ambitieux. Avec un assortiment de capteurs, du matériel informatique et des logiciels personnalisés, il alimenté un véhicule utilitaire sport fortement modifiée qui a navigué un mile 132 (212 km) de parcours de course dans le désert sans intervention humaine. Pas tous les projets qui s'appuient sur les ressources de la bibliothèque ne sont tellement pratique, cependant. Certains membres du mouvement de codage créatif, une confédération lâche des personnes qui considèrent la programmation comme une forme d'expression, ont utilisé la bibliothèque pour créer de nouvelles formes d'art numérique. D'autres ont piraté les dispositifs existants contenant des caméras et ouvert de nouvelles possibilités pour les jeux, l'informatique interactive, et même téléprésence.