Modules de base d'OpenCV
OpenCV est une puissante bibliothèque de vision par ordinateur qui contient plusieurs modules, chacun se concentrant sur différentes fonctions.
OpenCV est composé de plusieurs modules, chacun fournissant des fonctionnalités différentes.
Voici quelques-uns des modules les plus couramment utilisés dans OpenCV :
- cv2.core: module de base, contient les fonctions de base pour le traitement d'images (telles que la représentation et la manipulation de tableaux d'images).
- cv2.imgproc: module de traitement d'images, fournit diverses opérations sur les images telles que le filtrage, la transformation d'images, les opérations morphologiques, etc.
- cv2.highgui: module GUI, fournit des fonctions pour afficher des images et des vidéos.
- cv2.video: fournit des fonctions de traitement vidéo, telles que la capture vidéo, le traitement de flux vidéo, etc.
- cv2.features2d: module de détection et de mise en correspondance de caractéristiques, comprend la détection de coins, de contours, de points clés, etc.
- cv2.ml: module d'apprentissage automatique, fournit plusieurs algorithmes d'apprentissage automatique pour la classification d'images, la régression, le clustering, etc.
- cv2.calib3d : module de calibration de caméra et de reconstruction 3D.
- cv2.objdetect : module de détection d'objets.
- cv2.dnn : module d'apprentissage profond.
1. Module Core
Fonctions :Fournit les fonctionnalités de base d'OpenCV, y compris les structures de données de base, les opérations matricielles, les fonctions de dessin, etc.
Principales classes et fonctions :
-
Mat :La structure de données de base dans OpenCV pour stocker des images et des matrices.
-
Scalar :Utilisé pour représenter des couleurs ou des valeurs de pixels.
-
Point、Size、Rect:Utilisés pour représenter des points, des tailles et des rectangles.
-
Fonctions de dessin de base :
cv.line()、cv.circle()、cv.rectangle()、cv.putText()etc.
Scénarios d'application :
-
Opérations de base sur les images (telles que la création, la copie, le recadrage).
-
Dessin de formes géométriques et de texte.
2. Module Imgproc
Fonctions :Fournit des fonctions de traitement d'image, y compris le filtrage d'images, les transformations géométriques, les conversions d'espace colorimétrique, etc.
Principales classes et fonctions :
-
Filtrage d'images :
cv.blur()、cv.GaussianBlur()、cv.medianBlur()etc. -
Transformations géométriques :
cv.resize()、cv.warpAffine()、cv.warpPerspective()etc. -
Conversion d'espace colorimétrique :
cv.cvtColor()(par ex., BGR vers niveaux de gris, BGR vers HSV). -
Seuillage :
cv.threshold()、cv.adaptiveThreshold()。 -
Détection de contours :
cv.Canny()、cv.Sobel()、cv.Laplacian()。
Scénarios d'application :
-
Lissage d'image, accentuation, détection de contours.
-
Mise à l'échelle, rotation, transformation affine d'image.
-
Binarisation d'image, conversion d'espace colorimétrique.
3. Module HighGUI
Fonctions :Fournit des fonctions d'interface graphique et d'E/S multimédia de haut niveau pour l'affichage et l'interaction avec les images.
Principales classes et fonctions :
-
Affichage d'image :
cv.imshow()、cv.waitKey()、cv.destroyAllWindows()。 -
Capture vidéo :
cv.VideoCapture()、cv.VideoWriter()。 -
Événements de souris et de clavier :
cv.setMouseCallback()。
Scénarios d'application :
-
Afficher des images et des vidéos.
-
Capturer des fichiers caméra ou vidéo.
-
Gérer l'interaction utilisateur (comme les clics de souris, la saisie au clavier).
4. Module Vidéo
Fonctions :Fournit des fonctions d'analyse vidéo, notamment la détection de mouvement, le suivi d'objets, etc.
Principales classes et fonctions :
-
Soustraction d'arrière-plan :
cv.createBackgroundSubtractorMOG2()、cv.createBackgroundSubtractorKNN()。 -
Flux optique :
cv.calcOpticalFlowPyrLK()。 -
Suivi d'objets :
cv.TrackerKCF_create()、cv.TrackerMOSSE_create()。
Scénarios d'application :
-
Détection de mouvement dans une vidéo.
-
Suivi d'objets (par exemple, suivi de piétons, de véhicules).
5. Module Calib3d
Fonctions :Fournit des fonctions de calibration de caméra et de reconstruction 3D.
Principales classes et fonctions :
-
Calibration de caméra :
cv.calibrateCamera()、cv.findChessboardCorners()。 -
Reconstruction 3D :
cv.solvePnP()、cv.reprojectImageTo3D()。
Scénarios d'application :
-
Calibration de caméra (utilisée pour supprimer la distorsion de l'objectif).
-
Reconstruction 3D (par exemple, récupérer des informations 3D à partir d'images 2D).
6. Module Features2d
Fonctions :Fournit des fonctions de détection et de description de caractéristiques.
Principales classes et fonctions :
-
Détection de caractéristiques :
cv.SIFT_create()、cv.ORB_create()、cv.SURF_create()。 -
Mise en correspondance de caractéristiques :
cv.BFMatcher()、cv.FlannBasedMatcher()。 -
Dessin des points clés :
cv.drawKeypoints()。
Scénarios d'application :
-
Extraction et mise en correspondance de caractéristiques d'image.
-
Assemblage d'images, reconnaissance d'objets.
7. Module Objdetect
Fonctions :Fournit des fonctions de détection d'objets.
Principales classes et fonctions :
-
Classificateur de caractéristiques Haar :
cv.CascadeClassifier()(utilisé pour la détection de visages). -
Classificateur de caractéristiques HOG :Utilisé pour la détection de piétons.
Scénarios d'application :
-
Détection de visages, détection de piétons.
8. Module ML
Fonctions :Fournit des algorithmes d'apprentissage automatique.
Principales classes et fonctions :
-
Machine à vecteurs de support (SVM) :
cv.ml.SVM_create()。 -
Regroupement K-Means :
cv.kmeans()。 -
Réseau de neurones (ANN) :
cv.ml.ANN_MLP_create()。
Scénarios d'application :
-
Classification d'images, analyse de regroupement.
9. Module DNN
Fonctions :Fournit des capacités d'apprentissage profond, prend en charge le chargement et l'exécution de modèles d'apprentissage profond pré-entraînés.
Principales classes et fonctions :
-
Chargement du modèle :
cv.dnn.readNetFromCaffe()、cv.dnn.readNetFromTensorflow()。 -
Propagation avant :
net.forward()。
Scénarios d'application :
-
Classification d'images, détection d'objets, segmentation sémantique.
10. Autres modules
-
Flann :Recherche rapide approximative des plus proches voisins.
-
Photo :Inpainting et débruitage d'images.
-
Assemblage :Assemblage d'images.
-
Forme :Correspondance de formes et calcul de distance.