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.

Weitere Erweiterungen