Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Canny Edge Detection

Die Canny-Kantendetektion ist ein mehrstufiger Algorithmus, der Rauschen reduziert, starke Helligkeitsänderungen erkennt und dünne Kantendarstellungen für Computer Vision erzeugt.

Die Canny-Kantendetektion ist ein mehrstufiger Bildverarbeitungsalgorithmus, der starke Helligkeitsänderungen erkennt und in eine dünne, binäre Kantendarstellung umwandelt. Sie reduziert Rauschen, lokalisiert Helligkeitsübergänge und verbindet zuverlässige Kantenpixel zu Konturen. In der Computer Vision beschreiben diese Konturen die Bildstruktur und dienen der Formanalyse und Vermessung.

John Canny entwickelte das Verfahren 1983 und beschrieb es 1986 in seiner Arbeit A Computational Approach to Edge Detection. Das Verfahren vereint drei Ziele: echte Kanten zu erkennen, sie genau zu lokalisieren und für jede Kante nur eine Reaktion zu erzeugen. „Canny-Kantendetektor“ ist ein Synonym für den Algorithmus.

So funktioniert die Canny-Kantendetektion#

Der Algorithmus kombiniert die Datenvorverarbeitung mit Filterung und Konnektivitätsanalyse. Die fünf Schritte erfüllen jeweils eine eigene Aufgabe:

  • Rauschunterdrückung: Bei der Gauß-Glättung werden benachbarte Pixel mit nach Abstand gewichteten Werten gemittelt. So werden Schwankungen unterdrückt, die unerwünschte Kanten erzeugen würden.
  • Gradientenschätzung: Horizontale und vertikale Ableitungen messen, wie schnell sich die Helligkeit ändert. Zusammen ergeben sie die Kantenstärke und eine Richtung senkrecht zur Grenze. OpenCV verwendet für diesen Schritt Sobel-Ableitungen.
  • Kantenausdünnung: Die Unterdrückung von Nichtmaxima behält lokale Gradientenmaxima entlang der Gradientenrichtung bei und erzeugt so schmale Linien statt breiter Bänder.
  • Doppelte Schwellwertsetzung: Ein hoher Schwellenwert kennzeichnet starke Kanten; ein niedriger Schwellenwert entfernt schwache Reaktionen. Pixel zwischen den Schwellenwerten gelten als Kandidaten.
  • Hysterese-Verknüpfung: Kandidatenpixel bleiben erhalten, wenn sie über weitere Kandidatenpixel mit einer starken Kante verbunden sind. Vereinzelte Kandidaten verschwinden.

Schwellenwerte, Glättung und Fehlermodi#

Die Schwellenwerte beziehen sich auf die Gradientenstärke und nicht auf die rohe Helligkeit oder die Konfidenz des Modells. Niedrigere Schwellenwerte erhalten mehr Details und Rauschen; höhere entfernen schwache Grenzen. Ein höherer oberer Schwellenwert verringert außerdem die Anzahl starker Kantenpunkte, die für die Verknüpfung durch Hysterese verfügbar sind.

Die Stärke der Gauß-Glättung steuert einen separaten Zielkonflikt. Eine stärkere Glättung unterdrückt Rauschen, entfernt aber feine Strukturen. Im Beispiel mit dem verrauschten Quadrat von scikit-image verändert die Standardabweichung der Gauß-Glättung, wie viel Rauschen rund um das Quadrat erhalten bleibt.

Bei der Rissprüfung erzeugen raue Betonoberflächen unerwünschte Texturkanten und unvollständige Risskonturen. Durch höhere Schwellenwerte werden einige falsche Kanten entfernt, zugleich gehen aber auch echte Rissabschnitte verloren.

Sobel schätzt Intensitätsableitungen; Canny kombiniert die Schätzung des Gradienten mit Glättung, Ausdünnung und einer Auswahl anhand der Konnektivität. Die Ausdünnungsstufe von Canny vergleicht benachbarte Pixel, während die NMS bei der Objekterkennung überlappende vorhergesagte Boxen vergleicht.

Kantenerkennung mit Canny in Python#

Installiere die Abhängigkeiten mit pip install opencv-python numpy. Dieses Beispiel verwendet OpenCV, um eine Kantenkarte des Bus-Beispielbilds zu speichern:

from urllib.request import urlopen

import cv2
import numpy as np

with urlopen("https://ultralytics.com/images/bus.jpg") as response:
    encoded = np.frombuffer(response.read(), dtype=np.uint8)
gray = cv2.imdecode(encoded, cv2.IMREAD_GRAYSCALE)

# Glätte das Bild, bevor du die Intensitätsgradienten berechnest.
smoothed = cv2.GaussianBlur(gray, (5, 5), 1.4)
edges = cv2.Canny(smoothed, 50, 150, L2gradient=True)
cv2.imwrite("canny_edges.png", edges)

Die gespeicherte PNG-Datei zeigt die erhaltenen Kanten weiß auf schwarzem Hintergrund. Im Ablauf zur Kantenerkennung mit OpenCV geben das zweite und dritte Argument von Canny den unteren und oberen Schwellenwert an. L2gradient=True verwendet den euklidischen Gradientenbetrag; standardmäßig wird die Summe der absoluten horizontalen und vertikalen Ableitungen verwendet. Diese Einstellungen verändern die Gradientenwerte und damit das Verhalten der Schwellenwerte.

Canny unterstützt die geometrische Merkmalsextraktion: Das Beispiel zur Liniendetektion von scikit-image wendet das Verfahren auf ein Foto eines Kameramanns an, bevor eine probabilistische Hough-Transformation gerade Liniensegmente extrahiert. Canny liefert die Kantenpixel; die Hough-Abstimmung gruppiert sie zu Linien. Die Objekterkennung weist Kategorien und Boxen zu, während die Instanzsegmentierung Pixel einzelnen Objekten zuordnet.

Die Segmentierung mit Ultralytics YOLO26 gibt Masken für die Objektisolierung zurück, mit denen Bildbereiche für eine separate Canny-Verarbeitung ausgewählt werden können. So wird die gelernte Objektauswahl mit der klassischen Kantenerkennung kombiniert.

Bei der generativen KI verwendet ControlNet Canny-Karten als räumliche Bedingungen für Diffusionsmodelle. Die Canny-gesteuerte Implementierung steuert die Generierung mit Stable Diffusion 1.5, indem sie extrahierte Konturen zusammen mit einer Textaufforderung verwendet.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens