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

single

bookKantenerkennung

Swipe um das Menü anzuzeigen

Kanten stellen plötzliche Änderungen der Pixelintensität dar, die in der Regel Objektgrenzen entsprechen. Die Erkennung von Kanten unterstützt die Formerkennung und Segmentierung.

Sobel-Kantenerkennung

Der Sobel-Operator berechnet Gradienten (Intensitätsänderungen) in X- und Y-Richtung und ermöglicht so die Erkennung von horizontalen und vertikalen Kanten.

# Convert to grayscale
image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

# Apply Sobel filter
sobel_x = cv2.Sobel(image, cv2.CV_64F, 1, 0, ksize=5)  # Detects vertical edges
sobel_y = cv2.Sobel(image, cv2.CV_64F, 0, 1, ksize=5)  # Detects horizontal edges
sobel_combined = cv2.magnitude(sobel_x, sobel_y)  # Combines both directions
Note
Hinweis

Wichtige Parameter:

  • src: Eingabebild (muss Graustufenbild sein);
  • ddepth: Tiefe des Ausgabebildes (z. B. cv2.CV_64F);
  • dx: Ordnung der Ableitung in X-Richtung (auf 1 setzen für horizontale Kanten);
  • dy: Ordnung der Ableitung in Y-Richtung (auf 1 setzen für vertikale Kanten);
  • ksize: Kernelgröße (muss ungerade sein, z. B. 3, 5, 7).

Canny-Kantenerkennung

Der Canny-Kantendetektor ist ein mehrstufiger Algorithmus, der präzisere Kanten liefert durch:

  1. Anwendung eines Gaußschen Weichzeichners zur Rauschreduzierung.
  2. Bestimmung von Intensitätsgradienten mittels Sobel-Filtern.
  3. Unterdrückung schwacher Kanten.
  4. Verwendung von doppelter Schwellenwertsetzung und Kantennachverfolgung.
# Apply Canny Edge Detector 
canny_image = cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)  
Note
Hinweis
  • image: Eingabebild in Graustufen;
  • threshold1: untere Schwelle für die Kantenerkennung (z. B. 50);
  • threshold2: obere Schwelle für die Kantenerkennung (z. B. 150);
  • apertureSize (optional): Größe des Sobel-Kernels (Standard: 3, muss ungerade sein);
  • L2gradient (optional): Verwendung einer genaueren L2-Norm-Gradientenberechnung (Standard: False).

Ein Vergleich von Kantenerkennungsverfahren:

Kantenerkennung im Vergleich
Aufgabe

Swipe to start coding

Gegeben ist ein image:

  • Bild in Graustufen umwandeln und in gray_image speichern;
  • Sobel-Filter in X- und Y-Richtung anwenden (Ausgabetiefe cv2.CV_64F und Kernelgröße 3) und entsprechend in sobel_x, sobel_y speichern;
  • Sobel-gefilterte Richtungen in sobel_img kombinieren;
  • Einen Canny-Filter mit einem Schwellenwert von 200 bis 300 anwenden und in canny_img 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 10
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