Start / Blog / Python / OpenCV – cv2 Guide für Python Entwickler

OpenCV – cv2 Guide für Python Entwickler

#!trpst#trp-gettext data-trpgettextoriginal=4210#!trpen#Summarize with ChatGPT#!trpst#/trp-gettext#!trpen#

Als beliebte Programmiersprache verfügt Python über zahlreiche Bibliotheken und Module für unterschiedliche Anwendungen.

Eine dieser Bibliotheken, die häufig für die Bild- und Videoverarbeitung verwendet wird, ist OpenCV. cv2 ist das wichtigste Modul in OpenCV, das Entwicklern eine einfach zu bedienende Schnittstelle für die Arbeit mit Bild- und Videoverarbeitungsfunktionen bietet.

OpenCV habe wir zum Beispiel auch verwendet, um eine schlanke Version von Konfuzio IDP zu programmieren. Wir nutzen CV in Python z. B auch in Quick Extract.

In diesem Artikel werden wir einige der am häufigsten verwendeten Funktionen in cv2 zeigen.

cv2 python

cv2 Installation

Vor dem Einstieg muss cv2 installiert werden. Es gibt dafür zwei Hauptwege:

  1. pip install opencv-python
  2. conda install -c conda-forge opencv

Sobald das Modul installiert ist, können wir mit der Nutzung der verschiedenen Funktionen beginnen, die die Bibliothek bietet.

cv2.imread

cv2.imread ist eine Funktion zum Lesen eines Bildes aus einer Datei. Sie nimmt den Dateipfad als Eingabe und gibt ein Numpy-Array zurück, das das Bild enthält. Hier ist ein Beispiel:

import cv2
img = cv2.imread('image.jpg')

cv2.resize

cv2.resize is a function that is used to resize an image. It takes the input image and the new dimensions as inputs and returns the resized image. Here’s an example:

import cv2
img = cv2.imread('image.jpg')
resized_img = cv2.resize(img, (500, 500))

cv2.imshow

cv2.imshow ist eine Funktion, die zur Anzeige eines Bildes verwendet wird. Sie nimmt das Bild als Eingabe und öffnet ein neues Fenster, um das Bild anzuzeigen. Hier ist ein Beispiel:

import cv2
img = cv2.imread('image.jpg')
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.imwrite

cv2.imwrite ist eine Funktion, mit der ein Bild in einer Datei gespeichert werden kann. Sie nimmt das Bild und den Dateipfad als Eingabe und speichert das Bild im Dateipfad. Hier ist ein Beispiel:

import cv2
img = cv2.imread('image.jpg')
cv2.imwrite('new_image.jpg', img)

cv2.threshold

cv2.threshold ist eine Funktion, mit der ein Bild mit einem Schwellenwert versehen werden kann. Sie nimmt das Eingabebild und einen Schwellenwert als Eingabe und gibt das mit Schwellenwerten versehene Bild zurück. Hier ist ein Beispiel:

import cv2
img = cv2.imread('image.jpg', 0)
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

cv2.rectangle

cv2.rectangle ist eine Funktion, mit der ein Rechteck auf ein Bild gezeichnet werden kann. Sie nimmt das Eingabebild, die Koordinaten des Rechtecks, die Farbe und die Dicke als Eingaben und gibt das Bild mit dem gezeichneten Rechteck zurück. Hier ist ein Beispiel:

import cv2
img = cv2.imread('image.jpg')
cv2.rectangle(img, (100, 100), (200, 200), (0, 255, 0), 2)

cv2.findContours

cv2.findContours is a function that is used to find the contours in an image. It takes the input image, the contour retrieval mode, and the contour approximation method as inputs and returns the contours. Here’s an example:

import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours

Laden und Anzeigen von Bildern

Sobald Sie CV2 installiert haben, können Sie mit Bildern arbeiten. Der erste Schritt besteht darin, ein Bild in Ihr Python-Programm zu laden. Dazu können Sie die Funktion cv2.imread() verwenden, die den Pfad zur Bilddatei als Eingabe annimmt und ein NumPy-Array zurückgibt, das das Bild darstellt.

