Laboratorium Cyfrowego Przetwarzania Obrazów

Podobne dokumenty
Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Przetwarzania Sygnałów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Przetwarzania Sygnałów

Laboratorium Przetwarzania Sygnałów

Laboratorium Cyfrowego Przetwarzania Obrazów

Analiza obrazu. wykład 5. Marek Jan Kasprowicz Uniwersytet Rolniczy 2008

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Laboratorium Przetwarzania Sygnałów

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Przetwarzanie obrazów wykład 6. Adam Wojciechowski

Analiza obrazów - sprawozdanie nr 2

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

Akwizycja i przetwarzanie sygnałów cyfrowych

Transformata Fouriera i analiza spektralna

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Ćwiczenie 3. Właściwości przekształcenia Fouriera

LABORATORIUM AKUSTYKI MUZYCZNEJ. Ćw. nr 12. Analiza falkowa dźwięków instrumentów muzycznych. 1. PODSTAWY TEORETYCZNE ANALIZY FALKOWEJ.

9. Dyskretna transformata Fouriera algorytm FFT

Cyfrowe przetwarzanie i kompresja danych

Przekształcenie Fouriera obrazów FFT

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Laboratorium Przetwarzania Sygnałów Biomedycznych

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Diagnostyka obrazowa

TRANSFORMATA FALKOWA 2D. Oprogramowanie Systemów Obrazowania 2016/2017

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

EKSTRAKCJA CECH TWARZY ZA POMOCĄ TRANSFORMATY FALKOWEJ

Przetwarzanie Sygnałów. Zastosowanie Transformaty Falkowej w nadzorowaniu

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Cyfrowe Przetwarzanie Obrazów i Sygnałów

DYSKRETNE PRZEKSZTAŁCENIE FOURIERA C.D.

Transformata Fouriera

Diagnostyka obrazowa

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

Andrzej Leśnicki Laboratorium CPS Ćwiczenie 7 1/7 ĆWICZENIE 7. Splot liniowy i kołowy sygnałów

Laboratorium Przetwarzania Sygnałów Biomedycznych

Laboratorium Przetwarzania Sygnałów Biomedycznych

uzyskany w wyniku próbkowania okresowego przebiegu czasowego x(t) ze stałym czasem próbkowania t takim, że T = t N 1 t

PRZETWARZANIE SYGNAŁÓW

Laboratorium MATLA. Ćwiczenie 6 i 7. Mała aplikacja z GUI

Układy i Systemy Elektromedyczne

Laboratorium Przetwarzania Sygnałów. Ćwiczenie 2. Analiza widmowa

Dyskretne przekształcenie Fouriera cz. 2

Podstawowe człony dynamiczne

ANALIZA SYGNAŁÓ W JEDNÓWYMIARÓWYCH

Macierze. Rozdział Działania na macierzach

Transformaty. Kodowanie transformujace

Ćwiczenie nr 6 Charakterystyki częstotliwościowe

Andrzej Leśnicki Laboratorium CPS Ćwiczenie 6 1/8 ĆWICZENIE 6. Dyskretne przekształcenie Fouriera DFT

Filtracja obrazu operacje kontekstowe

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI)

Filtracja obrazów w dziedzinie Fouriera

Funkcje: wielomianowa, wykładnicza, logarytmiczna wykład 2

POLITECHNIKA POZNAŃSKA

x(n) x(n-1) x(n-2) D x(n-n+1) h N-1

Funkcje. Część pierwsza. Zbigniew Koza. Wydział Fizyki i Astronomii

Liczby zespolone. x + 2 = 0.

Teoria sygnałów Signal Theory. Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

DYSKRETNA TRANSFORMACJA FOURIERA

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Podstawy Przetwarzania Sygnałów

Funkcje: wielomianowa, wykładnicza, logarytmiczna wykład 3

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

1 Funkcje elementarne

3. FUNKCJA LINIOWA. gdzie ; ół,.

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski.

Transformacje Fouriera * podstawowe własności

PROPAGACJA PROMIENIOWANIA PRZEZ UKŁAD OPTYCZNY W UJĘCIU FALOWYM. TRANSFORMACJE FAZOWE I SYGNAŁOWE

MATLAB - laboratorium nr 1 wektory i macierze

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Algebra WYKŁAD 3 ALGEBRA 1

7. Szybka transformata Fouriera fft

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

PRZETWARZANIE SYGNAŁÓW

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

Laboratorium EAM. Instrukcja obsługi programu Dopp Meter ver. 1.0

Drgania i fale II rok Fizyk BC

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Teoria sterowania - studia niestacjonarne AiR 2 stopień

przy warunkach początkowych: 0 = 0, 0 = 0

Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

6. FUNKCJE. f: X Y, y = f(x).

Laboratorium MATLA. Ćwiczenie 1

Laboratorium z automatyki

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Podstawy Automatyki. Wykład 5 - stabilność liniowych układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

dr inż. Artur Zieliński Katedra Elektrochemii, Korozji i Inżynierii Materiałowej Wydział Chemiczny PG pokój 311

ĆWICZENIE 6 Transmitancje operatorowe, charakterystyki częstotliwościowe układów aktywnych pierwszego, drugiego i wyższych rzędów

Przetwarzanie sygnałów

Podstawowe operacje na macierzach

Obraz jako funkcja Przekształcenia geometryczne

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Transkrypt:

Laboratorium Cyfrowego Przetwarzania Obrazów Ćwiczenie 6 Transformaty: Fouriera i falkowa Opracowali: - dr inż. Krzysztof Mikołajczyk - dr inż. Beata Leśniak-Plewińska - dr inż. Jakub Żmigrodzki Zakład Inżynierii Biomedycznej, Instytut Metrologii i Inżynierii Biomedycznej, Wydział Mechatroniki Politechniki Warszawskiej. Warszawa, 2011

1. Cel ćwiczenia. W ramach ćwiczenia studenci zapoznają się z zastosowaniami wybranych transformat: Fouriera i falkowej. 2. Wymagane wiadomości. 1. Transformata Fouriera i jej właściwości 2. Transformata falkowa i jej właściwości Ćwiczenie 6 - Transformaty: Fouriera i falkowa 2/23

3. Wstęp Transformacja Fouriera (TF) Transformacja Fouriera (TF) jest transformacją całkową z dziedziny czasu w dziedzinę częstotliwości. Transformata Fouriera jest wynikiem transformacji Fouriera. Transformacja jest operacją (operatorem) na funkcji wejściowej (operand), dającą w wyniku transformatę (funkcja wyjściowa). TF rozkłada funkcję na szereg funkcji okresowych (sinus i/lub cosinus) tak, że uzyskana transformata zawiera informację o wartościach amplitudy i fazy poszczególnych harmonicznych składających się na pierwotną funkcję wejściową. Analizę tego typu nazywa się analizą spektralna lub widmową. W dziedzinie przetwarzania sygnałów jednowymiarowych TF jest fundamentalnym narzędziem, szczególnie przydatnym w analizie procesów zależnych od czasu, a zwłaszcza analizie drgań (akustyce, analizie sygnału mowy, sygnałów radiowych czy telekomunikacyjnych). Dla sygnałów cyfrowych stosowana jest jej zmodyfikowana wersja zwana Dyskretną Transformacją Fouriera (DTF). Ze względu na różną specyfikę zmysłu wzroku i słuchu analiza i przetwarzanie obrazów w dziedzinie częstotliwości jest rzadziej stosowane niż analiza i przetwarzanie w dziedzinie częstotliwości sygnałów akustycznych. W analizie obrazów z TF korzysta się najczęściej do: detekcji tych cech obrazu, które są łatwiejsze do analizy w dziedzinie częstotliwości przestrzennej (widmie - transformacie Fouriera obrazu) niż w dziedzinie przestrzeni, szybkiego obliczania splotu, wzmocnienia lub usunięcia pewnych składowych widma obrazu (odpowiadające np. szumom), a następnie przez tzw. odwrotną transformacie Fouriera, odtworzenie skorygowanego obrazu. Z matematycznego punktu widzenia zastosowanie DTF do obrazów cyfrowych jest poszerzeniem odpowiednich zależności do dwóch wymiarów. Obraz cyfrowy można traktować jako uporządkowany i ponumerowany dwuwymiarowy zbiór L liczb rzeczywistych (ciąg dwuwymiarowy o wartościach rzeczywistych) określony wzorem (1): L=L m,n R : m=0,1,...,m 1 ;n=0,1,..., N 1 (1) DTF dla obrazu cyfrowego określa równanie (2): M 1 F (i, k)=β L m=0 [ n =0 N 1 L (m, n) exp( j 2 π m i M )] ( exp j 2 π n k N ) (2) dla i=0,1,2,..., M 1 ;k=0,1,2,..., N 1 Ćwiczenie 6 - Transformaty: Fouriera i falkowa 3/23

Operacja dwuwymiarowej odwrotnej DTF jest zdefiniowana wzorem (3): M 1 L m,n = F [ N 1 i=0 k=0 F i,k exp j 2 m i M ] exp j 2 n k N (3) dla m=0,1,2,..., M 1 ;n=0,1,2,..., N 1 Aby operacje określone równaniami (2) i (3) były wzajemnymi odwrotnościami musi zachodzić zależność: L F = 1 M N (4) Jeśli przyjmiemy: L =1; F = 1 M N (5) w dziedzinie częstotliwości element o indeksach (0,0) będzie suma wszystkich wartości dwuwymiarowego ciągu L (obrazu): M 1 N 1 F 0,0 = L m,n (6) m=0 n=0 Dwuwymiarowy ciąg F(i,k) przyjmuje wartości ze zbioru liczb zespolonych i posiada dokładnie tyle samo elementów co dwuwymiarowy ciąg L(m,n) będący reprezentacja cyfrowego obrazu. Można go zinterpretować jako specyficzny obraz, łącznie z określeniem poszczególnych jego elementów jako pikseli. W celu uniknięcia nieporozumień obrazy w dziedzinie transformaty Furiera określa się F-obrazami, a ich elementy F-pikselami. Wyrażenie (2) możemy w skrócie zapisać w postaci kanonicznej (algebraicznej) (7): F (i, k)=r(f (i, k))+ j I( F (i,k)) gdzie R(F (i,k )) część rzeczywista F (i,k ); I(F (i,k )) część urojona F (i,k); j= 1 jednostka urojona w postaci wykładniczej (8): j ϕ(i, k) F (i,k )= A(i,k ) e gdzie A(i,k )= F (i,k) = R(F (i,k)) 2 + I(F (i, k)) 2 moduł F (i,k ); ϕ(i,k ) argument F (i, k) (7) (8) Ćwiczenie 6 - Transformaty: Fouriera i falkowa 4/23

lub w postaci trygonometrycznej (9): F (i, k)= A(i, k) [cos(ϕ(i,k))+ j sin (ϕ(i,k))] gdzie F (i,k) moduł F (i,k ); cos(ϕ(i,k))= R(F (i,k)) I(F (i, k)) ; sin (ϕ(i,k))= F (i,k ) F (i,k) (9) Dwuwymiarowa transformacja Fouriera jest separowalna ze względu na wymiar. Nawiasy kwadratowe we wzorach (2) i (3) wskazują fakt, że najpierw można wyznaczyć jednowymiarowe transformaty Fouriera dla jednego wymiaru (np. kolumn), a następnie tak otrzymany obraz pośredni przetransformować dla drugiego wymiaru (wierszy). Ostatecznie, po obu etapach. obraz może zostać opisany jako suma dwuwymiarowych ciągów bazowych z odpowiednimi współczynnikami (10 lub 11): L m,n = i=0 M / 2 N /2 k =0 a i, k L i,k m,n (10) lub gdzie M i N parzyste L m, n = i=0 M 1 /2 N 1 /2 k=0 a i, k L i, k m, n gdzie M i N nieparzyste (11) Każdy z ciągów składowych L i,k otrzymany jest z iloczynu elementarnych ciągów jednowymiarowych: L i, k m,n =l m, j l n,k gdzie I m, i =cos 2 m t T i i ; I =cos n, k 2 n t T k k Położenie współczynnika po pełnej dwuwymiarowej DTF na dwuwymiarowej siatce indeksów jednoznacznie informuje, z jaka kombinacją ciągów jednowymiarowych należy go łączyć. Np. w punkcie (0,0) znajduje wartość średnia (lub suma) zwana często składową stałą, w punkcie 0, N 2 (lub N 1 0, 2 ) współczynnik określający udział w obrazie ciągu powstałego ze stałego ciągu wierszowego i najszybciej zmiennego ciągu kolumnowego, a w punkcie M 1, N 1 2 2 ) umieszczony jest współczynnik związany z połączeniem najszybciej zmiennych ciągów kolumnowego i wierszowego. (12) M 2, N 2 (lub Zależności pomiędzy modułami wartości transformaty F(i,k) ( A(i,k) ) oraz współczynnikami a i,k we wzorach (10) i (11) jest następująca (na rysunku 1 pokazano rozmieszczenie F-pikseli poszczególnych typów): Ćwiczenie 6 - Transformaty: Fouriera i falkowa 5/23

a i, k 1/ L A i,k 1/2 a ={ i, k 1/ L 1/4 a i, k 1/ L dla F pikseli typu 1 Rys.1. piksele w kolorze czarnym dla F pikseli typu 2 Rys.1. piksele w kolorze szarym dla F pikseli typu 3 Rys.1. piksele w kolorze białym (13) Sama znajomość współczynników a i,k równania (10) lub (11) nie wystarcza by jednoznacznie określić ciąg L. Potrzebna jest jeszcze informacja o tym jak były przesunięte w fazie obie funkcje kosinus, które służą do wygenerowania ciągów jednowymiarowych I m,i, oraz I n,k (wzór 12). Faza jednego F-piksela nie może jednoznacznie określić dwóch faz kosinusów generujących ciąg bazowy. Oznaczmy przez φ i fazę kosinusa generującego ciąg jednowymiarowy I m,i, przez φ k fazę kosinusa generującego ciąg jednowymiarowy I n,k, a przez φ(i,k) fazę F-piksela o współrzędnych (i,k) (porównaj ze wzorami (8) i (9)). F-piksele typu 1 (Rys.1) powinny być zawsze rzeczywiste. F-piksele typu 2 wiążą się z dwuwymiarowymi ciągami bazowymi, które powstały z ciągu stałego (bez fazy) i z jednej kosinusoidy (którą można przesuwać fazowo). Zarówno dla F-pikseli typu 1 jak i 2 łatwo jest określić związek pomiędzy odpowiednimi fazami. Natomiast dla wyjaśnienia zależności fazowych F-pikseli typu 3 wygodniej będzie najpierw wyjaśnić symetrie zachodzące w dwuwymiarowej TF obrazu cyfrowego, który składa się z pikseli o wartościach rzeczywistych (bez części urojonej). Rysunek 1: Lokalizacja F-pikseli poszczególnych typów dla wzoru 13: z lewej dla obrazu o rozmiarach parzystych (6x6), z prawej dla obrazu o rozmiarach nieparzystych (5x5); kolory pikseli: czarny typu 1, szary typu 2, biały typu 3 Symetrie dwuwymiarowej TF obrazu o rzeczywistych wartościach pikseli W przypadku gdy oryginalny ciąg składa się z elementów o wartościach wyłącznie rzeczywistych, w dziedzinie transformaty Fouriera powstają specyficzne symetrie. Zagadnienie to zostanie opisane w sposób uproszczony, bez wnikania w szczegóły analityczne. Rozważmy dwa obrazy jeden o rozmiarach parzystych np. 6x6 pikseli, drugi o rozmiarach nieparzystych np 5x5 pikseli (Rys.2). Ćwiczenie 6 - Transformaty: Fouriera i falkowa 6/23

Rysunek 2: Ilustracja symetrii w dziedzinie TF: z lewej obraz o rozmiarach parzystych (6x6), z prawej obraz o rozmiarach nieparzystych (5x5) Pogrubione czerwone linie na rysunku 2 pokazują osie symetrii amplitudy transformaty Fouriera, a punkt przecięcia tych linii wyznacza punkt symetrii dla fazy. F-piksele oznaczone kolorem szarym nie są związane z powyższymi symetriami. Są to F-piksele typu 1 lub 2 i spełniają one warunki dotyczące ciągów jednowymiarowych. a) b) Rysunek 3: Przesunięcia poszczególny obszarów F-obrazów - z lewej F-obraz o rozmiarze parzystym 6x6, z prawej o rozmiarze nieparzystym 5x5; a) F-obrazy przed przesunięciem, b) F-obrazy o przesunięciu W przypadku dwuwymiarowej DTF, podobnie jak w przypadku jednowymiarowym, stosuje się zmianę organizacji wynikowej transformaty, tak aby F-piksel odpowiadający składowej stałej znajdujący się pierwotnie się w lewym górnym rogu (niezależnie od tego czy rozmiar obrazu jest parzysty, czy nieparzysty) znalazł się w środku obrazu. W przypadku obrazów o rozmiarze nieparzystym ten F-piksel znajduje się dokładnie w centrum obrazu (zakreślony rys.3), a w przypadku obrazów o rozmiarze parzystym - lewym górnym rogu prawej dolnej ćwiartki F-obrazu (zakreślony rys.3). Ponadto, po takim przesunięciu, na krawędziach F-obrazu znajdują się F-piksele odpowiadające największym częstotliwościom kosinusoid tworzących ciągi bazowe. Rysunek 3 demonstruje schematycznie to przesunięcie w przypadku obrazów o rozmiarach parzystych i nieparzystych. Rysunek 4 przedstawia relacje symetrii zachodzące pomiędzy F-pikselami należącymi do poszczególnych ćwiartek F-obrazu. Są to symetrie dwojakiego typu: symetria osiowa względem danej linii poziomej lub pionowej, oraz Ćwiczenie 6 - Transformaty: Fouriera i falkowa 7/23

symetria punktowa względem punktu obrazu, wyznaczonego przez przecięcie linii symetrii poziomej i pionowej. a) b) A B D C C D B A Rysunek 4: Ilustracja symetrii zachodzących w uproszczonej (z pominięciem F-pikseli) interpretacji F-obrazu, linie ze strzałkami oznaczają zachodzące rodzaje symetrii, a) F-obraz przed przesunięciem, b) F-obraz po przesunięciu Wprowadźmy następujące oznaczenia, określające wszystkie F-piksele obrazu w odniesieniu do obszaru A (rys.4): F A (i,k) - F-piksel należący do obszaru A o położeniu wyznaczonym przez indeksy (i,k); F B/A (i,k) - F-piksel należący do obszaru B o położeniu symetrycznym do F A (i,k) względem osi pionowej; F C/A (i,k) - F-piksel należący do obszaru C o położeniu symetrycznym do F A (i,k) względem osi poziomej; F D/A (i,k) - F-piksel należący do obszaru D o położeniu symetrycznym do F A (i,k) względem środka obrazu. Jeśli A B/A (i,k) oznacza amplitudę F-piksela należącego do obszaru B i będącego w odpowiedniej symetrii względem F-piksela obszaru A o indeksach (i,k) i φ B/A (i,k) oznacza fazę tego samego F-piksela należącego do obszaru B, to: A A i,k =A B/ A i, k A B / A i, k = A C / A i, k (14) A C / A i, k =A D/ A i, k Zatem wszystkie cztery F-piksele wyszczególnione na rysunku 4 posiadają tę sama amplitudę. Relacje fazowe są opisane następującymi zależnościami: A i,k = D/ A i,k B / A i,k = C / A i,k Nie ma związku pomiędzy fazami: φ A (i,k) i φ B/A (i,k) ani pomiędzy φ C/A (i,k) i φ D/A (i,k). Zatem relacje fazowe (wzór 14) dotyczą jedynie symetrii punktowej względem środka F-obrazu. Ponadto, jeśli dany F-piksel typu 3 należy do obszaru A, to jego faza jest powiązana fazami kosinusów generujących (wzór 12) zgodnie ze wzorem: (15) i, k = i k (16) Uwzględniając wzór 16 można uzyskać wzory na dwie szukane fazy jednowymiarowe: Ćwiczenie 6 - Transformaty: Fouriera i falkowa 8/23

A i,k = i k B / A i,k = i k (17) Transformacja Falkowa Transformacje flakowe znajdują coraz szersze zastosowanie w analizie i przetwarzaniu sygnałów cyfrowych, w kompresji obrazu i dźwięku oraz przy rozwiązywaniu wielu innych problemów. Nazwa charakteryzuje istotę metody, która wykorzystuje sygnały zwane falkami do opisu funkcji wejściowej. Mianem falek określamy rodziny funkcji z których każda jest utworzona na przez skalowanie i przesunięcie funkcji podstawowej (macierzystej). Falki umożliwiają rozłożenie (dekompozycję), z określoną dokładnością, dowolnej funkcji ciągłej na sumę ważoną poszczególnych falek. Istotą dekompozycji wielorozdzielczej jest podział sygnału na komponenty o coraz mniejszej rozdzielczości (częstotliwości) za pomocą pary filtrów dolno- (FDP) i górnoprzepustowego (FDP), a następnie hierarchiczna dekompozycja składowej nisko-częstotliwościowej w analogiczny sposób. Do falkowej analizy obrazów najczęściej stosowana jest w sposób sekwencyjny jednowymiarowa transformacja falkowa. Taki sposób dekompozycji falkowej obrazu został przedstawiony na rysunku 5. W dwuwymiarowej transformacie falkowej obrazu w kolejnym kroku (skali) k dekomponowana jest tylko macierz współczynników aproksymacji z poprzedniego kroku, tzn. A(k 1). Wynikiem dekompozycji obrazu na poziom k 1 jest 1+3k macierzy oznaczonych następująco: A(k) macierz współczynników aproksymacji na poziomie k, oraz macierze współczynników detali z poziomu k i poprzednich: D(k,h), D(k,v), D(k,d), D(k 1,h), D(k 1,v), D(k 1,d),..., D(1,h), D(1,v), D(1,d). Filtracja i decymacja wzdłuż kolumn. FGP 2 D(k,d) M/2 N/2 FGP 2 FDP 2 D(k,v) M/2 N/2 A(k-1) M N FGP 2 D(k,h) M/2 N/2 FDP 2 FDP 2 A(k) M/2 N/2 Filtracja i decymacja wzdłuż wierszy (wynikowe podobrazy mają rozmiar M N/2) Rysunek 5: Schemat dekompozycji falkowej dla skali równej k. Pierwszy krok dekompozycji falkowej obrazu cyfrowego reprezentowanego przez macierz wartości amplitud o rozmiarze M N (zgodnie z rys. 5 jest to macierz współczynników aproksymacji o indeksie 0 - A(0)), polega na wyznaczeniu M jednowymiarowych transformat falkowych dla każdego wiersza macierzy reprezentującej ten obraz. W wyniku tej operacji otrzymywane są podobrazy współczynników aproksymacji i detali o rozmiarze M (N/2) każdy. Następnie, dla uzyskanych w pierwszym kroku Ćwiczenie 6 - Transformaty: Fouriera i falkowa 9/23

macierzy podobrazów wyznaczane są jednowymiarowe transformaty falkowe dla wszystkich kolumn (stosowane są te same filtry ). Wynikiem tej operacji są cztery macierze współczynników: aproksymacji A(k) oraz detali D(k,h), D(k,v), D(k,d). Pierwszy indeks przy macierzach oznacza poziom dekompozycji (k 1), zaś drugi indeks (występujący przy macierzach współczynników detali) oznacza nazwę detalu tj: h detal horyzontalny, v detal wertykalny, d detal diagonalny. Macierze te reprezentują dane otrzymane w wyniku filtracji dolnoprzepustowej lub/i górnoprzepustowej oraz dwukrotnej decymacji tj. wzdłuż wierszy i kolumn (ang. down-sampling). Macierz A(k), zawierająca współczynniki aproksymacji, powstaje jako wynik filtracji dolnoprzepustowej zarówno wzdłuż wierszy jak i kolumn. Macierz D(k,h) zawiera współczynniki tzw. detalu horyzontalnego. Powstaje ona jako wynik filtracji dolnoprzepustowej wzdłuż wierszy i górnoprzepustowej wzdłuż kolumn. Macierz D(k,v) zawiera współczynniki detalu wertykalnego. Powstaje ona jako wynik filtracji górnoprzepustowej wzdłuż wierszy i dolnoprzepustowej wzdłuż kolumn. Natomiast macierz D(k,d) zawiera współczynniki detalu diagonalnego, który jest wynikiem filtracji górnoprzepustowej zarówno wzdłuż wierszy jak i kolumn. Po jednopoziomowej dekompozycji obraz jest reprezentowany przez cztery macierze współczynników falkowych, które łącznie zawierają tyle samo elementów co obraz oryginalny. Schemat ilustracji struktury powstałej po dekompozycji falkowej dla skali 2 przedstawiono na rysunku 6. [ A 0 A ] [ ] [ A 1 D 1,h D 1,v D 1,d Rysunek 6: Schemat struktury po dekompozycji falkowej dla skali równej 2 2 D 2, h ] D 2, h D 2, v D 2,d D 1, v D 1,d A(0) jest obrazem wejściowym czyli aproksymacją na poziomie zerowym; A(1), A(2), itd. - to współczynniki kolejnych aproksymacji, reprezentujących obraz wejściowy z coraz mniejszą rozdzielczością. Ćwiczenie 6 - Transformaty: Fouriera i falkowa 10/23

