Sobel

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Operator Sobela jest jednym z operatorów (Krzyż Robertsa, Prewitt, Scharr) używanych do wykrywania krawędzi w cyfrowym przetwarzaniu obrazów. Jest to w istocie operator dyskretnego różniczkowania, umożliwiający aproksymację pochodnych kierunkowych intensywności obrazu w ośmiu kierunkach co 45°. Operator ten został po raz pierwszy przedstawiony w referacie wygłoszonym w roku 1968 przez Irwina Sobela (współautor Jerome Arthur Feldman), którego tekst nie został opublikowany lecz mimo to jest powszechnie cytowany.

Algorytm[edytuj]

Wyznaczenie pochodnej kierunkowej odbywa się za pomocą operacji dwuwymiarowego dyskretnego splotu macierzy obrazu z macierzą 3x3 charakterystyczną dla danego kierunku zwaną jądrem (kernel) przekształcenia. Macierze te są antysymetryczne w stosunku do kierunku wykrywanej krawędzi. Zbiór 8 macierzy pozwala na określenie kierunku od 0° do 315° z krokiem 45°. Dla kierunku 0° wykrywane są krawędzie pionowe, a dla 90° – krawędzie poziome. Operacja splotu wyznacza w pierwszym przypadku estymatę pochodnej cząstkowej względem osi X, a drugim względem osi Y.

Otrzymane wartości pochodnych cząstkowych definiują wektor gradientu dla każdego punktu obrazu. Innym prostszym sposobem podejścia do aproksymacji gradientu jest tzw. "metoda kompasowa". W metodzie tej maska dająca maksymalną wartość pochodnej określa moduł i kierunek grandientu z rozdzielczością 45°.

Przykłady masek dla kątów 0°, 45°, 90° i 135°.

Kolejne maski otrzymuje się obracając podane maski o 180°. Warto zauważyć, że wystarczy obliczyć sploty z czterema pierwszymi maskami, gdyż pozostałe różnią się tylko znakiem (Sj+4= – Sj).

Operator Sobela dokonuje operacji uśredniania pochodnej (z wagami 1, 2, 1) z trzech linii równoległych do kierunku różniczkowania. Dzięki temu ma mniejszą wrażliwość na zakłócenia w obrazie (szum) niż Krzyż Robertsa i lepiej wygładza niż operator Prewitta.

Linki zewnętrzne[edytuj]