Krzyż Robertsa

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Zdjęcie odrzutowca przed poddaniem go modyfikacjom.
Obrazek po modyfikacjach w oparciu o Krzyż Robertsa przy użyciu programu Xara X.

Krzyż Robertsa (filtr Robertsa) – jeden z najwcześniejszych algorytmów wykrywania krawędzi. Algorytm został zaproponowany przez Lawrence G. Robertsa w roku 1963.

Zasada działania polega na obliczeniu różnic luminancji pikseli położonych koło siebie po przekątnych, a następnie dodaniu ich wartości bezwzględnych. Obliczenie różnic można zapisać jako splot macierzy obrazu z każdą z przedstawionych poniżej macierzy o wymiarach 2x2.


\begin{bmatrix} 
+1 & 0 \\
 0 & -1\\
\end{bmatrix}
\qquad \qquad 
\begin{bmatrix} 
0  & +1 \\
-1 & 0  \\
\end{bmatrix}

Wynikiem tych operacji są dwie macierze przedstawiające pochodne kierunkowe obliczone dla kierunków 135° oraz 45°. Wynikowy obraz krawędzi powstaje po obliczeniu różnic modułów z odpowiadających sobie elementów macierzy. W oryginalnej pracy Robertsa jest zaprezentowany inny bardziej złożony rachunkowo sposób obliczania "stromości" krawędzi. Obliczenie polega na obliczeniu pierwiastka z sumy kwadratów elementów obu macierzy.

Wydaje się, że najprościej przebieg obliczeń dla każdego piksela obrazu można zapisać w następujący sposób:

tmp1 = input_image(x, y) – input_image(x+1, y+1)
tmp2 = input_image(x+1, y) – input_image(x, y+1)
output_image(x, y) = absolute_value(tmp1) + absolute_value(tmp2)

Krzyż Robertsa jest cały czas w użyciu ze względu na szybkość obliczeń. Przy porównaniu z późniejszymi algorytmami do wykrywania krawędzi (Prewitt, Sobel, Scharr, Canny) wykazuje mniejszą odporność na szumy. Daje jednak węższe krawędzie.

Linki zewnętrzne[edytuj | edytuj kod]