4. Spis (niestandardowych) funkcji Matlab'a przydatnych podczas realizacji ćwiczenia. h = pokaz_obraz (X, 'NazwaParametru', WartoscParametru) Funkcja służy do tworzenia ilustracji danych 2D. Parametrami wyjściowymi funkcji są: 1. h uchwyt do obiektu graficznego, Parametrami wejściowymi funkcji są: 1. X dane obrazowe (macierz), 2. 'NazwaParametru', WartoscParametru - nazwa i wartość parametru określającego wybrane właściwości obiektu graficznego. Parametry opisano w poniższej tabeli. Nazwa parametru 'mapa' 'typ' Opis i wartości parametru macierz liczbowa określająca paletę barw; standardowe palety barw dostępne w MATLAB'ie: hsv, jet, hot, gray, cool, bone, copper, pink, prism, flag. Wartość domyślna: gray; Łańcuch znakowy określający czy dane wejściowe zostaną przeskalowane przed wyświetleniem: 'skalowany' - tworzy ilustrację, w której wartości pixeli obrazu (elementów macierzy) są przeskalowane tak, aby wykorzystać pełen zakres aktualnej palety barw; 'nieskalowany' - brak skalowania. Wartość domyślna: 'skalowany' Przykłady: h = pokaz_obraz(lena, 'mapa', gray, 'typ', 'nieskalowany'); Powyższe polecenie utworzy ilustrację 2D danych zawartych w zmiennej lena. Paletą barw będą odcienie szarości. Dane nie będą skalowane. Ponadto polecenie zwróci uchwyt do utworzonego obiektu graficznego (ilustracji) i przypisze go zmiennej h. pokaz_obraz(lena); Powyższe polecenie utworzy ilustrację 2D danych zawartych w zmiennej lena. Paleta barw i rodzaj skalowania będą miały wartości domyślne. Ćwiczenie 6 - Transformaty: Fouriera i falkowa 11/23

