Sobel Operator in 1D

Gast #4639138
Für 2D ist der Sobel Operator die bekannte 3x3 Matrix. Was ich mich nun 
frage, da ich nur mit 1D Signalen zu tun habe: Kann man den Sobel 
Operator auch auf ein 1D Signal anwenden und wenn ja, wie sieht der 
Sobel Operator dann für 1D Signale genau aus?

Einfach die 3x3 Matrix zeilenweise anwenden oder übersehe ich da etwas? 
Kann jemand vielleicht ein Beispiel geben?
Gast #4639253
Das wäre die Vorschrift für eine Kante im Mittelpunkt M und den Nachbarn 
L sowie R:

(1 0 -1) also praktisch L-R und das gfs betragsmässig interpretiert.
Gast #4639295
Kantenerkenner schrieb:
> Das wäre die Vorschrift für eine Kante im Mittelpunkt M und den
> Nachbarn
> L sowie R:
>
> (1 0 -1) also praktisch L-R und das gfs betragsmässig interpretiert.

Ich versuche mal ein Beispiel. Ist folgendes korrekt?

x = [0 0 0 1 1 1]

(1*0)+(0*0)+(-1*0) = 0
(1*0)+(0*0)+(-1*1) = -1
(1*0)+(0*1)+(-1*1) = -1
(1*1)+(0*1)+(-1*1) = 0

y = [0 -1 -1 0]

Nun hat der Sobel Operator aber die Faktoren (+/-) 1,2,1. Ich meine mal 
gelesen zu haben, dass dies eine zusätzliche Glättung bewirkt. Wäre das 
dann einfach (1 2 1 0 -1 -2 -1)?
#4639323
Homer schrieb:
> Ich versuche mal ein Beispiel. Ist folgendes korrekt?
>
> x = [0 0 0 1 1 1]
>
> (1*0)+(0*0)+(-1*0) = 0
> (1*0)+(0*0)+(-1*1) = -1
> (1*0)+(0*1)+(-1*1) = -1
> (1*1)+(0*1)+(-1*1) = 0
>
> y = [0 -1 -1 0]

Wenn ich das noch halbwegs richtig im Kopf habe:

Führt man eine lineare Faltung eines Signalvektors mit M Elementen mit 
einem solchen mit N Elementen durch, dann hat das Ergebnis M + N - 1 
Elemente.

Hier wären das demnach: 6 + 3 - 1 = 8

da x hier sechs Elemente enthält und das anzuwendende Filter drei. 
Demnach sollte der Vektor y acht Elemente enthalten. Oder aber ich irre 
mich - die Vorlesung ist schon verdammt lange her ;-)
Gast #4639686
Er hat die Ränder weggelassen. Rauskommen würde:

U U 0 -1 -1 0 U U

weil ja für die Randwerte keine Eingangswerte zur Verfügung stehen.

Man kann die Detaktion auf über ein Pixel machen, also 1 -1 0 Dann ist 
das Ergebnis aber versetzt.
Gast #4639988
Das ist aus meiner Bachelor-Arbeit :) Die unterliegt leider einem 
Sperrvermerk, deshalb musste ich einige Begriffe streichen und kann sie 
nicht im Ganzen veröffentlichen.
Gast #4640146
rme schrieb:
> Das ist aus meiner Bachelor-Arbeit :) Die unterliegt leider einem
> Sperrvermerk, deshalb musste ich einige Begriffe streichen und kann sie
> nicht im Ganzen veröffentlichen.

Jäh05 -> "Digital Image Processing" von Bernd Jähne oder?
Gast #4640266
Einige Paper und Arbeiten der Erfinder sind frei verfügbar und geben 
schöne Einblicke, z.B.:

* J. Canny. „A Computational Approach to Edge Detection“

* Hanno Scharr. „Optimale Operatoren in der Digitalen Bildverarbeitung“
Persönliche Seite #4643687
Sobel und andere sind SO! nur in einem absolut bereinigten und idealen 
Bild sicher anwendbar. Für die meisten praktischen Fälle muss ein Bild 
(und auch das hier geforderte eindimensionale Signal) meistens 
vorbereitet werden oder Korrekturen und z.B. Rauschfilterung müssen im 
Filter implementiert sein. Dazu muss man den Vektor entsprechend 
aufziehen und die geforderten Frequenzen einbeschreiben.
Gast #4643691
Jürgen S. schrieb:
> Sobel und andere sind SO! nur in einem absolut bereinigten und
> idealen
> Bild sicher anwendbar. Für die meisten praktischen Fälle muss ein Bild
> (und auch das hier geforderte eindimensionale Signal) meistens
> vorbereitet werden oder Korrekturen und z.B. Rauschfilterung müssen im
> Filter implementiert sein.

Das ist klar, also z.B. Canny. Wollte nur die reine Kantenerkennung auf 
1D übertragen verstehen, nicht das Canny "Komplettpaket" :-)

@rme
Danke für die Tipps!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.