Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

OpenCV

Découvrez les fonctionnalités principales OpenCVpour le traitement d'images en temps réel. Apprenez à l'intégrer à Ultralytics pour créer de puissantes applications de vision par ordinateur.

OpenCV Open Source Computer Vision Library) est une bibliothèque logicielle open source largement utilisée, spécialement conçue pour la vision par ordinateur (CV) en temps réel et le traitement d'images . Développée à l'origine par Intel 1999, elle est devenue un outil standard pour les chercheurs et les développeurs, fournissant plus de 2 500 algorithmes optimisés. Ces algorithmes permettent aux ordinateurs de percevoir et de comprendre les données visuelles du monde, en effectuant des tâches allant de la manipulation d'images de base à l'inférence complexe d'apprentissage automatique (ML). Écrit en C++ pour des performances élevées, OpenCV des liaisons robustes pour des langages tels que Python, Java et MATLAB, le rendant accessible pour le prototypage rapide et le déploiement à grande échelle.

Capacités et fonctionnalités principales

OpenCV de couche fondamentale dans l'écosystème de l'IA, gérant souvent les étapes de prétraitement des données nécessaires avant que les données visuelles n'entrent dans les modèles d'apprentissage profond. Ses fonctionnalités couvrent plusieurs domaines critiques :

  • Traitement d'images: La bibliothèque excelle dans la manipulation de pixels de bas niveau. Cela inclut le seuillage, le filtrage, le redimensionnement et la conversion d'espace colorimétrique (par exemple, la conversion RVB en niveaux de gris). Ces opérations sont essentielles pour normaliser les données afin de garantir la cohérence des entrées du modèle.
  • Détection des caractéristiques: OpenCV des outils permettant d'identifier les points clés d'une image, tels que les coins, les bords et les taches. Des algorithmes tels que SIFT (Scale-Invariant Feature Transform) et ORB permettent aux systèmes de faire correspondre les caractéristiques de différentes images, ce qui est essentiel pour l'assemblage d'images et la création de panoramas.
  • Analyse vidéo: au-delà des images statiques, la bibliothèque gère les flux vidéo pour des tâches telles que la soustraction d'arrière-plan et le flux optique, qui suit le mouvement des objets entre des images consécutives.
  • Transformations géométriques : elles permettent aux développeurs d'effectuer des transformations affines, des déformations de perspective et des calibrations de caméra afin de corriger la distorsion de l'objectif, ce qui est crucial pour les véhicules autonomes et la robotique.

Applications concrètes

OpenCV omniprésent dans tous les secteurs d'activité et fonctionne souvent en tandem avec des frameworks d'apprentissage profond.

  • Imagerie médicale : dans le domaine de la santé, OpenCV l' analyse des images médicales en améliorant les radiographies ou les IRM. Il peut detect automatiquement detect ou segment , aidant ainsi les médecins dans leur diagnostic. Par exemple, les algorithmes de détection des contours aident à délimiter les frontières d'une fracture osseuse sur une radiographie.
  • Inspection automatisée dans le secteur manufacturier : les usines utilisent OpenCV le contrôle qualité. Les caméras installées sur les chaînes de montage utilisent la bibliothèque pour vérifier si les étiquettes sont correctement alignées ou si les produits présentent des défauts de surface . En comparant le flux en direct à une image de référence, le système peut signaler instantanément les articles défectueux.

OpenCV vs. Deep Learning Frameworks

Il est important de distinguer OpenCV frameworks d'apprentissage profond tels que PyTorch ou TensorFlow.

  • OpenCV se concentre sur les techniques traditionnelles de vision par ordinateur (filtrage, transformations géométriques) et les algorithmes « classiques » d'apprentissage automatique (tels que les machines à vecteurs de support ou les k plus proches voisins). Bien qu'il dispose d'un module de réseau neuronal profond (DNN) pour l'inférence, il n'est pas principalement utilisé pour l'entraînement de grands réseaux neuronaux .
  • Les frameworks de Deep Learning sont conçus pour créer, entraîner et déployer des réseaux neuronaux complexes tels que les réseaux neuronaux convolutifs (CNN).

Dans les flux de travail modernes, ces outils se complètent mutuellement. Par exemple, un développeur peut utiliser OpenCV lire un flux vidéo et redimensionner les images, puis transmettre ces images à un modèle YOLO26 pour la détection d'objets, et enfin utiliser OpenCV pour dessiner des cadres de sélection sur la sortie.

Intégration avec Ultralytics YOLO

OpenCV souvent utilisé avec le ultralytics package pour gérer les flux vidéo et visualiser les résultats. L'intégration permet une inférence efficace en temps réel.

L'exemple suivant montre comment utiliser OpenCV ouvrir un fichier vidéo, traiter des images et appliquer un modèle YOLO26n pour la détection.

import cv2
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Open the video file using OpenCV
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, frame = cap.read()
    if not success:
        break

    # Run YOLO26 inference on the frame
    results = model(frame)

    # Visualize the results on the frame
    annotated_frame = results[0].plot()

    # Display the annotated frame
    cv2.imshow("YOLO26 Inference", annotated_frame)

    # Break loop if 'q' is pressed
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

Faire progresser la vision par ordinateur

OpenCV d'évoluer, prenant en charge les nouvelles normes et les accélérations matérielles. Sa vaste communauté contribue à un écosystème riche en tutoriels et en documentation. Pour les équipes qui cherchent à faire passer leurs projets de vision par ordinateur de prototypes locaux à des solutions basées sur le cloud, la Ultralytics offre des outils complets pour la gestion des ensembles de données et l'entraînement des modèles qui s'intègrent de manière transparente aux pipelines de prétraitement OpenCV . Que ce soit pour les systèmes de sécurité par reconnaissance faciale ou l' estimation de la posture dans l'analyse sportive, OpenCV un outil essentiel dans la boîte à outils des développeurs d'IA.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant