Kann die Kantenerkennung im Frequenzbereich erfolgen?

11

Können wir die Tatsache nutzen, dass Hochfrequenzkomponenten in der FFT eines Bildes im Allgemeinen Kanten entsprechen, um einen Kantenerkennungsalgorithmus im Fourier-Bereich zu implementieren? Ich habe versucht, einen Hochpassfilter mit der FFT eines Bildes zu multiplizieren. Obwohl die resultierende Bildart Kanten entsprach, war es nicht genau die Kantenerkennung, die unter Verwendung von Faltungsmatrizen ermittelt wurde. Gibt es also eine Möglichkeit, die Kantenerkennung im Fourier-Bereich durchzuführen, oder ist dies überhaupt nicht möglich?

rounak
quelle

Antworten:

6

Da die Faltung im räumlichen Bereich eine Multiplikation im Fourier- (Frequenz-) Bereich ist, können Sie die Kantenerkennung im Fourierbereich durchführen, indem Sie die Spektren des Bildes und des Kantenerkennungskerns multiplizieren und dann eine IFFT für das Ergebnis durchführen.

Ich denke, das Hochpassfilter allein ist nicht für die Kantenerkennung geeignet, da es alle Hochfrequenzmerkmale (z. B. scharfe Spitzen und Ecken) beibehält, die normalerweise nicht als Kanten klassifiziert werden.

Fortgeschrittenere Kantenerkennungsmethoden wären im Frequenzbereich schwierig, da Kanten am besten im räumlichen Bereich beschrieben werden (meiner Meinung nach).

Die Frage ist, warum die Kantenerkennung überhaupt mit FFT durchgeführt werden soll. Liegt es an Leistungsüberlegungen? In diesem Fall kann das hochpassgefilterte Bild (schnell von FFT erzeugt) möglicherweise schnell wieder gefiltert werden, um nicht kantige Teile zu entfernen.

Libor
quelle
Ja, der Gedanke war auf Leistungsüberlegungen zurückzuführen, da Matlab furchtbar lange braucht, um über jedes Pixel des Bildes zu iterieren. Versucht, den Faltungsfilter aufzufüllen, seine FFT zu nehmen und das Bild zu filtern. Vielen Dank!
Rounak
Kanten basieren auf einer Art Wavelet-Domäne (meiner Meinung nach);)
Henry Gomersall
1
Dies hängt alles von Ihrer Definition einer Kante ab: Wenn Sie hineinzoomen, wird sie im Frequenzbereich zu niedrigeren Frequenzen "verschoben". Eine Kante reicht daher nicht aus, um sie als Hochfrequenzmerkmal zu definieren.
Meduz
5

Normalerweise erfolgt die Kantenerkennung durch Faltung eines 2-D-Filters / Kernels wie Roberts Cross oder einer Sobel- Formulierung. Da es sich um Faltungen handelt, gelten LTI-Regeln, beispielsweise die Möglichkeit, sie im Frequenzbereich gleichwertig anzuwenden. Das heißt, nehmen Sie sowohl den Kernel als auch das Bild über DFT in den Frequenzbereich, multiplizieren Sie sie miteinander und IDFT das Ergebnis zurück in den räumlichen Bereich.

Ich sollte auch hinzufügen, dass die Kernel im räumlichen Bereich tatsächlich versuchen, die hohen räumlichen Frequenzeigenschaften der Kanten auszunutzen. Wenn Sie sich beispielsweise Roberts ansehen, können Sie sehen, wie eine Differenzierung über die diagonalen Punkte erfolgt, dh eine Hochpassfilteroperation.

Spacey
quelle
1

Sowohl ein einzelner Schritt als auch ein einzelner Sägezahn erzeugen eine schöne lineare Beziehung zwischen Frequenz und Phase im Frequenzbereich, wobei die Steigung der nicht umwickelten Phase von der Position der Kante im FFT-Fenster abhängt. Um den Ort einer angenommenen Einzelkante zu erkennen oder zu schätzen, können Sie versuchen, die Phase im Frequenzbereich abzuwickeln und festzustellen, ob das Ergebnis eine ausreichende lineare Korrelation aufweist, um einen bestimmten Erkennungsschwellenwert zu überschreiten.

hotpaw2
quelle