Grundlegende Transformationen
OpenCV (Open Source Computer Vision Library) ist eine leistungsstarke Open-Source-Bibliothek, die für Echtzeit-Computer Vision und Bildverarbeitung entwickelt wurde. Sie bietet Werkzeuge zur Bildmanipulation, Objekterkennung und sogar zur Arbeit mit Deep-Learning-Modellen.
Einlesen und Anzeigen eines Bildes
Bevor Transformationen durchgeführt werden, muss zunächst ein Bild mit OpenCV geladen und angezeigt werden. Das Foto wurde bereits importiert. Auf Ihrem lokalen Computer sollten Sie zum einfachen Einlesen und Anzeigen des Fotos Folgendes verwenden:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Größenänderung eines Bildes
Die Größenänderung ist nützlich, um Bilder unter Beibehaltung des Seitenverhältnisses (ratio) (fx
- und fy
-Parameter) zu skalieren,
wobei fx
und fy
den Skalierungsfaktor für Breite und Höhe definieren.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Es können auch exakte Pixelabmessungen angegeben werden (Parameter dsize
),
wobei dsize
die Ausgabedimensionen (new_y, new_x)
festlegt.
resized = cv2.resize(image, (100, 100))
Bildrotation
Um ein Bild um einen bestimmten Winkel zu drehen, werden cv2.getRotationMatrix2D()
und cv2.warpAffine()
verwendet.
cv2.getRotationMatrix2D(center, angle, scale)
definiert die Rotationsmatrix;cv2.warpAffine(image, matrix, output_size)
wendet die Transformation an.
height, width = image.shape[:2]
centre = (width // 2, height // 2)
rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))
Zuschneiden eines Bildes
Das Zuschneiden extrahiert einen bestimmten Bereich aus einem Bild. Dies erfolgt mittels NumPy-Slicing.
Die Syntax image[start_y:end_y, start_x:end_x]
wählt einen gewünschten Bereich aus.
cropped = image[450:500, 250:350]
Swipe to start coding
Sie erhalten ein image
:
- Bild auf die Größe
(100, 100)
skalieren und in der Variableresized
speichern; height
undwidth
aus dem Bild extrahieren;center
vonheight
undwidth
berechnen;- Rotationsmatrix erstellen und in der Variable
rotation_matrix
speichern; - Bild um 90 Grad im Uhrzeigersinn drehen und in der Variable
rotated
speichern; - Den Bereich X: 250-600 und Y: 100-450 aus dem Bild ausschneiden und in der Variable
cropped
speichern.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.45
Grundlegende Transformationen
Swipe um das Menü anzuzeigen
OpenCV (Open Source Computer Vision Library) ist eine leistungsstarke Open-Source-Bibliothek, die für Echtzeit-Computer Vision und Bildverarbeitung entwickelt wurde. Sie bietet Werkzeuge zur Bildmanipulation, Objekterkennung und sogar zur Arbeit mit Deep-Learning-Modellen.
Einlesen und Anzeigen eines Bildes
Bevor Transformationen durchgeführt werden, muss zunächst ein Bild mit OpenCV geladen und angezeigt werden. Das Foto wurde bereits importiert. Auf Ihrem lokalen Computer sollten Sie zum einfachen Einlesen und Anzeigen des Fotos Folgendes verwenden:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Größenänderung eines Bildes
Die Größenänderung ist nützlich, um Bilder unter Beibehaltung des Seitenverhältnisses (ratio) (fx
- und fy
-Parameter) zu skalieren,
wobei fx
und fy
den Skalierungsfaktor für Breite und Höhe definieren.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Es können auch exakte Pixelabmessungen angegeben werden (Parameter dsize
),
wobei dsize
die Ausgabedimensionen (new_y, new_x)
festlegt.
resized = cv2.resize(image, (100, 100))
Bildrotation
Um ein Bild um einen bestimmten Winkel zu drehen, werden cv2.getRotationMatrix2D()
und cv2.warpAffine()
verwendet.
cv2.getRotationMatrix2D(center, angle, scale)
definiert die Rotationsmatrix;cv2.warpAffine(image, matrix, output_size)
wendet die Transformation an.
height, width = image.shape[:2]
centre = (width // 2, height // 2)
rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))
Zuschneiden eines Bildes
Das Zuschneiden extrahiert einen bestimmten Bereich aus einem Bild. Dies erfolgt mittels NumPy-Slicing.
Die Syntax image[start_y:end_y, start_x:end_x]
wählt einen gewünschten Bereich aus.
cropped = image[450:500, 250:350]
Swipe to start coding
Sie erhalten ein image
:
- Bild auf die Größe
(100, 100)
skalieren und in der Variableresized
speichern; height
undwidth
aus dem Bild extrahieren;center
vonheight
undwidth
berechnen;- Rotationsmatrix erstellen und in der Variable
rotation_matrix
speichern; - Bild um 90 Grad im Uhrzeigersinn drehen und in der Variable
rotated
speichern; - Den Bereich X: 250-600 und Y: 100-450 aus dem Bild ausschneiden und in der Variable
cropped
speichern.
Lösung
Danke für Ihr Feedback!
single