Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundlegende Transformationen | Abschnitt
Angewandtes Computer Vision
Abschnitt 1. Kapitel 4
single

single

bookGrundlegende Transformationen

Swipe um das Menü anzuzeigen

Note
Definition

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)

Skalieren eines Bildes

Das Skalieren ist nützlich, um Bilder zu vergrößern oder zu verkleinern, während das Seitenverhältnis (ratio) beibehalten wird (fx- und fy-Parameter), 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 (Parameter dsize) angegeben werden, 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))

Bildausschnitt (Cropping)

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]
Aufgabe

Swipe to start coding

Sie erhalten ein image:

  • Bild auf die Größe (100, 100) skalieren und in der Variable resized speichern;
  • height und width aus dem Bild extrahieren;
  • center von height und width 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 des Bildes ausschneiden und in der Variable cropped speichern.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt