Das Kefk Network Wiki befindet sich im Testbetrieb.


Sobel-Operator

Aus Kefk.

Wechseln zu: Navigation, Suche

Der Sobel-Operator ist ein einfacher Kantendetektions-Algorithmus der Bildverarbeitung. Hier wird die erste Ableitung der Bildpunkt-Helligkeitswerte mit einer gleichzeitigen Glättung berechnet.

Der Operator nutzt zur Faltung eine 3 \times 3-Matrix (Faltungsmatrix), die aus dem Originalbild ein Gradienten-Bild erzeugt. Mit diesen werden hohe Frequenzen im Bild mit Grauwerten dargestellt. Die Bereiche der größten Intensität sind dort, wo die Helligkeit des Originalbildes sich am stärksten ändert und somit die größten Kanten darstellt. Daher wird zumeist nach der Faltung mit dem Sobeloperator eine Schwellwert Funktion angewandt.

Wenn wir das Originalbild als Matrix A definieren, dann können wir mittels der Sobeloperatoren \mathbf{S_x} und \mathbf{S_y} die gefalteten Resultate \mathbf{G_x} und \mathbf{G_y} berechnen:


\mathbf{G_x}=\mathbf{S_x}*A = \frac{1}{8}\begin{bmatrix} 
1 & 0 & -1 \\
2 & 0 & -2 \\
1 & 0 & -1 
\end{bmatrix} * A

und

\mathbf{G_y}=\mathbf{S_y}*A = \frac{1}{8}\begin{bmatrix} 
1 & 2 & 1 \\
0 & 0 & 0 \\
-1 & -2 & -1 
\end{bmatrix} * A

Eine richtungsunabhängige Information kann man durch die Kombination beider Ergebnisse erhalten: \mathbf{G} = \sqrt{ \mathbf{G_x}^2 + \mathbf{G_y}^2 }

Folgendermaßen erhält man die Richtung eines Gradienten: \mathbf{\Theta} = \operatorname{arctan}\left({ \mathbf{G_y} \over \mathbf{G_x} }\right)

Hierbei beschreibt der Wert Θ = 0 eine vertikale Kante. Positive Werte beschreiben eine Drehung gegen den Uhrzeigersinn.

mathematische Definition


\begin{matrix}
  \mathbf{S_x} & = & \mathbf{D_{2x}*B_y^{2}}\\
               & = & \ ^{-}D_{x}* ^{1}B_xB_y^2\\
               & = & \begin{bmatrix}1_{\bullet} & -1 \end{bmatrix}* 1/2 \begin{bmatrix} 1 & 1_{\bullet} \end{bmatrix} * \frac{1}{4}\begin{bmatrix} 
                   1 \\
                   2 \\
                   1 \\
                \end{bmatrix}\\
               & = & 1/2 \begin{bmatrix}1 & 0 & -1\end{bmatrix}\frac{1}{4}\begin{bmatrix} 
                   1 \\
                   2 \\
                   1 \\
                \end{bmatrix}\\
               & = & \frac{1}{8}\begin{bmatrix} 
                   1 & 0 & -1 \\
                   2 & 0 & -2 \\
                   1 & 0 & -1 
                \end{bmatrix}
\end{matrix}



\begin{matrix}
  \mathbf{S_y} & = & \mathbf{D_{2y}*B_x^2}\\
               & = & \ ^{-}D_{y}*^{1}B_{y}*B_x^2\\
               & = & \begin{bmatrix}1_{\bullet} \\ -1 \end{bmatrix}* 1/2 \begin{bmatrix}1 \\ 1_{\bullet} \end{bmatrix} \frac{1}{4}\begin{bmatrix} 
                   1 & 2 & 1
                \end{bmatrix}\\
               & = & 1/2 \begin{bmatrix}1 \\ 0 \\ -1 \end{bmatrix} \frac{1}{4}\begin{bmatrix} 
                   1 & 2 & 1
                \end{bmatrix}\\
               & = & \frac{1}{8}\begin{bmatrix} 
                   1 & 2 & 1 \\
                   0 & 0 & 0 \\  
                  -1 & -2 & -1 
                \end{bmatrix}
\end{matrix}


Beispielbilder

[[Hilfe:Cache|Fehler beim Thumbnail-Erstellen]]: convert: unable to open image `/var/www/kefk/w/images/9/9f/Camera_obscura.jpg': Not a directory.
Originalbild "Camera Obscura", das zur weiteren Berechnung genommen wurde.
Bild:Camera obscura-Sobel-Horizontal.jpg
Camera Obscura mit horizontalem Sobel gefalten. Da auch negative Werte entstehen, wird der Nullpunkt als mittleres Grau dargestellt
Bild:Camera obscura-Sobel-Vertikal.jpg
Camera Obscura mit vertikalem Sobel gefalten. Da auch negative Werte entstehen, wird der Nullpunkt als mittleres Grau dargestellt
Camera Obscura mit horizontalem und vertikalem Sobel gefaltet und kombiniert.
Camera Obscura mit horizontalem und vertikalem Sobel gefaltet und kombiniert.
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Sobel-Operator, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge
Andere Sprachen