[C, S] = wavefast (X, N, Wname) Funkcja służy do wyznaczania szybkiej transformaty falkowej. Parametrami wyjściowymi funkcji są: 1. C wektor dekompozycji; C = [ A N (:)' H N (:)' V N (:)' D N (:)' H N-1 (:)'... V 1 (:)' D 1 (:)' ], gdzie A k (:)', H k (:)', V k (:)' i D k (:)' są wektorami kolumnowymi zawierającymi współczynniki falkowe: macierzy aproksymacji oraz macierzy detali horyzontalnych, wertykalnych i diagonalnych na k- tym poziomie (k=1,...,n). 2. S macierz informucjąca o sposobie organizacji współczynników falkowych w macierzy C (bookkeping matrix); S = [ sa N ; sd N ; sd N-1 ;... ; sd 1 ; sf ], gdzie sa N, sd k i sx są dwuelementowymi wektorami zawierającymi horyzontalne i wertykalne rozmiary aproksymacji na N-tym poziomie, detali na k-tym poziomie (H k, V k, D k ) oraz oryginalnego obrazu X. Parametrami wejściowymi funkcji są: 1. X macierz reprezentująca obraz; 2. N skala dekompozycji; 3. Wname nazwa rodziny falek: Przykłady: 'haar', 'dbn', 'symn', 'coifn', 'biorn', 'rbion', 'meyr', 'dmey', 'gausn', 'mexh' 'morl', 'cgaun', 'shann', 'fbsmn', 'cmorn' [c,s] = wavefast(wrist,2,'haar'); Powyższe polecenie wyznaczy macierze c i s (dekompozycję flakową) obrazu wrsit dla skali równej dwa i falki Haar'a. Ćwiczenie 6 - Transformaty: Fouriera i falkowa 12/23

W = wave2gray (C, S, scale) Funkcja służy do tworzenia/wyświetlania wyników dekompozycji falkowej. Parametrami wejściowymi funkcji są: 1. W obraz wyjściowy ----- ----- ---------- ------------------- a(n) h(n) ------- ----- h(n-1) v(n) d(n) h(n-2) ----- ----- ---------- v(n-1) d(n-1) ----- ----- ---------- ------------------- v(n-2) d(n-2) UWAGA: Funkcja wywołana bez operacji przypisania automatycznie tworzy ilustracje obrazu W. Parametrami wejściowymi funkcji są: 1. C wektor dekompozycji; C = [ A N (:)' H N (:)' V N (:)' D N (:)' H N-1 (:)'... V 1 (:)' D 1 (:)' ], gdzie A k (:)', H k (:)', V k (:)' i D k (:)' są wektorami kolumnowymi zawierającymi współczynniki falkowe: macierz aproksymacji oraz macierze detali horyzontalnych, wertykalnych i diagonalnych na k-tym poziomie (k=1,...,n). 2. S macierz informująca o sposobie organizacji współczynników falkowych w macierzy C (bookkeping matrix); S = [ sa N ; sd N ; sd N-1 ;... ; sd 1 ; sf ], gdzie sa N, sd k i sx są dwuelementowymi wektorami zawierającymi horyzontalne i wertykalne rozmiary aproksymacji na N-tym poziomie, detali na k-tym poziomie (H k, V k, D k ) oraz oryginalnego obrazu X. 3. scale wartość czynnika skalującego (wzmocnienie) wartości detali: 0 lub 1 - zakres maksymalny (domyślnie) 2, 3, - wzmocnienie o podaną wartość czynnika skalującego Przykłady: [c,s] = wavefast(wrist,2,'haar'); figure; wave2gray(nc,s,8); Powyższe polecenie wyznaczy macierze c i s (dekompozycję flakową) obrazu wrsit dla skali równej dwa i falki Haar'a, a następnie stworzy ilustrację wyników dekompozycji (wartości współczynników detali zostaną wzmocnione 8-miokrotnie). Ćwiczenie 6 - Transformaty: Fouriera i falkowa 13/23

Ćwiczenie 6 - Transformaty: Fouriera i falkowa 14/23

[nc, y] = wavecut (type, C, S, N) Funkcja służy do zerowanie określonych współczynników dekompozycji falkowej. Parametrami wyjściowymi funkcji są: 1. nc nowy wektor dekompozycji, którego odpowiednie współczynniki (na podstawie zmiennych typ i n) zostały wyzerowane. 2. y wyzerowane współczynniki Parametrami wejściowymi funkcji są: 1. type typ zerowanych współczynników: 'a' współczynniki aproksymacji, 'h' horyzontalne współczynniki dekompozycji, 'v' - horyzontalne współczynniki dekompozycji, 'd' - horyzontalne współczynniki dekompozycji; 1. C, S struktura dekompozycji wyznaczona np. za pomocą funkcji wavefast 2. N poziom dekompozycji; Przykłady: [nc y] = wavecut('a',c,s); Powyższe polecenie zeruje współczynniki aproksymacji a macierzy c. Ćwiczenie 6 - Transformaty: Fouriera i falkowa 15/23

Y = wavecopy (type, C, S, N) Funkcja służy do pobierania współczynników struktury dekompozycji falkowej. Parametrami wyjściowymi funkcji są: 1. Y macierz współczynników Parametrami wejściowymi funkcji są: 1. type typ zerowanych współczynników: 'a' współczynniki aproksymacji, 'h' horyzontalne współczynniki dekompozycji, 'v' - horyzontalne współczynniki dekompozycji, 'd' - horyzontalne współczynniki dekompozycji; 1. C, S struktura dekompozycji wyznaczona np. za pomocą funkcji wavefast 2. N poziom dekompozycji; Przykłady: f = wavecopy('a',c,s); Powyższe polecenie pobiera macierz współczynników aproksymujących. Ćwiczenie 6 - Transformaty: Fouriera i falkowa 16/23

Y = waveback (C, S, Wname) [c, s] = waveback (C, S, Wname, n) Funkcja służy do wyznaczania odwrotnej transformaty falkowej lub nowej struktury dekompozycji falkowej na podstawie rekonstrukcji stopnia n-tego. Parametrami wyjściowymi funkcji są: lub 1. Y wynik odwrotnej transformaty falkowej 2. [c, s] nowa struktura dekompozycji falkowej Parametrami wejściowymi funkcji są: 1. C, S struktura dekompozycji wyznaczona np. za pomocą funkcji wavefast 2. Wname nazwa rodziny falek: 'haar', 'dbn', 'symn', 'coifn', 'biorn', 'rbion', 'meyr', 'dmey', 'gausn', 'mexh' 'morl', 'cgaun', 'shann', 'fbsmn', 'cmorn'; 3. n stopień rekonstrukcji Przykłady: [c,s] = waveback(c,s,'db4',1); Powyższe polecenie wyznaczy nową strukturę dekompozycji po 1-ym stopniu rekonstrukcji. Ćwiczenie 6 - Transformaty: Fouriera i falkowa 17/23

[nc, g8] = wavezero (C, S, k, Wname) Funkcja służy do zerowanie współczynników detali struktury dekompozycji falkowej C (h, v, d) na poziomie k i wyznacza transformatę odwrotną zgodnie z podaną nazwą flaki wname. Parametrami wyjściowymi funkcji są: 1. nc nowy wektor dekompozycji, którego współczynniki detali zostały wyzerowane. 2. g8 wynik odwrotnej transformaty falkowej wyznaczonej ze struktury dekompozycji po wyzerowaniu współczynników detali Parametrami wejściowymi funkcji są: 1. k - poziom 1. C, S struktura dekompozycji wyznaczona np. za pomocą funkcji wavefast 2. Wname nazwa falki. Przykłady: [C,G8] = wavezero(c,s,1,'db4'); Powyższe polecenie zeruje współczynniki detali (h, v, d) macierzy c Ćwiczenie 6 - Transformaty: Fouriera i falkowa 18/23

5. Przebieg ćwiczenia Przed przystąpieniem do realizacji ćwiczenia należy poprosić prowadzącego o wskazanie folderu zawierającego dane niezbędne do realizacji ćwiczenia. Oznaczenia użyte w tekście: sygnal nazwa funkcji, która powinna zostać użyta w celu rozwiązania danego problemu, s1 nazwa zmiennej, s1a=s1(1:end/4) polecenie Matlab'a, które należy wpisać w okno komend (ang.: command window). s t = A sin 2 f t - opis w notacji matematycznej. 1. Związki pomiędzy obrazem i odpowiadającym mu F-obrazem. a) Z pliku 'obraz1.mat' załaduj do przestrzeni roboczej obraz obraz1 (load) b) Zilustruj obraz1 (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). 10 20 30 40 50 60 70 80 90 1 00 20 40 60 80 100 c) Wyznacz jego F-obraz (F_obraz1) (fft2). d) Wyznacz F-obrazy: amplitudowy (af_obraz1) (abs) oraz fazowy (ff_obraz1) (angle) obrazu obraz1. Wyniki zilustruj (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). Uwaga: Funkcja fft2 zwraca F-obraz o ćwiartkach zorganizowanych tak, że element odpowiadający składowej stałej znajduje się w lewym górnym rogu. Uwaga: W przypadku amplitudowych F-obrazów stosuj funkcję logarytmiczną (log) w celu uwidocznienia słabszych składowych. Uwaga: Logarytm z 0 jest nieskończonością. e) Dokonaj przesunięcia ćwiartek F-obrazu F_obraz1 (fftshift). f) Ponownie wyznacz F-obrazy: amplitudowy (af_obraz1_s) oraz fazowy (ff_obraz1_s) obrazu obraz1. Wyniki zilustruj (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). Gdzie znajduje się składowa stała w F-obrazach z pp. c) i d)? Wyjaśnij co osiągnięto w pp.d). Ćwiczenie 6 - Transformaty: Fouriera i falkowa 19/23

g) Z pliku 'obraz2.mat' załaduj do przestrzeni roboczej obraz obraz2 (load) i zilustruj go (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). 10 20 30 40 50 60 70 80 90 1 00 20 40 60 80 100 h) Powtórz operacje z pp. 1.b)-1.g). i) Z pliku 'obraz3.mat' załaduj do przestrzeni roboczej obraz obraz3 (load) i zilustruj go (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). 20 40 60 80 1 00 1 20 1 40 20 40 60 8 0 100 1 20 140 j) Powtórz operacje z pp. 1.b)-1.g). Wyjaśnij różnice w F-obrazach dla obrazów obraz1, obraz2 i obraz3. Jaka informację o obrazach uzyskujemy z ich F-obrazów? 2. Filtracja obrazów w dziedzinie Fouriera a) Z pliku 'wrist.bmp' załadować do przestrzeni roboczej obraz wrist. b) Wyświetl obraz wrist (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). c) Wyznacz F-obraz obrazu wrist. d) Dokonaj przesunięcia ćwiartek F-obrazu F_wrist (fftshift). e) Wyznacz F-obrazy (przesunięte - składowa stała w centrum F-obrazu): amplitudowy (af_obraz1_s) oraz fazowy (ff_obraz1_s) obrazu wrist. Wyniki zilustruj (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). f) Utwórz F-obraz filtru F_filtr1: macierz o rozmiarze równym rozmiarowi F-obrazu F_wrist, o wartości jeden (1) w punkcie centralnym i jego otoczeniu o szerokości 10 punktów i zero (0) na pozostałym obszarze (Rys. 6). Ćwiczenie 6 - Transformaty: Fouriera i falkowa 20/23

