OpenCV mit Python: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „OpenCV (Open Source Computer Vision Library) ist eine freie und weit verbreitete Softwarebibliothek zur Bild- und Videoverarbeitung, die eine Vielzahl von Algorithmen und Werkzeugen für Anwendungen wie Objekterkennung, Gesichtserkennung, Bewegungsverfolgung, Bildsegmentierung und maschinelles Lernen bereitstellt. Die Bibliothek kann unter anderem in den Programmiersprachen C++ oder Python genutzt werden. Die Nutzung von OpenCV in Kombination mit den…“) |
Keine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
OpenCV | {| class="wikitable" style="float:right; margin-left:10px; width:300px;" | ||
|+ | |||
! OpenCV mit Python | |||
|- | |||
| | |||
[[Datei:OpenCV logo black.svg.png|zentriert|mini|[https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/OpenCV_logo_black.svg/180px-OpenCV_logo_black.svg.png|OpenCV Logo<ref>OpenCV, 2024. ''Wikipedia'' [online]. [Zugriff am: 15. Januar 2025]. Verfügbar unter: [https://de.wikipedia.org/w/index.php?title=OpenCV&oldid=251417753 https://de.wikipedia.org/w/index.php?title=OpenCV&oldid=251417753]</ref> | |||
]] | |||
|- | |||
| [https://docs.opencv.org/3.4/d6/d00/tutorial_py_root.html docs.opencv.org] | |||
|} | |||
Die Nutzung von OpenCV in Kombination mit den leistungsstarken Bibliotheken des [[Python]]-Ökosystems (beispielsweise NumPy, SciPy) ermöglicht eine effiziente Bilddatenanalyse und -manipulation. Die Bibliothek bietet in Verbindung mit den [[Python]]-Bibliotheken eine benutzerfreundliche Möglichkeit, auf alle wesentlichen Funktionen von OpenCV zuzugreifen. Dies umfasst grundlegende Operationen wie das Lesen, Schreiben oder Analysieren von Bildern und Videos. | OpenCV (Open Source Computer Vision Library) ist eine freie und weit verbreitete Softwarebibliothek zur Bild- und Videoverarbeitung, die eine Vielzahl von Algorithmen und Werkzeugen für Anwendungen wie Objekterkennung, Gesichtserkennung, Bewegungsverfolgung, Bildsegmentierung und maschinelles Lernen bereitstellt. Die Bibliothek kann unter anderem in den Programmiersprachen C++ oder [[Python]] genutzt werden<ref name="opencv_tutorials">url=https://docs.opencv.org/3.4/d6/d00/tutorial_py_root.html |title=OpenCV-Python Tutorials |website=OpenCV Documentation |publisher=OpenCV |access-date=15. Januar 2025</ref> | ||
Darüber hinaus lässt sich der Funktionsumfang von OpenCV ohne großen Aufwand um die Deep Learning-Funktion mit zum Beispiel der Mediapipe-Bibliothek erweitern, die bereits vortrainierte Modelle für die Personenerkennung, Gesichts- oder Objekterkennung bietet. Ein wesentliches Merkmal von OpenCV ist seine Effizienz, die es erlaubt, große Mengen an Bild- und Videodaten in Echtzeit zu verarbeiten. Diese Eignung prädestiniert die Bibliothek insbesondere für den Einsatz in Fahrzeugprojekten oder der Personenerkennung, beispielsweise im Rahmen einer Zutrittskontrolle. | . | ||
Die Nutzung von OpenCV in Kombination mit den leistungsstarken Bibliotheken des [[Python]]-Ökosystems (beispielsweise NumPy, SciPy) ermöglicht eine effiziente Bilddatenanalyse und -manipulation. Die Bibliothek bietet in Verbindung mit den [[Python]]-Bibliotheken eine benutzerfreundliche Möglichkeit, auf alle wesentlichen Funktionen von OpenCV zuzugreifen. Dies umfasst grundlegende Operationen wie das Lesen, Schreiben oder Analysieren von Bildern und Videos<ref name="opencv_tutorials"/>. | |||
Darüber hinaus lässt sich der Funktionsumfang von OpenCV ohne großen Aufwand um die Deep Learning-Funktion mit zum Beispiel der Mediapipe-Bibliothek erweitern, die bereits vortrainierte Modelle für die Personenerkennung, Gesichts- oder Objekterkennung bietet<ref name="mediapipe_pypi">url=https://pypi.org/project/mediapipe/ |title=MediaPipe |website=PyPI |publisher=Python Software Foundation |access-date=15. Januar 2025</ref> | |||
<ref name="mediapipe_guide">url=https://ai.google.dev/edge/mediapipe/solutions/guide?hl=de |title=MediaPipe-Lösungsleitfaden |website=Google AI Edge |publisher=Google |access-date=15. Januar 2025</ref> | |||
. Ein wesentliches Merkmal von OpenCV ist seine Effizienz, die es erlaubt, große Mengen an Bild- und Videodaten in Echtzeit zu verarbeiten. Diese Eignung prädestiniert die Bibliothek insbesondere für den Einsatz in Fahrzeugprojekten oder der Personenerkennung, beispielsweise im Rahmen einer Zutrittskontrolle. | |||
In [[Python]] beginnt die Arbeit mit OpenCV typischerweise mit der Installation des Moduls "opencv-python", das die grundlegende Funktionalität der Bibliothek bereitstellt. | In [[Python]] beginnt die Arbeit mit OpenCV typischerweise mit der Installation des Moduls "opencv-python", das die grundlegende Funktionalität der Bibliothek bereitstellt. | ||
Die Installation von OpenCV kann beispielsweise über <code>pip</code> erfolgen:<br> | Die Installation von OpenCV kann beispielsweise über <code>pip</code> erfolgen<ref name="opencv_tutorials"/>:<br> | ||
Windows: | Windows: | ||
Zeile 14: | Zeile 28: | ||
Leider lässt sich OpenCV nicht direkt über den <code>pip</code>-Befehl beziehen. Der einfachste und schnellste Weg ist, OpenCV in einer virtuellen Umgebung zu installieren: | Leider lässt sich OpenCV nicht direkt über den <code>pip</code>-Befehl beziehen. Der einfachste und schnellste Weg ist, OpenCV in einer virtuellen Umgebung zu installieren: | ||
<code>python -m venv opencv_env source opencv_env/bin/activate</code> | <code>python -m venv opencv_env</code> <br> | ||
<code>source opencv_env/bin/activate</code> | |||
Wenn die virtuelle Umgebung erfolgreich aktiviert wurde, kann OpenCV mit dem Befehl | Wenn die virtuelle Umgebung erfolgreich aktiviert wurde, kann OpenCV mit dem Befehl | ||
<code>pip install opencv-python</code> installiert und anschließend mit dem Befehl | <code>pip install opencv-python</code> installiert und anschließend mit dem Befehl | ||
<code>deactivate</code> deaktiviert werden. | <code>deactivate</code> deaktiviert werden. | ||
== Minimalbeispiel für die Gesichtserkennung mittels Webcam== | |||
<syntaxhighlight lang="python"> | |||
import cv2 | |||
# Lade das vortrainierte Modell für die Gesichtserkennung | |||
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') | |||
# Öffne die Webcam (Kamera 0) -> Für Video Speicherort 'C:/..' angeben. | |||
# Netzwerkkamera z.B.: rtsp://<benutzer>:<passwort>@<ip-adresse>:<port>/<pfad> | |||
cap = cv2.VideoCapture(0) | |||
if not cap.isOpened(): | |||
print("Fehler: Kamera konnte nicht geöffnet werden.") | |||
exit() | |||
print("Beenden mit der Taste Q") | |||
# Schleife für kontinuierliche Erkennung | |||
while True: | |||
ret, frame = cap.read() | |||
if not ret: | |||
print("Fehler: Frame konnte nicht gelesen werden.") | |||
break | |||
# Farbkonvertierung z.B. in GRAY | |||
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) | |||
# Speichern der erkannten Gesichter | |||
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) | |||
# Rechteck um das Gesicht setzen | |||
for (x, y, w, h) in faces: | |||
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2) | |||
# Bild mit erkannter Gesichtsanzeige | |||
cv2.imshow('Gesichterkennung', frame) | |||
# Beende mit der Taste 'q' | |||
if cv2.waitKey(1) & 0xFF == ord('q'): | |||
break | |||
# Sicheres Beenden und Freigeben | |||
cap.release() | |||
cv2.destroyAllWindows() | |||
</syntaxhighlight> |
Aktuelle Version vom 15. Januar 2025, 12:05 Uhr
OpenCV mit Python |
---|
docs.opencv.org |
OpenCV (Open Source Computer Vision Library) ist eine freie und weit verbreitete Softwarebibliothek zur Bild- und Videoverarbeitung, die eine Vielzahl von Algorithmen und Werkzeugen für Anwendungen wie Objekterkennung, Gesichtserkennung, Bewegungsverfolgung, Bildsegmentierung und maschinelles Lernen bereitstellt. Die Bibliothek kann unter anderem in den Programmiersprachen C++ oder Python genutzt werden[2] .
Die Nutzung von OpenCV in Kombination mit den leistungsstarken Bibliotheken des Python-Ökosystems (beispielsweise NumPy, SciPy) ermöglicht eine effiziente Bilddatenanalyse und -manipulation. Die Bibliothek bietet in Verbindung mit den Python-Bibliotheken eine benutzerfreundliche Möglichkeit, auf alle wesentlichen Funktionen von OpenCV zuzugreifen. Dies umfasst grundlegende Operationen wie das Lesen, Schreiben oder Analysieren von Bildern und Videos[2]. Darüber hinaus lässt sich der Funktionsumfang von OpenCV ohne großen Aufwand um die Deep Learning-Funktion mit zum Beispiel der Mediapipe-Bibliothek erweitern, die bereits vortrainierte Modelle für die Personenerkennung, Gesichts- oder Objekterkennung bietet[3] [4] . Ein wesentliches Merkmal von OpenCV ist seine Effizienz, die es erlaubt, große Mengen an Bild- und Videodaten in Echtzeit zu verarbeiten. Diese Eignung prädestiniert die Bibliothek insbesondere für den Einsatz in Fahrzeugprojekten oder der Personenerkennung, beispielsweise im Rahmen einer Zutrittskontrolle.
In Python beginnt die Arbeit mit OpenCV typischerweise mit der Installation des Moduls "opencv-python", das die grundlegende Funktionalität der Bibliothek bereitstellt.
Die Installation von OpenCV kann beispielsweise über pip
erfolgen[2]:
Windows:
pip install opencv-python
Raspberry Pi:
Leider lässt sich OpenCV nicht direkt über den pip
-Befehl beziehen. Der einfachste und schnellste Weg ist, OpenCV in einer virtuellen Umgebung zu installieren:
python -m venv opencv_env
source opencv_env/bin/activate
Wenn die virtuelle Umgebung erfolgreich aktiviert wurde, kann OpenCV mit dem Befehl
pip install opencv-python
installiert und anschließend mit dem Befehl
deactivate
deaktiviert werden.
Minimalbeispiel für die Gesichtserkennung mittels Webcam
import cv2
# Lade das vortrainierte Modell für die Gesichtserkennung
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Öffne die Webcam (Kamera 0) -> Für Video Speicherort 'C:/..' angeben.
# Netzwerkkamera z.B.: rtsp://<benutzer>:<passwort>@<ip-adresse>:<port>/<pfad>
cap = cv2.VideoCapture(0)
if not cap.isOpened():
print("Fehler: Kamera konnte nicht geöffnet werden.")
exit()
print("Beenden mit der Taste Q")
# Schleife für kontinuierliche Erkennung
while True:
ret, frame = cap.read()
if not ret:
print("Fehler: Frame konnte nicht gelesen werden.")
break
# Farbkonvertierung z.B. in GRAY
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Speichern der erkannten Gesichter
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Rechteck um das Gesicht setzen
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)
# Bild mit erkannter Gesichtsanzeige
cv2.imshow('Gesichterkennung', frame)
# Beende mit der Taste 'q'
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Sicheres Beenden und Freigeben
cap.release()
cv2.destroyAllWindows()
- ↑ OpenCV, 2024. Wikipedia [online]. [Zugriff am: 15. Januar 2025]. Verfügbar unter: https://de.wikipedia.org/w/index.php?title=OpenCV&oldid=251417753
- ↑ 2,0 2,1 2,2 url=https://docs.opencv.org/3.4/d6/d00/tutorial_py_root.html |title=OpenCV-Python Tutorials |website=OpenCV Documentation |publisher=OpenCV |access-date=15. Januar 2025
- ↑ url=https://pypi.org/project/mediapipe/ |title=MediaPipe |website=PyPI |publisher=Python Software Foundation |access-date=15. Januar 2025
- ↑ url=https://ai.google.dev/edge/mediapipe/solutions/guide?hl=de |title=MediaPipe-Lösungsleitfaden |website=Google AI Edge |publisher=Google |access-date=15. Januar 2025