Die Erkennung
Kanten ist eine entscheidende Bildanalysetechnik für die Objekterkennung basierend auf Umrissen und ist für die Wiederherstellung von Bildinformationen von entscheidender Bedeutung. Es extrahiert wichtige Merkmale wie Linien und Kurven, die häufig von erweiterten Computer Vision und Bildverarbeitungsalgorithmen verwendet werden. Ein robuster Kantenerkennungsalgorithmus identifiziert die Hauptkanten genau und unterdrückt die rauschbedingte falsche Kanten.
Kanten repräsentieren signifikante lokale Änderungen der Bildintensität (Pixelwerte), die typischerweise an Regiongrenzen auftreten. In diesem Tutorial erklärt
Der Canny Edge -Detektor
nach seinem Erfinder John F. Canny (1986) benannt, nimmt der Canny -Detektor ein Graustufenbild als Eingabe auf und gibt ein Bild aus, das Intensitätsdiskontinuitäten (Kanten) hervorhebt.Der Prozess beinhaltet:
t1
(unter), mit t2
, Steuerkantenverfolgung. Die Verfolgung beginnt an Punkten über t1 > t2
und dauert fort, bis der Gradient unter t1
fällt. Punkte über t2
sind immer Kanten; Punkte unter t1
, aber über t1
sind nur Kanten, wenn sie mit Punkten über t2
. t1
verbunden sind
/t1
Schwellenwerte sind Parameter, die die Ausgabe des Canny -Detektors beeinflussen. t2
Python -Implementierung
Zwei Methoden werden gezeigt: Verwenden Sie und scikit-image
. OpenCV
Verwenden Sie scikit-image
(z. B. scikit-image
auf Ubuntu). Die sudo apt-get install python-skimage
-Funktion (im Modul canny()
) wendet den Canny -Detektor an. feature
from skimage import io, feature im = io.imread('boat.png') edges = feature.canny(im) io.imshow(edges) io.show()
Verwenden Sie OpenCV
OpenCV installieren (siehe relevante Installationsanleitungen für Ihr Betriebssystem). OpenCVs Canny()
Funktion führt die Kantenerkennung aus.
Der Code:
from skimage import io, feature im = io.imread('boat.png') edges = feature.canny(im) io.imshow(edges) io.show()
Argumente: im
(Bild), unterer Schwellenwert (25), oberer Schwellenwert (255), L2gradient=False
(verwendet L1-Norm). matplotlib
Zeigt die Ergebnisse an.
Die Ausgabe (kandidiertes Bild):
Schlussfolgerung
Dieses Tutorial deckte den Canny Edge -Detektor und seine einfache Implementierung unter Verwendung von scikit-image
und OpenCV
ab, wodurch seine Wirksamkeit bei der Kantenerkennung zeigt.
Das obige ist der detaillierte Inhalt vonCanny Edge -Detektor mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!