transformacja Hough-a
Transkrypt
transformacja Hough-a
Aproksymacja krawedzi , Od wielu lokalnych cech (edge elements) do spójnej, jednowymiarowej cechy (edge). Różne podejścia: • szukanie w pobliżu wstepnej aproksymacji , • transformacja Hough’a. Wiedza o obiektach: • globalna forma brzegów – linie proste – luki – krzywe stożkowe • ogólne za lożenia co do treści obrazu dwoma punktami – możliwie krótka droga pomiedzy , – ograniczona krzywizna linii MW-ZPCiR-ICT-PWr 1 Metoda strojenia krawedzi znanych a priori , (np. z obrazu o Za lożenie: znamy przybliżenie krawedzi , ma lej rozdzielczości). Wzd luż wstepnej aproksymacji krawedzi szukamy naj, , o podobnej orientacji bliższych lokalnych elementów krawedzi , (kierunku gradientu). Jeśli jest ich dostatecznie dużo, to przeprowadzamy aproksymacje, odpowiednim wielomianem w celu uzyskania ostatecznej krawedzi. , Metoda korelacji w przestrzeni krawedzi , Za lożenie: mamy wzorzec (szablon) krawedzi. , Badamy zgodność lokalnych elementów krawedzi z szablo, nem: • czy kierunek gradientu otrzymanego z lokalnego operatora jest prostopad ly do modelowej krawedzi , • czy modu l gradientu przekracza zadany próg Ilość dopasowanych punktów decyduje o przyjeciu, lub odrzu, ceniu bieżacego po lożenia krawedzi. , , MW-ZPCiR-ICT-PWr 2 Metoda kolejnych podzia lów jest ma la. Za lożenie: Krzywizna krawedzi , Wzd luż symetralnej odcinka lacz dwa punkty należace , acego , , do aktualnego przybliżenia krawedzi szukamy lokalnego ele, mentu krawedzi. Jeżeli jest dostatecznie blisko, to do laczamy , , go do nowego pzybliżenia. Ta sama metoda stosowana jest rekurencyjnie do dwóch otrzymanych odcinków krawedzi. , K A A Z Z A Z A Z A Z 6 Z A Z A Z A Z Z A Z Z A A 6 A A A A A A Warunkiem stopu tak otrzymanej rekurencji może być wielkość odchylenia otrzymanych punktów od prostej lub d lugość otrzymanych odcinków. MW-ZPCiR-ICT-PWr 3 Transformacja Hough-a U.S. Patent 3,069,654 : ”Method and means for recognizing complex patterns” (1962) Za lożenia: • nie znamy po lożenia krawedzi , • mamy informacje (lub czynimy za lożenia) o jej kszta lcie • możliwe jest dokonanie prostej parametryzacji krzywej opikszta lt krawedzi (w ogólnym przypadku - linii) sujacej , , Zalety: • ma la wrażliwość na nieciag , lości obrazu linii • ma la wrażliwość na zaszumienie obrazu • prosta realizacja programowa MW-ZPCiR-ICT-PWr 4 Wykrywanie prostych y = ax + b y b 6 6 y = a0 x + b0 y2 y1 p2 @ @ 1 @ @ @ @ p b0 x x1 p1(x1, y1) p2(x2, y2) (a0, b0) MW-ZPCiR-ICT-PWr x2 - Q b = −x2 a + y2 PQ PQ PQ PP QPP Q PPb = −x1 a Q PP Q PP Q Q Q Q - a a0 y1 = ax1 + b y2 = ax2 + b y = a0x + b0 + y1 b = −x1a + y1 b = −x2a + y2 y1 = a0x1 + b0 y2 = a0x2 + b0 5 /* algorytm wykrywania prostych */ int int int int int int OBR[MAX_x][MAX_y]; /* obraz dyskretny */ PAR[MAX_a][MAX_b]; /* macierz parametrow */ WYNIK[2][MAX_l]; /* tablica wynikow */ x,y; /* biezace wspolrzedne punktow */ a,b; /* biezace wartosci parametrow */ i; /* biezacy wskaznik tablicy wynikow */ /* dla wszystkich wyroznionych punktow obrazu */ for ( x=0 , x<MAX_x , x++ ) for ( y=0 , y<MAX_y , y++) if ( WYROZNIONY(OBR[x][y]) /* zwieksz PAR[a][b] lezace na linii b=-xa+y */ ZWIEKSZ_LINIE(x,y); /* znajdz lokalne maksima PAR[][] */ for ( a=0, i=0; a<MAX_a; a++ ) for ( b=0; b<MAX_b; b++ ) if ( LOK_MAX(PAR[a][b]) ) WYNIK[0][i]=a; WYNIK[1][i++]=b; MW-ZPCiR-ICT-PWr 6 Lepsza parametryzacja prostej ρ = x sin Θ + y cos Θ y 6 H yH0HHH H ρ HHHHH r y H HH HH Θ x HH x x0HH Ważna w lasność: dla ograniczonego obszaru obrazu (zakresu zmienności (x, y)), zakres zmienności parametrów (ρ, Θ) jest również ograniczony. MW-ZPCiR-ICT-PWr 7 Dowolne krzywe opisane równaniem parametrycznym Ψ(X, A) = 0 gdzie X - wektor na obrazie (x, y), A - wektor w przestrzeni parametrów. Przyk lad: okrag , o trzech parametrach xs , ys , r: (x − xs)2 + (y − ys)2 = r2 ; X = (x, y) ; A = (xs, ys, r) zwiekszane bed , , a, w przestrzeni parametrów punkty (xs , ys , r) leżace na powierzchni stożka. Dla ustalonego promienia r w , przestrzeni parametrów (xs, ys) otrzymamy okrag. , Wykorzystanie kierunku gradientu: zwiekszane bed , , a, tylko punkty leżace w kierunku zgodnym z kierunkiem gra, dientu Φ w odleg lości r od punktu (x, y): xs = x − r sin Φ ys = y + r cos Φ MW-ZPCiR-ICT-PWr 8 Uogólnienie dla dowolnego kszta ltu przy pomocy R-tablicy Parametryzacja kszta ltu krawedzi , i kat (R-table) opisujacej promień wodzacy , biegunowy w funkcji , , kierunku gradientu: (xs, ys) r I @ @ @ @ @ A @ A A @ A @A A r @ α Φ (x, y) Dla punktu (x, y) leżacego na krawedzi sylwetki i majacego , , , kierunek gradientu Φ otrzymujemy na podstawie R-tablicy możliwe po lożenia środka sylwetki: xs = x + ri(Φ) cos(αi(Φ)) ys = y + ri(Φ) sin(αi(Φ)) MW-ZPCiR-ICT-PWr A = (xs, ys) 9 R-tablica dla dowolnej orientacji i skali Dla czterowymiarowej przestrzeni parametrów: A = (xs, ys, S, Θ) gdzie S oznacza wspó lczynnik skali, a Θ - kat , obrotu sylwetki wzg ledem po lożenia wzorcowego (w R-tablicy): MW-ZPCiR-ICT-PWr xs = x + ri(Φ)S cos(αi(Φ) + Θ) ys = y + ri(Φ)S sin(αi(Φ) + Θ) 10