Strona GłównaBlogs / 's blog / Transformata Hough pierwsze przymiarki
Transformata Hough pierwsze przymiarki
Oto wyniki pierwszych przymiarek do znajdowania kresek na obrazkach z meteorami.
Rys 1. "Linia" we współrzędnych prostokątnych, a właściwie tylko trzy punkty w linii.
Rys 2. Te same punkty w przestrzeni kątów i odległości - transformata Hough.
Z transformaty Hough czytamy ze linia ma współrzędne r=0 i theta=135 stopni. Co daje linię o równaniu y = (-1)*(cos theta)/(sin theta) * x + r/sin(theta). Czyli podstawiając po prostu y = 1 * x + 0.
Dopisałem prosty moduł znajdujący potencjalne proste (meteory). Na razie działa to na pliku tekstowym, w którym są zapisane przykładowe wartości pikseli czyli coś na kształt małego obrazka.
Rys 3. Obrazek z zaszumioną linią
Rys 4. Transformata Hough na tym obrazku
Rys 5. Zliczenia możliwych linii z transformaty Hough z uwzględnieniem jasności punktów
Jak widać na powyższym rysunku nawet zaszumioną linię można wykryć z doskonałą dokładnością. Uzyskane najlepsze parametry mieszczą się w przedziale: a=0.965-1.035 b = 0 (prosta o równaniu y=a*x+b).
Najlepiej byłoby aby program czytał bezpośrednio 8-bitowy kolorowy plik JPEG. Ustalałoby się jedynie "poziom zainteresowania" ponad lokalne tło i sprawdzało czy na obrazku jest prosta.
--------------------------------------------
Radek znalazł bibliotekę czytającą JPEG i inne formaty. Udało mi się skompilować przykładowy program (załączony do biblioteki) ilustrujący działanie transformaty Hough.
Na razie nie ma na nim meteorka... bo wyglada na to ze przykladowy program
dziala poprawnie tylko dla kwadratowych obrazkow ;)
Najwiecej JPEGow bedzie produkowal Krzysiek, Jarek i Mirek dlatego tez
skupie sie na tym aby program najpierw powstał pod Windowsa.
Milego klikania w papuge.