Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

OpenCV

OpenCV est une bibliothèque open source qui propose plus de 2 500 algorithmes de traitement d’image et de vision par ordinateur. Découvre ses fonctionnalités, son association avec l’apprentissage profond et des exemples de code.

OpenCV (Open Source Computer Vision Library) est une bibliothèque open source qui rassemble plus de 2 500 algorithmes optimisés pour le traitement d'images et la vision par ordinateur (CV). Elle lit et écrit des images et des vidéos, capture des flux de caméra, filtre et transforme les pixels, détecte et met en correspondance des caractéristiques, étalonne les caméras et exécute des réseaux de neurones entraînés. OpenCV a été lancé chez Intel Research en 1999, est écrit en C++ avec des interfaces pour Python et Java, et est distribué sous licence Apache 2.0 depuis la version 4.5.0. En Python, il s'installe avec pip install opencv-python et s'importe sous le nom cv2 ; il représente chaque image par un tableau NumPy.

Fonctions d'OpenCV#

  • Entrées-sorties d'images et de vidéos : lit et écrit les formats d'image courants, décode les fichiers vidéo et capture des trames depuis des caméras et des flux réseau.
  • Traitement d'images : redimensionnement, conversion de l'espace colorimétrique, floutage, accentuation, seuillage et opérations morphologiques, les étapes de prétraitement classiques avant qu'une image soit transmise à un modèle.
  • Détection et mise en correspondance de caractéristiques : des détecteurs de coins et de points clés comme SIFT et ORB repèrent des points distinctifs pouvant être mis en correspondance entre des images pour assembler des panoramas, localiser des objets et effectuer du SLAM visuel. SIFT a rejoint la bibliothèque principale dans la version 4.4.0 après l'expiration de son brevet.
  • Géométrie des caméras : l'étalonnage élimine la distorsion de l'objectif, les homographies corrigent la perspective et la mise en correspondance stéréo reconstitue la profondeur à partir de deux caméras pour la robotique et la reconstruction 3D.
  • Analyse vidéo : la soustraction d'arrière-plan sépare les objets en mouvement d'une scène statique, et le flux optique mesure le déplacement des pixels entre les trames.
  • Inférence par réseau neuronal profond : le module dnn charge les modèles entraînés, par exemple au format ONNX, et les exécute sur CPU ou GPU sans installer de framework d'apprentissage profond.

Ce pipeline classique trouve les contours des formes d'une image sans utiliser de modèle entraîné :

import urllib.request

import cv2
import numpy as np

# Download a sample image and decode it into a BGR NumPy array
data = urllib.request.urlopen("https://ultralytics.com/images/bus.jpg").read()
image = cv2.imdecode(np.frombuffer(data, np.uint8), cv2.IMREAD_COLOR)

# Classical pipeline: grayscale, blur to suppress noise, then Canny edge detection
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
edges = cv2.Canny(blurred, 50, 150)

# Trace connected edge pixels into contours, the outlines of shapes in the scene
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
print(f"Image shape: {image.shape}, contours found: {len(contours)}")

Il affiche Image shape: (1080, 810, 3), contours found: 1449 : une image de 1080×810 pixels avec trois canaux de couleur, et 1 449 contours distincts tracés à partir de ses bords. OpenCV stocke les canaux de couleur dans l'ordre bleu-vert-rouge (BGR) ; il faut donc convertir les images transmises aux bibliothèques qui attendent du RGB avec cv2.cvtColor.

OpenCV et les frameworks d'apprentissage profond#

OpenCV et les frameworks d'apprentissage profond comme PyTorch et TensorFlow interviennent à différentes étapes d'un même pipeline. OpenCV s'occupe du prétraitement des données et des opérations autour du réseau : acquisition des trames, redimensionnement, dessin des résultats et écriture de la vidéo de sortie ; le framework entraîne et exécute le réseau de neurones convolutif entre ces opérations. Une application vidéo en temps réel répète ces étapes pour chaque trame :

Ultralytics YOLO26 accepte directement les trames NumPy BGR d'OpenCV, et results[0].plot() renvoie une trame annotée au même format ; le modèle s'intègre donc à une boucle OpenCV sans aucune conversion. Cet exemple exécute une fois cette boucle sur l'image d'exemple incluse dans le package ultralytics :

import cv2
from ultralytics import YOLO
from ultralytics.utils import ASSETS

# OpenCV charge l'image d'exemple incluse sous forme de tableau NumPy BGR
frame = cv2.imread(str(ASSETS / "bus.jpg"))

# YOLO26 utilise directement la trame OpenCV
model = YOLO("yolo26n.pt")
results = model(frame)

# plot() renvoie un tableau BGR annoté qu'OpenCV peut afficher ou enregistrer
annotated = results[0].plot()
cv2.imwrite("bus_annotated.jpg", annotated)

Dans une boucle vidéo, les mêmes trois appels s'exécutent sur chaque trame provenant de cv2.VideoCapture, et cv2.imshow ou cv2.VideoWriter remplace cv2.imwrite.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique