mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Sobel Filter in Matlab


Autor: Filteranwender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier ein Problem was mich etwas verblüfft. In Matlab wende ich 
Sobel Operatoren auf Grauwertbilder (0 bis 255) an. Den Filterkern 
erstelle ich mit einer Matlabfunktion. Die Kernel sind dann:

-1 0 1       1  2  1
-2 0 2       0  0  0
-1 0 1      -1 -2 -1

Bei einem Wertebereich von 0 bis 255 sollte hier eigentlich maximal ein 
Gradientenwert von 1020 pro Maske entstehen. Durch die Betragsbildung 
der beiden Filter sollte der Wertebereich des Gradientbildes von 0-2040 
reichen.
Ich lese die Bilder alle richtig ein, sprich die Wertebereiche stimmen 
alle. Komischerweise bekomme ich unter Verwendung von:

gx = filter2(sobelkernX,(image));
gy = imfilter(image,sobelkernY);

die Maximalwerte von 1587 und 1514. Für gxy ergibt sich ein von 2193.

Ich vermute das die Anwendung des Filters am Bildrand Probleme macht. 
Allerdings weiß ich dann immer noch nicht wie man Werte über 1020 kommen 
kann? Vielleicht hatte schonmal wer das gleiche Problem...

Gruß Filteranwender

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.