Canny Edge -Detektor mit Python
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:
- Rauschreduzierung: Gaußsche Faltung glättet das Eingangsbild und reduziert das Rauschen.
- Gradientenberechnung: Ein erster Derivatoperator hebt Bereiche mit hohen räumlichen Derivaten hervor. Die Gradientengröße und -richtung werden unter Verwendung von x- und y -Derivaten bestimmt, was für die Identifizierung der Kantenrichtung von entscheidender Bedeutung ist.
- Nichtmaximale Unterdrückung: Dieser Schritt verdaut die Kanten. Der Algorithmus verfolgt entlang von Gradientenkämmen und setzt nicht Rückenpixel auf Null, was zu einer dünnen Kantenlinie führt. Dies beinhaltet den Vergleich des Gradienten mit seinen Nachbarn; Nur der maximale Gradient bleibt beibehalten.
- Hystereseschwellenwert: Zwei Schwellenwerte, (obere) und
t1
(unter), mitt2
, Steuerkantenverfolgung. Die Verfolgung beginnt an Punkten übert1 > t2
und dauert fort, bis der Gradient untert1
fällt. Punkte übert2
sind immer Kanten; Punkte untert1
, aber übert1
sind nur Kanten, wenn sie mit Punkten übert2
.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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Verwenden Sie Python im Linux -Terminal ...

Fastapi ...

Verständnis der Anti-Crawling-Strategie von Investing.com Viele Menschen versuchen oft, Nachrichten von Investing.com (https://cn.investing.com/news/latest-news) zu kriechen ...
