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.

AlgorytmEdytuj

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 gradientu 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ętrzneEdytuj