2010-12-19 1 views
10

Kennt jemand die Unterschiede zwischen den Operatoren Prewitt, Sobel und Laplace in Kantenerkennungsalgorithmen?Kantenerkennungstechniken

Sind einige besser als andere?

Werden verschiedene Operatoren in verschiedenen Situationen verwendet?

Antwort

16

Der Laplace-Operator ist ein Derivat-Operator 2. Ordnung, die anderen beiden sind Derivat-Operatoren 1. Ordnung, so dass sie in verschiedenen Situationen verwendet werden. Sobel/Prewitt messen die Steigung, während Laplace die Steigung misst.

Beispiele:

Wenn ein Signal mit einer konstanten Steigung (a gradient) haben:

Gradient signal: 1 2 3 4 5 6 7 8 9 

a 1. Ableitung Filter (Sobel/Prewitt) misst die Neigung, so dass die Filterantwort ist

Sobel result:  2 2 2 2 2 2 2 

Das Ergebnis eines Laplace-Filters ist 0 für dieses Signal, da die Steigung konstant ist.

Beispiel 2: Wenn ein Kantensignal vorhanden:

Edge:   0 0 0 0 1 1 1 1 

Das Sobel-Filterer eine Spitze hat; das Vorzeichen des Peaks hängt von der Richtung der Kante ab:

Sobel result: 0 0 0 1 1 0 0 0 

Der Laplace-Filter erzeugt zwei Peaks; die Lage der Kante entspricht dem Nulldurchgang des Laplace-Filterergebnis:

Laplace result: 0 0 0 1 -1 0 0 0 

Also, wenn Sie die Richtung und Kante wissen wollen, können Sie eine erste Ableitung Filter verwenden würde. Außerdem ist ein Laplace-Filter empfindlicher gegenüber Rauschen als Sobel oder Prewitt.

Sobel und Prewitt Filter auf der anderen Seite sind sehr ähnlich und werden für die gleichen Zwecke verwendet. Wichtige Unterschiede zwischen 1. Ableitung Filter sind

  • Empfindlichkeit gegenüber Rauschen
  • Anisotropy: Idealerweise sind die Filterergebnisse für X/Y zu sin α und cos α proportional sein sollte, wobei α der Winkel ist des Gradienten, und die Summe der zwei Quadrate sollte für jeden Winkel gleich sein.
  • Verhalten an den Ecken

Diese Eigenschaften können mit künstlichen Testbildern (wie die berühmten Jähne test patterns, fand in "Image Processing" by Bern Jähne) gemessen werden. Leider habe ich in diesem Buch nichts über den Prewitt-Operator gefunden, also müßten Sie Ihre eigenen Experimente machen.

Am Ende gibt es immer einen Kompromiss zwischen diesen Eigenschaften, und welcher von ihnen wichtiger ist, hängt von der Anwendung ab.

+0

Dank Nikie, das ist eine brillante Antwort und genau das, was ich gesucht habe. Akzeptierte Antwort :). – ale

+0

Intels Jähne Testmuster haben offensichtlich den Standort geändert (toter Link in Antwort oben), ich habe sie hier gefunden: https://software.intel.com/en-us/node/503777 – winne2

+1

@ winne2: Danke, ich habe die aktualisiert Verknüpfung – Niki

Verwandte Themen