OpenCV – Computer Vision Bibliothek für Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist OpenCV und wofür wird es genutzt?

OpenCV (Open Source Computer Vision Library) ist eine leistungsstarke Open-Source-Bibliothek für Computer Vision und Bildverarbeitung, die zum Industriestandard im Bereich des maschinellen Sehens geworden ist. Die Bibliothek bietet über 2500 optimierte Algorithmen für Computer-Vision-Aufgaben – von der grundlegenden Bildverarbeitung bis hin zu komplexen Erkennungs- und Analysesystemen.

Entstehungsgeschichte und Entwicklung von OpenCV

Die Bibliothek wurde 1999 von Forschern bei Intel Research unter der Leitung von Gary Bradski entwickelt. Ursprünglich als Werkzeug zur Beschleunigung der Forschung im Bereich Computer Vision und zur Schaffung gemeinsamer Werkzeuge für Entwickler gedacht, erschien 2000 die erste öffentliche Version. Seit 2008 ist das Projekt vollständig quelloffen.

Wichtige Entwicklungsmeilensteine:

  • 1999-2005: Entwicklung bei Intel Research, Fokus auf Leistung
  • 2006-2012: Übergang zu einem offenen Entwicklungsmodell, Veröffentlichung von OpenCV 2.x
  • 2013-2015: Veröffentlichung von OpenCV 3.x mit grundlegenden Architekturänderungen
  • 2018-heute: OpenCV 4.x mit verbesserter Unterstützung für Deep Learning

Heute wird OpenCV von der OpenCV Foundation und einer aktiven Entwickler-Community weltweit unterstützt.

Architektur und Module von OpenCV

OpenCV ist modular aufgebaut, was Flexibilität bietet und die Nutzung nur der benötigten Komponenten ermöglicht:

Hauptmodule:

Core – grundlegende Datenstrukturen und Algorithmen Imgproc – Bildverarbeitung und Filterung Imgcodecs – Bildkodierung und -dekodierung Videoio – Video- und Kamerazugriff Highgui – Benutzeroberfläche Features2d – Merkmalsdetektoren und -deskriptoren Calib3d – Kamerakalibrierung und 3D-Rekonstruktion Objdetect – Objekterkennung DNN – Deep-Learning-Modul ML – klassische Machine-Learning-Algorithmen

Systemanforderungen und unterstützte Plattformen

OpenCV unterstützt eine breite Palette von Betriebssystemen und Architekturen:

Betriebssysteme:

  • Windows (7, 8, 10, 11)
  • Linux (Ubuntu, CentOS, Debian und andere Distributionen)
  • macOS
  • Android
  • iOS

Programmiersprachen:

  • C++
  • Python
  • Java
  • C#
  • JavaScript (OpenCV.js)

Hardware-Beschleuniger:

  • CUDA (NVIDIA GPU)
  • OpenCL
  • Intel TBB
  • Intel IPP

Installation und Einrichtung von OpenCV

Installation für Python

Basisinstallation:

pip install opencv-python

Installation mit Zusatzmodulen:

pip install opencv-contrib-python

Für die Arbeit mit Video kann Folgendes erforderlich sein:

pip install opencv-python-headless  # für Serveranwendungen

Installation überprüfen

import cv2
print(cv2.__version__)
print(cv2.getBuildInformation())

Entwicklungsumgebung einrichten

Für effizientes Arbeiten mit OpenCV wird außerdem empfohlen:

pip install numpy matplotlib jupyter

Grundlegende Datenstrukturen in OpenCV

Mat – die Hauptklasse für Bilddaten

In OpenCV werden Bilder als mehrdimensionale Arrays vom Typ Mat (in C++) oder numpy.ndarray (in Python) dargestellt. Jeder Pixel kann 1 bis 4 Kanäle enthalten (Graustufen, RGB, RGBA).

Wichtige Datentypen:

  • CV_8U – 8-Bit vorzeichenlose Ganzzahlen (0-255)
  • CV_8S – 8-Bit vorzeichenbehaftete Ganzzahlen

Empfehlungen