• Nie Znaleziono Wyników

Filtry górnoprzepustowe - gradienty

3 Klasyczne metody komputerowego przetwarzania obrazu

3.4 Kontekstowa filtracja obrazu

3.4.2 Filtry liniowe

3.4.2.5 Filtry górnoprzepustowe - gradienty

Podobnie jak przy przetwarzaniu innych sygnałów - w przetwarzaniu obrazów mają swój udział i swoją rolę do odegrania także filtry górnoprzepustowe. Filtry tego typu służyć mogą do wydobywania z obrazu składników odpowiedzialnych

94 3 Klasyczne metody komputerowego przetwarzania obrazu

za szybkie zmiany jasności - a więc konturów, krawędzi, drobnych elementów faktury, itp. Popularnie mówi się, że filtry górnoprzepustowe dokonują wyos-trzania sygnału. Ponieważ pojęcie wyoswyos-trzania obrazu może być w praktyce trudne do jednoznacznego określenia, przeważnie przyjmuje się, że operacja ta polega na uwypukleniu krawędzi obiektów na obrazie.

Krawędź jest to linia (w najprostszym przypadku prosta) oddzielająca obszary o różnej jasności L1,L2. Prosty model matematyczny krawędzi ma postać skoku jednostkowego w zerze:

Zachodzi więc zależność:

i z t dt

z

( )= ( )

−∞

δ ; gdzie δ( )t - delta Diraca

Dla potrzeb analizy można przyjąć, że krawędź leży wzdłuż prostej o równaniu:

y ax b= +

Jasność obrazu w poszczególnych punktach opisać można funkcją:

f x y( , )=L1+(L2 −L i x1) ( sinα−ycosα β+ ) Pierwsze pochodne cząstkowe mają postać:

 nazywany jest gradientem intensywności. Do wykrywania kra-wędzi używany jest kwadrat jego długości:

3.4 Kontekstowa filtracja obrazu 95

Obliczając drugie pochodne f :

otrzymujemy Laplasjan funkcji intensywności:

2f x y = 2f x y2 + 2 2 = 21 ′ − +

Laplasjan jest symetryczny względem obrotu oraz zachowuje znak krawędzi (mówi o tym, czy intensywność obrazu za krawędzią jest większa, czy mniejsza od intensywności obrazu przed krawędzią). Co ważne, jest to operator liniowy, a więc prosty w implementacji (np. jako konwolucja). Dlatego znajduje szerokie zastosowanie w przetwarzaniu obrazów.

Jeśli w poprzednim rozdziale mogliśmy mówić, że filtry dolnoprzepustowe w pewnym sensie całkują, czy też uśredniają obraz - tak obecnie musimy stwier-dzić, że filtry górnoprzepustowe realizują zawsze jakąś formę różniczkowania sygnału. Obejrzyjmy to najpierw na najprostszym możliwym przykładzie tak-zwanego gradientu Robertsa. Macierz współczynników w(i,j) dla tego gradientu może być przedstawiona w postaci następującej tabeli:

0 0 0

-1 0 0

0 1 0

W zasadzie, jak widać z tabeli, gradient Robertsa daje się opisać jednoznacznie i wyczerpująco za pomocą macierzy współczynników o rozmiarach 2 x 2

-1 0

0 1

jednak taki sposób zdefiniowania potrzebnego operatora konwolucji pozostawia pewną dowolność w zakresie sposobu umiejscowienia centralnego piksela, dla którego proces przetwarzania jest prowadzony - stąd w tej książce macierze dla

96 3 Klasyczne metody komputerowego przetwarzania obrazu

gradientu Robertsa będą także traktowane jako macierze o rozmiarach 3 x 3 piksele.

Skutki różniczkowania obrazu gradientem Robertsa można prześledzić na rysun-ku 3.48. Dzięki temu, że na rysunrysun-ku pokazano działanie gradientu na obrazie sztucznym, specjalnie do tego celu spreparowanym, ujawnione zostało, że istota filtracji górnoprzepustowej polega na podkreślaniu pewnych krawędzi.

a) b) c)

Rys. 3.48. Filtracja obrazu gradientem Robertsa. a) obraz poddawany filtracji, b) obraz po wykonaniu filtracji, c) obraz po wzięciu modułu wartości pikseli po wykonaniu

filtracji.

Warto zwrócić uwagę na pewien szczegół rysunku 3.48, który będzie się potem powtarzał na dalszych rysunkach, w tym i w dalszych podrozdziałach. Otóż w ma-cierzach konwolucji filtrów górnoprzepustowych występują zarówno dodatnie, jak i ujemne współczynniki, co oznacza, że po wykonaniu splotu w obrazie wyniko-wym będą występowały zarówno piksele o wartościach dodatnich, jak i piksele o wartościach ujemnych (warto zauważyć, że zjawisko takie nie występowało nigdy podczas filtracji dolnoprzepustowych). W związku z tym w celu pra-widłowego zinterpretowania wyniku konwolucji w postaci wynikowego obrazu trzeba albo dokonać skalowania, albo brać pod uwagę jedynie wartość bez-względną odpowiednich pikseli. Przy skalowaniu obrazu wadą jest fakt, że dotychczasowe tło obrazu otrzymuje pewne „zabarwienie” (zwykle jest to szarość odpowiadająca wartości pikseli wynoszącej 128), natomiast piksele dodatnie są intensywnie ciemne, zaś piksele ujemne - pojawiają się jako jaśniejsze od tła.

