OpenCV-Basismodule
OpenCV ist eine leistungsstarke Computer-Vision-Bibliothek, die mehrere Module enthält, die sich jeweils auf unterschiedliche Funktionen konzentrieren.
OpenCV besteht aus mehreren Modulen, die jeweils unterschiedliche Funktionen bereitstellen.
Im Folgenden sind einige der am häufigsten verwendeten Module in OpenCV aufgeführt:
- cv2.core: Kernmodul, enthält grundlegende Funktionen für die Bildverarbeitung (wie Darstellung und Manipulation von Bild-Arrays).
- cv2.imgproc: Bildverarbeitungsmodul, bietet verschiedene Bildoperationen wie Filterung, Bildtransformation, morphologische Operationen usw.
- cv2.highgui: GUI-Modul, bietet Funktionen zum Anzeigen von Bildern und Videos.
- cv2.video: Bietet Funktionen zur Videoverarbeitung, wie Videoaufnahme, Verarbeitung von Videostreams usw.
- cv2.features2d: Modul zur Merkmalserkennung und -zuordnung, umfasst Ecken-, Kanten-, Schlüsselpunkt-Erkennung usw.
- cv2.ml: Modul für maschinelles Lernen, bietet mehrere Algorithmen für maschinelles Lernen zur Bildklassifizierung, Regression, Clusterbildung usw.
- cv2.calib3d : Modul für Kamerakalibrierung und 3D-Rekonstruktion.
- cv2.objdetect : Modul zur Objekterkennung.
- cv2.dnn : Deep-Learning-Modul.
1. Core-Modul
Funktionen:Bietet die Kernfunktionalität von OpenCV, einschließlich grundlegender Datenstrukturen, Matrixoperationen, Zeichenfunktionen usw.
Wichtigste Klassen und Funktionen:
-
Mat:Die grundlegende Datenstruktur in OpenCV zum Speichern von Bildern und Matrizen.
-
Scalar:Wird zur Darstellung von Farben oder Pixelwerten verwendet.
-
Point、Size、Rect:Wird zur Darstellung von Punkten, Größen und Rechtecken verwendet.
-
Grundlegende Zeichenfunktionen:
cv.line()、cv.circle()、cv.rectangle()、cv.putText()usw.
Anwendungsszenarien:
-
Grundlegende Bildoperationen (wie Erstellen, Kopieren, Zuschneiden).
-
Zeichnen geometrischer Formen und Text.
2. Imgproc-Modul
Funktionen:Bietet Bildverarbeitungsfunktionen, einschließlich Bildfilterung, geometrischer Transformationen, Farbraumkonvertierungen usw.
Wichtigste Klassen und Funktionen:
-
Bildfilterung:
cv.blur()、cv.GaussianBlur()、cv.medianBlur()usw. -
Geometrische Transformationen:
cv.resize()、cv.warpAffine()、cv.warpPerspective()usw. -
Farbraumkonvertierung:
cv.cvtColor()(z. B. BGR zu Graustufen, BGR zu HSV). -
Schwellenwertverfahren:
cv.threshold()、cv.adaptiveThreshold()。 -
Kantenerkennung:
cv.Canny()、cv.Sobel()、cv.Laplacian()。
Anwendungsszenarien:
-
Bildglättung, Bildschärfung, Kantenerkennung.
-
Bildskalierung, Rotation, affine Transformation.
-
Bildbinarisierung, Farbraumkonvertierung.
3. HighGUI-Modul
Funktionen:Bietet High-Level-GUI- und Medien-I/O-Funktionen für Bildanzeige und Interaktion.
Wichtigste Klassen und Funktionen:
-
Bildanzeige:
cv.imshow()、cv.waitKey()、cv.destroyAllWindows()。 -
Videoaufnahme:
cv.VideoCapture()、cv.VideoWriter()。 -
Maus- und Tastaturereignisse:
cv.setMouseCallback()。
Anwendungsszenarien:
-
Bilder und Videos anzeigen.
-
Kamera- oder Videodateien erfassen.
-
Benutzerinteraktion verarbeiten (z. B. Mausklicks, Tastatureingaben).
4. Video-Modul
Funktionen:Bietet Videoanalysefunktionen, einschließlich Bewegungserkennung, Objektverfolgung usw.
Wichtigste Klassen und Funktionen:
-
Hintergrundsubtraktion:
cv.createBackgroundSubtractorMOG2()、cv.createBackgroundSubtractorKNN()。 -
Optischer Fluss:
cv.calcOpticalFlowPyrLK()。 -
Objektverfolgung:
cv.TrackerKCF_create()、cv.TrackerMOSSE_create()。
Anwendungsszenarien:
-
Bewegungserkennung in Videos.
-
Objektverfolgung (z. B. Fußgänger-, Fahrzeugverfolgung).
5. Calib3d-Modul
Funktionen:Bietet Funktionen zur Kamerakalibrierung und 3D-Rekonstruktion.
Wichtigste Klassen und Funktionen:
-
Kamerakalibrierung:
cv.calibrateCamera()、cv.findChessboardCorners()。 -
3D-Rekonstruktion:
cv.solvePnP()、cv.reprojectImageTo3D()。
Anwendungsszenarien:
-
Kamerakalibrierung (zur Entfernung von Linsenverzerrung).
-
3D-Rekonstruktion (z. B. Wiederherstellung von 3D-Informationen aus 2D-Bildern).
6. Features2d-Modul
Funktionen:Bietet Funktionen zur Merkmalsdetektion und -beschreibung.
Wichtigste Klassen und Funktionen:
-
Merkmalsdetektion:
cv.SIFT_create()、cv.ORB_create()、cv.SURF_create()。 -
Merkmalsabgleich:
cv.BFMatcher()、cv.FlannBasedMatcher()。 -
Zeichnen von Schlüsselpunkten:
cv.drawKeypoints()。
Anwendungsszenarien:
-
Bildmerkmalsextraktion und -abgleich.
-
Bildzusammenfügung, Objekterkennung.
7. Objdetect-Modul
Funktionen:Bietet Funktionen zur Objektdetektion.
Wichtigste Klassen und Funktionen:
-
Haar-Merkmalsklassifikator:
cv.CascadeClassifier()(wird zur Gesichtsdetektion verwendet). -
HOG-Merkmalsklassifikator:Wird zur Fußgängerdetektion verwendet.
Anwendungsszenarien:
-
Gesichtsdetektion, Fußgängerdetektion.
8. ML-Modul
Funktionen:Bietet Algorithmen für maschinelles Lernen.
Wichtigste Klassen und Funktionen:
-
Support Vector Machine (SVM):
cv.ml.SVM_create()。 -
K-Means-Clustering:
cv.kmeans()。 -
Künstliches neuronales Netz (ANN):
cv.ml.ANN_MLP_create()。
Anwendungsszenarien:
-
Bildklassifizierung, Clusteranalyse.
9. DNN-Modul
Funktionen:Bietet Deep-Learning-Fähigkeiten, unterstützt das Laden und Ausführen vortrainierter Deep-Learning-Modelle.
Wichtigste Klassen und Funktionen:
-
Laden von Modellen:
cv.dnn.readNetFromCaffe()、cv.dnn.readNetFromTensorflow()。 -
Vorwärtspropagierung:
net.forward()。
Anwendungsszenarien:
-
Bildklassifizierung, Objekterkennung, semantische Segmentierung.
10. Andere Module
-
Flann:Schnelle approximative Nächste-Nachbarn-Suche.
-
Photo:Bildinpainting und Rauschunterdrückung.
-
Stitching:Bildzusammenfügung.
-
Shape:Formabgleich und Abstandsberechnung.