Geometria obrazu Wykład 2 Rozpoznawanie wielokątów 1. Dualizacja liniowa Problem prostej przecinającej 2. Transformata Hougha 3. Transformata Radona 4. Inne transformaty
Dualizacja liniowa. Definicja. Dualizacją liniową nazywamy przekształ-cenie D : R2 R2 przyporządkowujące punktowi (a,b) prostą o równaniu y = ax-b. Przestrzeń obrazów nazywamy przetrzenią dualną. Podobnie możemy zdefiniować przekształ-cenie prostych (niepionowych) w zbiór punktów płaszczyzny. Przykład. Obrazem dualnym punktu p należącego do paraboli y = 0,5x2 jest styczna do tej para-boli w punkcie p.
Problem prostej przecinającej (stabbing line) w R2. Definicja. Dany jest zbiór n odcinków na płaszczyźnie. Problem: Czy istnieje prosta przecinająca wszystkie odcinki ? Jeśli tak, to określ zbiór prostych przecinających.
Fakt. Zbiór prostych przecinających odcinek ab w przestrzeni dualnej przyjmuje postać pod-wójnego klina, którego ramiona są wyzna-czane przez proste D(a) i D(b). Wniosek. Aby rozwiązać problem wystarczy określić w przestrzeni dualnej część wspólną klinów odpowiadających danym odcinkom. Część wspólna n podwójnych klinów od-powiadających danym odcinkom może mieć co najwyżej n spójnych składowych (utożsa-miając punkty w nieskończoności, otrzymu-jemy jedną składową mniej). Składowe są wypukłe (co najwyżej dwie nieskończone).
Algorytm dziel i rządź podziel zbiór S na małe podzbiory ; znajdź w przestrzeni dualnej części wspólne grup klinów odpowiadających podzbiorom zbioru S ; while nie znaleziono przecięcia wszystkich klinów lub któreś z przecięć jest puste do scalaj parami wyniki czastkowe zamiatając kolejne spójne składowe przecięć dualnych obrazów podzbiorów S ; return przecięcie wszystkich klinów ;
Lemat. Część wspólną przecięć dwóch grup stożków można znaleźć w czasie proporcjonalnym do sumy rozmiarów danych przecięć. Dowód. Stożki są monotoniczne względem osi x-ów, więc ich przecięcia również. Dlatego łatwo możemy określić porządek wierzchołków przecięć wzdłuż osi x-ów, czyli strukturę zdarzeń. Do struktury stanu należeć będą aktu-alnie przecinane przez miotłę krawędzie danych przecięć. Zatem rozmiar struktury stanu jest stały. Sprawdzenie, czy aktywne krawędzie krzyżują się wymaga czasu stałego. Zatem algorytm będzie działać w czasie liniowym względem rozmiaru danych wejściowych. Problem prostej przecinającej można rozwiązać w czasie O(n log n).
Prostą o równaniu y = ax + b możemy zapisać w postaci Transformata Hougha. Prostą o równaniu y = ax + b możemy zapisać w postaci y = (- cos /sin )x + (r/sin ), gdzie (r, ) są biegunowymi współrzędnymi punktu (x,y) względem punktu (0,0). Zatem r = x cos + y sin . Przestrzeń, którą tworzą pary (r, ), gdzie r R+{0} i [0,), nazywamy przestrzenią Hougha. Gdy ustalimy punkt (x0,y0), przez który przechodzą badane proste otrzymamy równanie r() = Abs(x0 cos + y0 sin ). Zatem punktowi w przestrzeni Hougha odpowiada funkcja sinusoidalna. Transformatą Hougha rozpoznajemy obrazy binarne. [http://en.wikipedia.org/wiki/Hough_transform]
Przykład. [http://en.wikipedia.org/wiki/Hough_transform]
Przykład. [http://lapasoft.wordpress.com/2009/11/04/wykrywanie-linii-za-pomoca-transformaty-hougha/]
Twierdzenie. Z pomocą transformaty Hougha można jednoznacznie wyznaczyć położenie dowolnego wielokąta wypukłego (Rozenfeld, Weiss 95). Transformata Hougha nie określa jednoznacznie położenia wielokąta niewypukłego (Milanfar 96). Transformatę Hougha można wykorzystać również do znajdywania np. okręgów o określonym promieniu. Wychodząc z równania (x-a)2 + (y-b)2 = r2 w przestrzeni Hougha odpowiadającej parom (a,b) jaśniejsze będą środki poszukiwanych okręgów i okręgi o tym samym środku i dwa razy większym promieniu.
Przykład. [http://members.chello.pl/j.kaprzyk/cw2/Proj02.pdf ]
Transformata Radona. Transformata Radona podaje liczbę pikseli obrazu binarnego w rzucie na prostą umieszczoną pod kątem względem osi x-ów. Transformacja jest dana wzorem , gdzie . Transformację Radona stosuje się m.in.. w tomografii.
Obraz kwadratu przy transformacji Radona. Przykład. Obraz kwadratu przy transformacji Radona. [http://www.mathworks.com/access/helpdesk_r13/help/toolbox/images/transfo9.html]
Stosuje się ją m.in. do wyszukiwania elementów podobnych na obrazie. Inne transformacje. Dyskretna transformata Fouriera dla dyskretnego sygnału dwuwymiaro-wego dana jest wzorem Stosuje się ją m.in. do wyszukiwania elementów podobnych na obrazie. http://matrix.umcs.lublin.pl/~lbocian/Studia/Seminarium/Przetwarzanie.pps
Dyskretna Transformata Cosinusowa ma zastosowanie w kompresji obrazów jpg oraz konwersji mpeg. DCT przekształca skończony ciąg N liczb rzeczywistych g(0), …, g(N-1) w ciąg liczb rzeczywistych G(0), …, G(N-1) zgodnie z zależnościami: G(k) są nazywane współczynnikami DCT lub transformatą. Definiuje się również odwrotną dyskretną transformację cosinusową (IDCT): Zaletą stosowania transformaty DCT w kompresji jest to, że większość współczynników jest zwykle bliska 0 – po kwantyzacji wyzerują się, co redukuje liczbę bitów potrzebną do reprezentacji sygnału bez wnoszenia dużego błędu. Standardowy algorytm to podział obrazka na bloki o stałych rozmiarach (np. 8x8), transformacja tych bloków, kwantyzacja i kompresja bezstratna.
Transformata falkowa (wavelet). Transformata Wignera-Ville’a. Transformata Gabora.
Przykład zastosowania transformaty Gabora. [http://sound.eti.pg.gda.pl/akmuz/index.php/Transformacja_Gabora]
Dziękuję za uwagę.