Alternatywny sposób prezentacji, zakładający tworzenie obrazu wynikowego w postaci wartości bezwzględnych (modułów) wartości odpowiednich pikseli też ma swoje zalety, ale zwykle trochę „rozmywa” efekty, a ponadto ukrywa infor-macje o tym, czy poszczególne zmiany obliczone zostały jako dodatnie (wzrost jasności) czy jako ujemne (zmalenie jasności w odpowiednim kierunku). Prze-śledzenie działania gradientu Robertsa na obrazie rzeczywistym (pokazane na

3.4 Kontekstowa filtracja obrazu 97 rysunku 3.49) uwidacznia, że efekt końcowy może być subiektywnie odbierany jako „wyostrzenie” obrazu, chociaż towarzyszą temu wyraźne zniekształcenia.

Rys. 3.49. Filtracja obrazu „Lena” gradientem Robertsa (pokazano obraz po wykonaniu filtracji; przeskalowany - po lewej oraz w postaci modułu - po prawej).

Gradient Robertsa ma wyraźnie kierunkowy charakter, co można prześledzić zarówno na rysunku 3.48, jak i na rysunku 3.49. Jest to oczywiste następstwo faktu, że różniczkowanie funkcji dwuwymiarowej musi zawsze odbywać się wzdłuż pewnego kierunku - w przypadku gradientu Robertsa jest to kierunek położony pod kątem 45o. Jeszcze lepiej można to prześledzić używając gradientu Robertsa dla komplementarnej maski o postaci:

0 -1

1 0

a dokładniej (dla uniknięcia nieporozumień odnośnie ulokowania centralnego punktu) maski:

0 0 0

0 0 -1

0 1 0

Skutki działania tego gradientu, pokazane na rysunku 3.50 nie pozostawiają żad-nych wątpliwości: gradient podkreśla zawsze linie o pewnej ustalonej orientacji, zależnej od postaci używanej maski.

Gradienty Robertsa (oparte na masce o rozmiarach 2 x 2) można w dość naturalny sposób przenieść na maski o rozmiarach 3 x 3. Powstające w ten sposób tzw.

98 3 Klasyczne metody komputerowego przetwarzania obrazu

maski Prewitta pozwalają różniczkować obraz w różnych kierunkach. Rozważmy na początek poziomą maskę Prewitta o następującej strukturze:

-1 -1 -1

0 0 0

1 1 1

Rys. 3.50. Filtracja obrazu „Lena” gradientem Robertsa o przeciwnej (w stosunku do rys. 3.49) orientacji.

Maska ta po dokonaniu operacji konwolucji produkuje dla sztucznego obrazu wynik pokazany na rysunku 3.51.

a) b) c)

Rys. 3.51. Sztuczny obraz filtrowany górnoprzepustowo z użyciem poziomej maski Prewitta.

Nie ulega wątpliwości, że tym razem wzmocnieniu podlegają linie o orientacji zbliżonej do horyzontalnej. Potwierdza to także wygląd obrazu uzyskanego po spleceniu maski poziomej Prewitta z obrazem „Lena” (pokazany na rysun-ku 3.52).

3.4 Kontekstowa filtracja obrazu 99

Rys. 3.52. Obraz „Lena” filtrowany górnoprzepustowo z użyciem poziomej maski Prewitta.

Przez prostą transpozycję maski Prewitta można uzyskać filtr akcentujący ele-menty o orientacji horyzontalnej. Efekt działania tego filtru obejrzeć można na rysunku 3.53.

Rys. 3.53. Obraz „Lena” filtrowany górnoprzepustowo z użyciem pionowej maski Prewitta.

100 3 Klasyczne metody komputerowego przetwarzania obrazu

Przy filtracjach gradientowych można także wzmacniać wpływ bezpośrednio najbliższego otoczenia piksela, dla którego wyznaczana jest wartość piksela na obrazie wynikowym. Służą do tego tak zwane maski Sobela. Pozioma maska Sobela ma postać:

-1 -2 -1

0 0 0

1 2 1

Skutek działania tej maski pokazuje rysunek 3.54.

Rys. 3.54. Obraz „Lena” filtrowany górnoprzepustowo z użyciem poziomej maski Sobela.

Maskę Sobela można też transponować (obrócić) uzyskując maskę pionową:

-1 0 1

-2 0 2 -1 0 1

której efekt działania pokazuje rysunek 3.55.

Mało tego - maski Sobela mogą być swobodnie obracane nie tylko o 90o, co po-zwala na wyznaczenie gradientów w różnych kierunkach. Dla pełnego pokazania tego efektu użyjemy jednak innego obrazu testowego, gdyż obraz „Lena” znany jest ze swych krągłości (!!!), a tutaj potrzebne są proste linie o różnych kierun-kach. Dlatego chcąc pokazać skutek działania gradientów opartych na maskach Sobela obracanych kolejno o 45o użyjemy obrazka przedstawiającego żaglówkę na jeziorze. Wynik pokazuje rysunek 3.56.

3.4 Kontekstowa filtracja obrazu 101

Rys. 3.55. Obraz „Lena” filtrowany górnoprzepustowo z użyciem poziomej maski Sobela.

Rys. 3.56. Obraz żaglówki (w centrum) filtrowany górnoprzepustowo z użyciem masek Sobela o różnych orientacjach.

102 3 Klasyczne metody komputerowego przetwarzania obrazu

Do filtracji obrazka żaglówki zastosowano na rysunku 3.56 maski Sobela, które pokazano niżej na rysunku 3.57 w tym samym ułożeniu, jakie wynikło z ich uży-cia na rysunku 3.56. Łatwo zauważyć porównując rysunki 3.56 i 3.57, że maska Sobela o określonej orientacji wydobywa z obrazu linie i struktury o tej właśnie orientacji.

Rys. 3.57. Maski Sobela użyte do górnoprzepustowej filtracji obrazu na rysunku 3.56.