Découvrez la puissance d'OpenCV, la bibliothèque open-source de référence pour la vision par ordinateur en temps réel, le traitement d'images et les innovations basées sur l'IA.
OpenCV (Open Source Computer Vision Library) est une bibliothèque logicielle complète à code source ouvert qui sert d'outil de base pour la vision par ordinateur. outil fondamental pour la vision par ordinateur (VA), l'apprentissage automatique et le traitement d'images. Développée à l'origine par Intel en 1999, elle a été conçu pour accélérer l'utilisation de la perception automatique dans les produits commerciaux et fournir une infrastructure commune pour les applications de vision par ordinateur. pour les applications de vision par ordinateur. Aujourd'hui, il prend en charge une grande variété de langages de programmation, notamment PythonC++ et Java, ce qui le rend accessible à une large communauté de développeurs et de chercheurs. de développeurs et de chercheurs. OpenCV est hautement optimisé pour les applications en temps réel, tirant parti de l'accélération matérielle pour traiter efficacement les données visuelles sur diverses plateformes, des puissants serveurs en nuage aux appareils périphériques comme le Raspberry Pi.
OpenCV propose une vaste collection de plus de 2 500 algorithmes optimisés. Ces algorithmes couvrent un large éventail de tâches allant de la manipulation classique d'images à l'analyse vidéo avancée.
Bien qu'OpenCV contienne un module de réseau neuronal profond (DNN) pour l'inférence, il est distinct des cadres de formation tels que PyTorch ou TensorFlow. Au lieu d'être en concurrence, OpenCV joue généralement le rôle de "colle" dans un pipeline d'IA. comme "colle" dans un pipeline d'IA. Il gère les opérations d'entrée/sortie (E/S) - lecture d'images à partir d'un disque ou capture de flux vidéo à partir de caméras - et prépare les données pour le traitement. la lecture d'images sur disque ou la capture de flux vidéo à partir de caméras, et prépare les données pour le traitement.
Par exemple, lorsque l'on travaille avec des modèles de pointe tels que le Ultralytics YOLO11un développeur utilisera souvent OpenCV pour pour capturer une image, la redimensionner en fonction des exigences d'entrée du modèle, puis visualiser les résultats en dessinant des boîtes de délimitation sur l'image originale. en dessinant des boîtes de délimitation sur l'image originale. Alors qu'Ultralytics se prépare pour le prochain YOLO26, OpenCV reste un composant essentiel pour le déploiement de ces modèles de nouvelle génération dans des environnements réels. dans des environnements réels.
Il est important de faire la distinction entre les bibliothèques générales de vision par ordinateur et les cadres d'apprentissage profond :
La polyvalence d'OpenCV lui permet d'être déployé dans de nombreux secteurs d'activité, souvent en parallèle avec des modèles d'intelligence artificielle (IA). modèles d'intelligence artificielle (IA).
L'un des flux de travail les plus courants dans l'IA moderne consiste à utiliser les liens Python d'OpenCV(cv2) pour gérer les flux vidéo
tandis qu'un modèle de détection d'objets traite les images. Cette combinaison permet à l
inférence en temps réel essentielles à la sécurité et à la surveillance.
la sécurité et la surveillance.
L'extrait de code suivant montre comment lire une image avec OpenCV, detect objets avec Ultralytics YOLO11et d'afficher le résultat annoté dans une fenêtre. fenêtre.
import cv2
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Use OpenCV to read an image from a file
image = cv2.imread("path/to/image.jpg")
# Run inference; the model accepts OpenCV image arrays directly
results = model(image)
# Visualize the results (draws bounding boxes) and convert back to an array
annotated_frame = results[0].plot()
# Display the resulting image using OpenCV's GUI capabilities
cv2.imshow("YOLO11 Detection", annotated_frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
Cette synergie entre la manipulation d'images haute performance d'OpenCV et les capacités de détection avancées de bibliothèques telles que
comme ultralytics représente la norme pour la construction de bâtiments modernes
les applications de vision par ordinateur. Qu'il s'agisse
le déploiement sur un serveur local ou la préparation de l'avenir
Plate-forme UltralyticsLa compréhension d'OpenCV est une compétence essentielle pour tout
ingénieur en IA.