|
Transformata
Fouriera przenosi obraz do dziedziny częstotliwości.
Intuicyjną definicję częstotliwości obrazu oprzeć
można na kontrastach zawartych w rozpatrywanym
obrazie. Krawędzie
zawartych w obrazie powierzchni o jednolitej wartości
koloru (skali szarości), znajdujących się na tle o
odcieniu różnym od odcienia tych powierzchni to oczywiście obszary,
które w obrazie transformaty Fouriera będą
maskowane przez wysokie częstotliwości. Można zatem wyobrazić sobie, że usunięcie składowych
z obrazu określających właśnie obszary o wysokiej
częstotliwości pozwoli na rozmycie, uciąglenie
obrazu.
Transformata Fouriera dla obrazów ze względu na złożoność
obliczeniową nie jest powszechnie wykorzystywana w
systemach wizyjnych pracujących w trybie on-line,
znajduje ona jednak pewne specyficzne zastosowania do
przetwarzania obrazów cyfrowych w trybie off-line.
Zaawansowanym przykładem wykorzystania tej metody
analizy obrazu jest badanie ukształtowania
powierzchni oceanicznej na podstawie zdjęć
satelitarnych. Więcej na ten temat można znaleźć w
pod adresem: http://haydn.cbk.waw.pl/~kosek/strona2/kosek3.html.
W przywołanym opracowaniu autorzy definiują również
podstawy matematyczne transformaty Fouriera dla obrazów.
Obraz
w dziedzinie transformacji Fouriera określany jest
mianem F-obrazu. Piksele F-obrazu nazywane są
F-pikselami. Dwuwymiarowa transformata Fouriera może
być przeprowadzona jako transformata jednowymiarowa
najpierw wierszami, następnie kolumnami lub najpierw
kolumnami, następnie wierszami. W obu przypadkach
wynik będzie identyczny.
Dysponując
algorytmami jednowymiarowymi FFT oraz IFFT można
zatem w łatwy sposób utworzyć odpowiedni algorytm
transformaty dwuwymiarowej. Algorytm
obliczania FFT2 zaimplementowany w przyborniku Image
Processing Toolbox programu Matlab jest następujący:
B=
fft(fft(A).').';
gdzie: A - obraz wejściowy, B - obraz wynikowy.
Przykład:
load
imdemos saturn2
imshow(saturn2)
Rys.1
Przykładowy obraz
B
= fftshift(fft2(saturn2));
imshow(log(abs(B)),[]);
colormap(jet(64));

Rys.2 Przesunięty
moduł transformaty Fouriera obrazu z rys.1
Polecenie fftshift
przesuwa składową stałą wyniku transformaty z obrazu wejściowego
do centrum F-obrazu. Poniżej przedstawiono
F-obraz uzyskany przy wykonaniu powyższych instrukcji
bez przesunięcia składowej stałej.

Rys.3 Moduł
transformaty Fouriera obrazu z rys.1
bez przesunięcia
Polecenie imshow(log(abs(B)),[]) wyświetla
zlogarytmowaną wartość modułu transformaty.
Logarytmowanie ma na celu rozciągnięcie wartości
modułu transformaty do zakresu umożliwiającego
wygodną wizualizację wyniku.
W programie FIM zaimplementowano opcję wyboru rodzaju
wizualizacji wyników obliczonej transformaty Fouriera
dla zadanego obrazu. Obojętnie w jakiej postaci wynik
transformaty jest przedstawiany, zapisywany jest on
zawsze pod tą samą postacią, zatem sposób
przedstawiania wyniku transformaty nie ma wpływu na
wynik operacji ifft2, czy operacji filtracji obrazu w
dziedzinie częstotliwościowej (opcja FIM filtracja).
Poniżej
przedstawiono przykłady zastosowania filtracji w
dziedzinie częstotliwości do usuwania pewnych
wybranych typów szumów występujących w obrazach
cyfrowych. Wszystkie zamieszczone obrazy zostały
wygenerowane w programie FIM.
1.
Obraz oryginalny o rozdzielczości 128 na 128.

Rys.4
Przykładowy obraz - Lena
2.
Obraz oryginalny do którego dodany został szum
sinusoidalny wygenerowany za pomocą opcji
'Szum' programu FIM wg zawartego poniżej przepisu
(w odpowiedniej pętli przez wszystkie piksele
obrazu):
X(i,j)=
X(i,j) + sin(0.5* i) + sin (0.2 * j);
gdzie:
X(i,j) - piksel obrazu o współrzędnych i, j.

Rys.5 Obraz z
rys.4 zniekształcony szumem
3.
Moduł przesuniętej transformaty obrazu zaszumionego
przedstawia się następująco:

Rys.6
F-obraz
po
zbliżeniu centrum obrazu (rysunek poniżej) widać
wyraźnie jasne punkty rozmieszczone symetrycznie względem
punktu środka F-obrazu. Rozjaśnienia te pochodzą od
wprowadzonego szumu sinusoidalnego. Jak można zauważyć
na rysunku częstotliwość szumu przyłożonego wzdłuż
wysokości obrazu jest większa od szumu przyłożonego
wzdłuż szerokości (odległość jasnych punktów od
centrum jest większa w pionie niż w poziomie).

Rys.7
4.
Filtracja idealnym filtrem komplementarnym w dziedzinie częstotliwości
(przy zastosowaniu opcji FIM filtracja).
Filtracja
polega na usunięciu składowych F-obrazu przenoszących
informację o szumie. W tym przypadku składowe te
zostały powyżej zidentyfikowane a po ich usunięciu
F-obraz wygląda następująco (usunięta została
jedna ze składowych szumu).

Rys.8 F-obraz z częściowo
usuniętą składową poziomą szumu
Po
odwróceniu F-obrazu funkcją ifft2 otrzymuje się:

Rys.9
Usunięta
została zatem składowa pozioma szumu.
Po
zastosowaniu podobnej procedury dla składowej
poziomej otrzymuje się:

Rys.10
Celem
całkowitego usunięcia szumu dokonano usunięcia
wszystkich składowych F-obrazu przenoszących
informację o tym szumie. Postać F-obrazu po usunięciu
szumu wygląda następująco:

Rys.11
Tak
natomiast wygląda wynik przeprowadzonej filtracji:

Rys.12 Wynik
przeprowadzenia filtracji w dziedzinie F-obrazu
na zaszumionym obrazie z rys.5
|