import cv2
# Load an image
img = cv2.imread('image.jpg')
# Display the image
cv2.imshow('Image', img)
# Wait for a key press and then close the window
cv2.waitKey(0)
cv2.destroyAllWindows()

Im obigen Code laden wir zunächst ein Bild mit der Funktion cv2.imread() und speichern es in der Variablen img. Anschließend wird das Bild mit der Funktion cv2.imshow() angezeigt, die zwei Argumente benötigt: den Namen des Fensters und das Bild selbst. Schließlich warten wir mit der Funktion cv2.waitKey() auf einen Tastendruck und schließen dann das Fenster mit der Funktion cv2.destroyAllWindows().

Bildmanipulation

CV2 bietet viele Funktionen zur Bearbeitung von Bildern, z. B. Größenänderung, Drehen und Zuschneiden. Hier sind einige Beispiele:

# Resize an image
resized_img = cv2.resize(img, (500, 500))
# Rotate an image
(rows, cols) = img.shape[:2]
M = cv2.getRotationMatrix2D((cols/2, rows/2), 45, 1)
rotated_img = cv2.warpAffine(img, M, (cols, rows))
# Crop an image
cropped_img = img[100:300, 200:400]

Im obigen Code wird die Größe eines Bildes mit der Funktion cv2.resize() geändert, ein Bild mit den Funktionen cv2.getRotationMatrix2D() und cv2.warpAffine() gedreht und ein Bild mit der NumPy-Array-Indizierung zugeschnitten.

Bildfilterung

Das Filtern von Bildern ist eine wichtige Technik in der Bildverarbeitung, mit der sich bestimmte Merkmale eines Bildes verbessern oder extrahieren lassen. CV2 bietet mehrere Funktionen zum Filtern von Bildern, z. B. Weichzeichnen, Schärfen und Kantenerkennung. Hier sind einige Beispiele:

# Blur an image
blurred_img = cv2.blur(img, (5, 5))
# Sharpen an image
kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
sharpened_img = cv2.filter2D(img, -1, kernel)
# Detect edges in an image
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges_img = cv2.Canny(gray_img, 100, 200)

Im obigen Code wird ein Bild mit der Funktion cv2.blur() weichgezeichnet, mit der Funktion cv2.filter2D() und einem benutzerdefinierten Kernel geschärft und mit der Funktion cv2.cvtColor() zur Umwandlung des Bildes in Graustufen und der Funktion cv2.Canny() zur Erkennung von Kanten in einem Bild erkannt.

Fazit

CV2 ist eine leistungsfähige Bibliothek für die Arbeit mit Bildern in Python. In diesem Artikel haben wir einige der am häufigsten verwendeten Funktionen und Methoden behandelt, darunter das Laden und Anzeigen von Bildern, die Bildmanipulation und das Filtern von Bildern. Mit diesen Werkzeugen, die Ihnen zur Verfügung stehen, können Sie die spannende Welt des Machine Learning hinsichtlich Computer Vision und der Bildverarbeitung erkunden.

CV2 kann man unter PyPi herunterladen.

Fanden Sie die Seite hilfreich?

Vielen Dank für Ihr Feedback!

Würden Sie mir Feedback geben? (anonym)

Wir entwickeln KI-Software für Unternehmen und verzichten bewusst auf störende Werbebanner. Durch unsere Artikel dokumentieren wir Themen, die uns beschäftigen, interessieren und auch unser tägliches Brot finanzieren.

Da unsere Inhalte kostenfrei sind, ist Ihr Feedback unser Lob.

Jeder Autor liest Ihr anonymes Feedback persönlich, obwohl KI es automatisieren könnten, und integriert konstruktive Vorschläge direkt in die nächste Überarbeitung oder nutzt es als Inspiration für den nächsten Artikel.



    • Florian Zyprian
      (Autor)

      Als CTO bei der Helm & Nagel GmbH, dem Unternehmen hinter der Marke Konfuzio.

    en_USEN