1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 1 0 0 2 0 0 3 0 0 4 0 0 Rysunek 7: F-obraz filtru g) Korzystając z F-obrazu filtru F_filtr1 dokonaj filtracji obrazu wrist. h) Zilustruj uzyskane w wyniku filtracji F-obrazy: amplitudowy i fazowy (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). i) Z uzyskanego w wyniku filtracji F-obrazu (zespolonego) uzyskaj odfiltrowany obraz w dziedzinie pierwotnej (przestrzeni) (ifft2, real). Wynik zilustruj (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). Uwaga: Funkcja ifft2 wymaga F-obrazu o ćwiartkach zorganizowanych w taki sposób, że element odpowiadający składowej stałej powinien się znajdować w lewym górnym rogu F-obrazu. Porównaj wynik uzyskany w pp.2. i) z pierwotnym obrazem. Co osunięto z obrazu wrist? j) Utwórz F-obraz filtru F_filtr2 będący negatywem obrazu F-obrazu filtru F_filtr1. k) Dla F-obrazu filtru F_filtr2 powtórz operację z pp 2.g)-2.i) Porównaj wynik uzyskany w pp. k) z pierwotnym obrazem. Co osunięto z obrazu wrist? Jaka jest różnica pomiędzy obrazami uzyskanymi w pp 2.i) i 2.k)? 3. Dyskretna analiza falkowa obrazów a) Wyznacz strukturę dekompozycji obrazu wrist dla falki 'haar' i skali równej 1 (wavefast). b) Zilustruj wynik z pp. 3.a) (wave2gray). c) Utwórz obraz krawędzi obrazu wrist poprzez usuniecie współczynników aproksymacji A z wektora współczynników dekompozycji (wavecut, wavecopy). d) Zilustruj strukturę dekompozycji falkowej po usunięciu z niej współczynników aproksymacji (wave2gray). e) Zilustruj obraz krawędzi (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). f) Wyznacz strukturę dekompozycji obrazu wrist dla falki 'db4' i skali równej 4 (wavefast). g) Wyznacz aproksymacje obrazów dla kolejnych poziomów dekompozycji z pp. 3.f) (wavecopy). h) Zilustruj wyniki z pp. 3.g) (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa') Ćwiczenie 6 - Transformaty: Fouriera i falkowa 21/23

Wyjaśnij związki między właściwościami obrazu a właściwościami poszczególnych składowych dekompozycji Porównaj rozmiary kolejnych aproksymacji z pp. 3.g) i obrazu oryginalnego. Jaki współczynnik kompresji (stosunek rozmiarów obrazu oryginalnego i jego aproksymacji na k-ym poziomie) jest akceptowalny (aproksymacja jest dopuszczalna zamiast obrazu oryginalnego). Ćwiczenie 6 - Transformaty: Fouriera i falkowa 22/23

Sprawozdanie Ćwiczenie 6 Transformaty: Fouriera i falkowa L.p. Imię i nazwisko Grupa Data 1 2 3 Punkt ćwiczenia Liczba punktów do uzyskania Uzyskana liczba punktów Uwagi prowadzącego a) - f) 1 1 g) - h) 1 i) - j) 1 2 a) - i) 2 j) - k) 2 a) - b) 1 3 c) - e) 1 g) - h) 1 Ćwiczenie 6 - Transformaty: Fouriera i falkowa 23/23