PRZETWARZANIE SYGNAŁÓW SEMESTR V Wykład VII Sygnały 2D i transformacja Fouriera 2D 2 1
2 Splot 2D d d y H F y H y F y G ), ( ), ( ), ( ), ( ), ( H(,) F(,) H(-,-) H(-,y-) G(,y) Delta Diraca 2D (,y) 0 ), ( 0 0 1 ), ( y y i dla ddy y ) ( ) ( ), ( y y separowalność
Splot z delta Diraca 2D (,y) Splot 2D z (,y) F(, y) (, y) F(, ) (, y ) dd F(, y) Ciąg okresowy a,b (,y) 2D (tzw. comb(,y)) (, y) a, b l ( ka) k l l ( ka, y lb) ( y lb) 3
Dwuwymiarowa transformacja Fouriera F ( u, v) f (, y)ep( j2 ( u vy) ddy 1 f (, y) F( u, v)ep( j2 ( u vy) dudv 2 4 F( u, v) A( u, v)ep[ ( u, v)] Re( F( u, v)) j Im( F( u, v)) u,v częstotliwości przestrzenne A- moduł TF, - faza TF; TF 2D jako sekwencja dwóch transformat 1D: F ( u, v) f (, y)ep( j2 ( u vy) ddy ep( j2vy)[ f (, y)ep( j2u) d] dy Właściwości 2D TF Liniowość Af(,y)+Bg(,y)AF(u,v)+BG(u,v) Podobieństwo 1 u v F{ f ( a, by)} F(, ) ab a b Przesunięcie f(,y) F{ f ( 0, y y0)} F( u, v)ep[ j2 ( u0 vy0)] Separowalność f(,y)=f()g(y)f(f(,y) F()F(y) 4
Właściwości 2D TF Splot funkcji f(,y)*g(,y)f(u,v)g(u,v) Iloczyn funkcji f(,y)g(,y)f(u,v)*g(u,v) Sygnały rzeczywiste F(u,v) = F(-u,-v), [F(u,v)]= -[F(-u,-v)] Sygnały rzeczywiste parzyste F(u,v)=F(-u,-v) Właściwości 2D TF Tw. Parsevala 1 (, y) ddy F 2 4 f ( u, v) dudy Obrót funkcji (nie ma analogii w jednym wymiarze) f(,y)f(u,v)f(,y ) F(u,v ) ' cos sin y' sin cos y u' cos sin u v' sin cos v 5
Dwuwymiarowa dyskretna transformacja Fouriera Transformacja F( i, k) M 1 N 1 m0 n0 M 1 N 1 m0 n0 L( m, n)ep( j2 ( mi / M nk / N) L( m, n)ep( j2mi / M )ep( j2nk / N) M 1 m0 ep( j2mi / M )[ N 1 n0 L( m, n)ep( j2nk / N)] gdzie - L(m,n) funkcja dyskretna (dwuwymiarowy ciąg dyskretny), o wymiarach N*M, F(i,k) wartości transformaty 2D, N*M. Ostatnia forma zapisu wskazuje na możliwość wyznaczenia 2D DTF jako sekwencji dwóch DTF jednowymiarowych Dwuwymiarowa dyskretna transformacja Fouriera Transformacja odwrotna 1 L( m, n) MN 1 MN M 1 i0 M 1 N 1 i0 k 0 ep( j2ni / M )[ F( i, k)ep( j2mi / M )ep( j2nk / N) N 1 k0 F( i, k)ep( j2mk / N )] gdzie - L(m,n) funkcja dyskretna (dwuwymiarowy ciąg dyskretny), o wymiarach N*M, F(i,k) wartości transformaty 2D, N*M. Ostatnia forma zapisu wskazuje na możliwość wyznaczenia odwrotnej 2D DTF jako sekwencji dwóch odwrotnych DTF jednowymiarowych. 6
Dwuwymiarowa DTF - przykłady Ciąg okresowy a,b (,y) (, y) a, b l ( ka) k l l ( ka, y lb) ( y lb) TF ciągu a,b (,y): 2 / a,2 / b ( u, v) F{ a, b (, y)} 2 4 ab k l 2 2 ( u k, v l ) a b Dwuwymiarowa DTF - przykłady TF ciągu a,b (,y) Ciąg okresowy a,b (,y) 7
Próbkowanie funkcji 2D Próbkowanie funkcji 2D f(,y) (np. obrazu) jest równoważne iloczynowi funkcji 2D i dwuwymiarowego ciągu próbkującego a,b (,y) Widmo sygnału po spróbkowaniu jest równe splotowi widm f(,y) i ciągu próbkującego. Widmo to jest okresowe z okresem wynikającym z właściwości ciągu próbkującego. F{ f (, y) a, b (, y)} F{ a, b (, y)} F(, ) y 2 4 ab k l 2 2 F( u k, v l ) a b 2/a częstotliwość próbkowania wzdłuż 2/b - częstotliwość próbkowania wzdłuż y Widmo funkcji f(,y) powinno być ograniczone do pasma poniżej 2/a oraz 2/b. Dwuwymiarowa DTF przykład Dane: pojedyncza kolumna macierzy zawiera wartości (n,m)=sin(2fn)+1; n F( i, k) M 1 m0 ep( j2mi / M )[ N 1 n0 L( m, n)ep( j2nk / N)] m moduł k kolumna modułu o indeksie i=0 faza kolumna fazy o indeksie i=0 i 8
Dwuwymiarowa DTF przykład n F( i, k) M 1 m0 ep( j2mi / M )[ N 1 n0 L( m, n)ep( j2nk / N)] m k moduł po uporządkowaniu ma składową stałą w centralnym punkcie; kolumna i wiersz o zerowej częstotliwości to odpowiednio kolumna i wiersz środkowy. i Dwuwymiarowa DTF - symetria k F( i, k) M 1 m0 ep( j2mi / M )[ N 1 n0 L( m, n)ep( j2nk / N)] i Dla sygnałów rzeczywistych: F(i,k) = F(-i,-k), [F(i,k)]= -[F(-i,-k)] k i 9
Dwuwymiarowa DTF przykład c.d. 5 10 15 20 25 30 5 10 15 20 25 30 F( i, k) M 1 m0 ep( j2mi / M )[ N 1 n0 L( m, n)ep( j2nk / N)] F( i, k) A( i, k)ep[ ( i, k)] Moduł transformaty DFT 2D k i Moduł i faza TF 2D 19 Dla sygnałów rzeczywistych: F(i,k) = F(-i,-k), [F(i,k)]= -[F(-i,-k)] Podstawy przetwarzania obrazów 10
Podstawy przetwarzania obrazów G obiekt dwuwymiarowy rozkład pewnej cechy. I obraz wynik pomiaru rozkładu cechy, który jest reprezentacją rozkładu cechy w obiekcie Idealny system obrazowania zapewnia I=G Czy można oczekiwać, że I(,y)=G(,)???? obiekt obraz obiektu W rzeczywistości punkt G(, ) będzie miał wpływ na pewien obszar obrazu wokół punktu (,y ). Każdy punkt obiektu partycypuje w tworzeniu wszystkich punktów obrazu, jednak w przypadku użytecznej metody obrazowania oczekujemy, że wpływ tego punktu obiektu na punkty obrazu w otoczeniu punktu I(,y ) będzie szybko malał z odległością od G(, )/I(,y ). Cecha opisująca tę właściwość systemu obrazowania nosi nazwę rozdzielczości. Opis procesu powstawania obrazu Funkcja H opisuje proces tworzenia obrazu. Jeśli obiekt jest punktowy G(, ): I(,y)=H(,y,,, G(, )) Często przyjmuje się założenie liniowości systemu (prostota dalszych rozważań, ew. nieliniowości są niewielkie): I(,y)=H(,y,, ) G(, ) wtedy obraz złożony (kombinacja liniowa np. dwóch obrazów punktowych) ma postać: A G(, )+ B G(, ) ==> AH(,y,, ) G(, ) +BH(,y,, ) G(, ) 11
Opis procesu powstawania obrazu Jeśli rozkład cechy G(,) w obiekcie jest ciągły, powstawanie obrazu (proces liniowy) opisuje całka I(,y)= H(,y,,) G(,) d d H(,y,,) zależy od właściwości systemu obrazowania Jeśli funkcja H nie zależy od położenia punktu w obiekcie (,), a jedynie od różnic współrzędnych (-,y-), system obrazowania uważany jest za niezmienny względem położenia (odpowiednik stacjonarności czasowej), a proces powstawania obrazu opisany jest całką: I(,y)= H(-,y-) G(,) d d Jest to splot dwuwymiarowy. Opis procesu powstawania obrazu System obrazowania niezmienny względem położenia Obraz rozkładu cechy w postaci pojedynczej wartości (impulsu Diraca) nazywamy odpowiedzią impulsową źródła punktowego (point spread function - ważne pojęcie), odpowiedź ta charakteryzuje system obrazowania. I(,y)= H(-,y-) (,) d d=h(,) Obraz rozkładu cechy powstaje w wyniku splotu rozkładu cechy i odpowiedzi impulsowej źródła punktowego H. Funkcja H charakteryzuje system obrazowania. 12
Opis procesu powstawania obrazu Kolejny krok w upraszczaniu opisu powstawania obrazu zakłada separowalność funkcji H, tj., możliwość rozłożenia jej na iloczyn 2 funkcji tylko jednej zmiennej: H(,y,,)= H 1 (,) H 2 (y,) i dalej (niezmienność względem położenia) H(-,y-)= H 1 (-) H 2 (y-) równanie opisujące proces powstawania obrazu przyjmuje postać: I(,y)= H 1 (-) G(,) d H 2 (y-) G(,)d obraz jest iloczynem dwóch splotów liniowych (jednowymiarowych). równanie to można zapisać w postaci: I(,y)= [ H 2 (y)* G(,) ][H 1 ()*G(,)] Właściwości systemu przetwarzania obrazów Idealny system obrazowania zapewnia I=G. Systemy spełniające ten warunek nie istnieją. Skutki niedoskonałości systemów obrazowania ilustrują poniższe przykłady. Określenie związku między G i I wymaga przeprowadzenia eksperymentu (pomiaru) określenia H. System idealny Ograniczona rozdzielczość Ograniczona rozdzielczość + szum 13
Obrazy cyfrowe Wprowadzenie Interpolacja Histogram Filtracja Przykłady w tej części wykładu dotyczą obrazowania medycznego będącego przedmiotem zainteresowania autorów. Należy je traktować jako reprezentację dowolnych obrazów cyfrowych. Podstawowe pojęcia Dla potrzeb wykładu przyjmujemy następującą definicję obrazu cyfrowego: obraz cyfrowy to zbiór geometrycznie uporządkowanych wartości zmiennych w czasie I = F(, y, z, t) 2, 3, 4 wymiarowa macierz wartości = 2, 3, 4 wymiarowy obraz cyfrowy 14
Podstawowe pojęcia - piksel Piksel - element macierzy obrazu 2D o stałej wartości i rozmiarze, y określonym przez parametry próbkowania y Piksel y Podstawowe pojęcia - przetwarzanie / analiza I = F(,y,z,t) Przetwarzanie = nowy obraz I -> I - arytmetyka obrazów - filtracja - Analiza = wyznaczony parametr I -> P - wyznaczanie histogramu - wyznaczenie wartości średniej 15
Powstawanie obrazów Próbkowanie obrazu analogowego Fotografia cyfrowa CANTUS Skanowanie (automatyczne rozpoznawanie pisma) Powstawanie obrazów Obrazy cyfrowe - tworzenie modeli i obrazowanie w systemach CAD - tworzenie modeli i obrazowanie dla potrzeb filmu - rekonstrukcja z projekcji pomiarowych (tomografia) - obrazowanie refleksyjne (USG) 16
Palety (skale) barw Poprawnie dobrana skala kolorów charakteryzuje się następującymi właściwościami: - naturalna asocjacja prezentowanych danych (zwiększonej intensywności obrazowanych zjawisk odpowiada zwiększona jaskrawość koloru), - jest postrzegana jako skala liniowa (monotoniczna) w całym zakresie, - posiada możliwie duże pasmo postrzeganych kolorów Rozróżnianie kolorów i odcieni szarości Oko ludzkie jest w stanie rozróżnić kilkadziesiąt odcieni szarości (stosowane skale mają ma. 256 poziomów). Liczba rozróżnianych kolorów wynosi setki tysięcy Palety (skale) barw 17
Funkcja przejścia Zakres wartości obrazu ma v min Lt Poziomy palety barw I Ut Zależności Lt p o o - okno, p - poziom Lt - dolny próg, Ut - górny próg N - liczba poziomów w skali I = v * (N-1) / (ma-min) o = Ut-Lt p = (Ut-Lt)/2 ut Kontrast, jasność, intensywność Modyfikacje funkcji przejścia Kontrast wzrost Jasność wzrost Intensywność wzrost spadek spadek spadek 18
n Korekcja gamma ( N 1)[ n N 1 1/ ] n - indeks w palecie barw przed korekcją, n - po korekcji N - liczba poziomów skali <1 >1 Modyfikacja funkcji przejścia >1 <1 Interpolacja Znajdowanie wartości obrazu na podstawie wartości pierwotnych Metody: - najbliższego sąsiada - dwuliniowa, dwukubiczna - sinc Obraz zinterpolowany Obraz pierwotny 19
Metoda najbliższego sąsiada Metoda ta polega na powieleniu pikseli obrazu pierwotnego w obrazie wynikowym W rezultacie uzyskujemy zmianę rozdzielczości, jednak w obrazie wynikowym powtarzają się piksele o tych samych wartościach ( pikseloza ). Metoda dwu / trzy - liniowa Najczęściej stosowana metoda interpolacji ze względu na szybkość obliczania wyniku. powoduje wygładzanie krawędzi (filtracja dolnoprzepustowa) d - odległość w kierunku X pomiędzy pikselem P0 a pikselami P1,P3, dy - odległość w kierunku Y pomiędzy pikselem P0 a pikselami P1,P2, Pk - wartości najbliższych pikseli względem poszukiwanego d - odległość pomiędzy pikselami siatki pierwotnej 20
Metoda dwu / trzy - kubiczna Często stosowana ze względu na gładki obraz wynikowy przy stosunkowo niskim koszcie obliczeniowym w porównaniu np. do interpolacji funkcją sinc [sin() / ] P0 = SUMA( Pk*F(d) ), parametr Pk oznacza wartość kolejnego piksela, F(d) jest funkcją odległości pomiędzy pikselem poszukiwanym a pikselami Pk. Pa = (P4-P3+P2-P1)*(d) 3 + (P3-P4-2*P2+2*P1)*(d) 2 + (P3-P1)*d + P2 P0 = (Pd-Pc+Pb-Pa)*(dy) 3 + (Pc-Pd-2*Pb+2*Pa)*(dy) 2 + (Pc-Pa)*dy + Pb d - odległość pomiędzy P2 i Pa dy - odległość pomiędzy Pb i P0 Histogram Wykres częstości występowania wartości pikseli obrazu Definicja: suma przynależności intensywności obrazu do zdefiniowanych przedziałów intensywności. N Histogram charakteryzuje liczba przedziałów (N) i szerokość przedziału (w). w 21
Histogram Przykłady analizy histogramu - Znajdowanie punktów przegięcia, minimów i maksimów obwiedni - Dopasowywanie krzywej Gaussa do poszczególnych fragmentów (modów) histogramu i wyznaczanie ich punktów przecięcia liczba wystąpień Wartości w macierzy obrazu Wyrównywanie histogramu Cel: Równomierne wykorzystanie wszystkich barw palety obrazu Wyrównywanie histogramu jest przekształceniem intensywności pikseli obrazu zmierzającym do uzyskania możliwie zbliżonej liczby pikseli zakwalifikowanych do każdego przedziału histogramu. W przypadku obrazów monochromatycznych można to przekształcenie interpretować jako zmianę (dopasowanie) szerokości przedziałów histogramu połączone z odpowiednią zmianą szerokości przedziałów palety barw. Obraz pierwotny Obraz po operacji wyrównania histogramu Zwiększenie różnicy jasności pomiędzy punktami obrazu często występującymi w pierwotnym histogramie. 22