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 Variableresizedspeichern; heightundwidthaus dem Bild extrahieren;centervonheightundwidthberechnen;- Rotationsmatrix erstellen und in der Variable
rotation_matrixspeichern; - Bild um 90 Grad im Uhrzeigersinn drehen und in der Variable
rotatedspeichern; - Den Bereich X: 250-600 und Y: 100-450 aus dem Bild ausschneiden und in der Variable
croppedspeichern.
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
Can you explain what each OpenCV function does in these examples?
How do I choose the right parameters for resizing or rotating an image?
Can you show more examples of image transformations?
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 Variableresizedspeichern; heightundwidthaus dem Bild extrahieren;centervonheightundwidthberechnen;- Rotationsmatrix erstellen und in der Variable
rotation_matrixspeichern; - Bild um 90 Grad im Uhrzeigersinn drehen und in der Variable
rotatedspeichern; - Den Bereich X: 250-600 und Y: 100-450 aus dem Bild ausschneiden und in der Variable
croppedspeichern.
Lösung
Danke für Ihr Feedback!
single