1 Wprowadzenie. 1.1 Interakcja człowieka z maszyną. 1.2 Cel i zakres pracy

Wielkość: px
Rozpocząć pokaz od strony:

Download "1 Wprowadzenie. 1.1 Interakcja człowieka z maszyną. 1.2 Cel i zakres pracy"

Transkrypt

1 Spis treści 1 Wprowadzenie Interakcja człowieka z maszyną Cel i zakres pracy Przedstawienie problemu Zadanie obserwuj i uchwyć Stan techniki światowej Analiza rozwiązań omawianego problemu Dekompozycja zadań wizji komputerowej Przykłady możliwych rozwiązań Wnioski Projekt systemu Wymagania wobec systemu Wymagania funkcjonalne Wymagania niefunkcjonalne Struktura rozwiązania Technologie rozwiązania Analiza kolorowa obrazu Segmentacja kolorowa Redukcja szumu w obrazie Tworzenie obrazu krawędziowego Wyznaczanie konturów obiektów w obrazie Rozpoznanie obiektu Wyznaczanie prymitywów w obrazie Algorytm przeszukiwania dla problemu z ograniczeniami (CSP) Rozpoznawanie obiektów jako problem CSP Śledzenie rozpoznanego obiektu Implementacja aplikacji wizyjnej Moduły programu Diagramy klas Diagramy interakcji Wyniki testów Ilustracje etapów analizy Serie testowe Obserwacje i wnioski Podsumowanie...77 Bibliografia...78 Zawartość płyty DVD...79 Załącznik

2 1 Wprowadzenie 1.1 Interakcja człowieka z maszyną Cyfrowe przetwarzanie obrazów jest zagadnieniem badanym od wielu lat. Jednym z problemów w tej dziedzinie jest rozpoznawanie przedmiotów w obrazie cyfrowym. Obecnie jest to istotny problem w projektowaniu robotów usługowych. Jego rozwiązanie pozwoli na udoskonalenie interakcji robota z człowiekiem. Coraz częściej prowadzone są prace polegające na stworzeniu robotów, które będą pomagały człowiekowi w życiu codziennym. Przykładem może być zastosowanie robotów w szpitalu, gdzie ich rola polegałaby na podawaniu chorym napojów oraz lekarstw. Agencja kosmiczna NASA pracuje nad stworzeniem robota, który byłby asystentem kosmonauty przy pracach w przestrzeni kosmicznej. Jego rola polegać będzie na odbieraniu od kosmonauty niepotrzebnych narzędzi oraz składowanie ich w bezpiecznym miejscu. Dotychczasowy dominujący obszar zastosowań robotyki, czyli przemysł, również skorzysta na rozwoju systemów rozpoznawania obrazów. Zastosowanie systemów wizyjnych może zastąpić stosowanie szeregu skomplikowanych czujników odpowiadających za określenie rozmiaru, położenia, kształtu oraz zorientowania danego przedmiotu w przestrzeni. Może też przyśpieszyć i w pełni zautomatyzować wiele procesów technologicznych. W niniejszej pracy przedmiotami wykrywanymi w obrazie są: kostka Rubika, czyli sześcian, który na każdej ścianie zawiera kolorowe kwadratowe kafelki. Typowa kostka zawiera sześć podstawowych kolorów: czerwony, pomarańczowy, żółty, niebieski, zielony oraz biały. Przestrzenie między kafelkami są koloru czarnego. Pudełko, kubek. 1.2 Cel i zakres pracy Celem pracy jest automatyczne rozpoznawanie i lokalizacja wybranych przedmiotów w obrazie cyfrowym. Dla osiągnięcia tego celu należało przeprowadzić : analizę problemu rozpoznawania obiektów, zaproponować rozwiązanie, czyli algorytmy analizy obrazu, zaprojektować i zaimplementować aplikację, wykonać testowanie aplikacji w laboratorium. 2

3 Praca składa się z ośmiu rozdziałów. W rozdziale 2 przedstawiono zagadnienia rozwiązywane w pracy. Rozdział 3 stanowi omówienie typowego podejścia do problemów rozpoznawania obiektów w obrazie cyfrowym. W rozdziale 4 przedstawiono projekt systemu, który obejmuje następujące analizy: rozpoznawanie kolorów w obrazach, detekcja krawędzi, detekcja łańcuchów krawędzi, rozpoznawanie obiektu, zbudowanie modelu 3D danego obiektu, śledzenie obiektu. Zastosowane w pracy algorytmy analizy obrazu przedstawiono w rozdziałach 5 i 6. Kolejne rozdziały 7 i 8 dotyczą implementacji aplikacji i jej testowania. Na koniec przedstawiono podsumowanie wykonanych prac. 3

4 2 Przedstawienie problemu 2.1 Zadanie obserwuj i uchwyć Zadaniem aplikacji jest detekcja, lokalizacja i śledzenie przedmiotów trzymanych przed kamerą przez człowieka. W celu detekcji obiektu przydatne będzie prawidłowe wyznaczenie konturu dłoni w obrazie, na podstawie którego możemy ograniczyć obszar poszukiwań. Po uzyskaniu prawidłowego dopasowania segmentów obrazu z modelem obiektu zostanie zbudowany jego opis 3D (lokalizacja), który umożliwi uchwycenie przedmiotu przez manipulator robota. Aby wspomóc manipulator w procesie uchwycenia został wykonany mechanizm śledzenia obiektu w obrazie. Głównym zadaniem mechanizmu śledzenia jest informowanie o zmianach położenia obiektu trzymanego w dłoni. Gdy te zmiany będą zbyt duże, nie będzie możliwe uchwycenie przedmiotu przez robota. W takiej sytuacji operacja będzie wstrzymana do czasu ustabilizowania się położenia przedmiotu w przestrzeni. 2.2 Stan techniki światowej Na świecie trwają prace nad konstruowaniem robotów, które swoją budową i zachowaniem będą przypominały człowieka. Jednym z takich zespołów dysponuje japońska firma Honda, która stworzyła robota Asimo [7]. Do jego podstawowych funkcji należy: śledzenie i rozpoznawanie obiektów, rozpoznawanie twarzy, rozpoznawanie mowy, rozpoznawanie pomieszczeń, w których się znajduje. Agencja kosmiczna NASA prowadzi prace nad zbudowaniem robotów, które mają pomagać kosmonautom w przestrzeni kosmicznej [8]. Dodatkowo roboty te będą mogły zastąpić całkowicie astronautę przy pracach o podwyższonym ryzyku. Roboty poruszać się będą w przestrzeni kosmicznej za pomocą czterech silników odrzutowych, kontrolowanych przez pokładowy system czujników, które są odpowiedzialne za regulację ich ciągu i mocy. 4

5 Na rysunku 2.1 znajduje się robot zespołu Honda, a na rysunku 2.2 robot NASA. Rysunek 2.1: Robot Asimo [7] Rysunek 2.2: Robot NASA "Robonaut" [8] 5

6 3 Analiza rozwiązań omawianego problemu Obrazy cyfrowe są reprezentowane w dwuwymiarowych tablicach złożonych z pikseli, reprezentowanych przez liczby określające ich jasność oraz kolor. Obrazy cyfrowe oprócz samego obiektu, który nas interesuje, zawierają dużo zbędnej informacji o otoczeniu obiektu. Dodatkowo informacja użyteczna jest zakłócona i modyfikowana takimi zjawiskami jak: natężenie i kolor oświetlenia, ilość, rozmieszczenie i charakter źródeł światła, odbicia, nieostrość, różnice w obrazie obiektu w zależności od odległości i orientacji. Dlatego proces analizy obrazu rozbija się na szereg operacji prostszych, takich jak wstępna filtracja, skalowanie, konturowanie, wyodrębnianie obiektów, itd. Ważnym zagadnieniem w przetwarzaniu obrazów jest filtracja, czyli takie przekształcenie obrazu, które poprzez odpowiednią jego zmianę, pozwala na pozbycie się z obrazu niepożądanych efektów (szum, zniekształcenia) lub też na wydobycie użytecznych informacji (np. wzmocnienie krawędzi, poprawianie jakości obrazu). Na skuteczność wyżej wymienionych kroków analizy obrazów ogromny wpływ ma prawidłowa kalibracja kamery w zakresie koloru i ostrości obrazu. Zastosowano kamerę dostępna w laboratorium, Mitsubishi CCD-400, która oferuje szeroką gamę ustawień, przez co możliwe jest precyzyjne jej skalibrowanie. W procesie kalibracji kluczowe znaczenie ma prawidłowe ustawienie balansu bieli. Gdy kamera nie ma na stałe wyznaczonego poziomu bieli, wtedy podczas zmiany oświetlenia lub tła (z ciemnego na jasne) kamera próbuje sama dopasować sobie balans, co powoduje, że zakresy poszczególnych kolorów będą się zmieniały. Kolejnym krokiem jest ustawienie ostrości, bez której nie będzie możliwe szczegółowe wyznaczenie krawędzi. Po takich zabiegach można zabrać się za przetwarzanie obrazu generowanego przez dobrze ustawioną kamerę. 3.1 Dekompozycja zadań wizji komputerowej Pierwszym zadaniem pracy był przegląd i wybór metod analizy obrazu tworzących potok przetwarzania. Wstępnym procesem jest przetworzenie obrazu kolorowego z formatu RGB na YUV. Do celu służy zwykłe przekształcenie macierzowe. Kolejnym krokiem jest segmentacja obrazu ze względu na kolory, polegająca na sklasyfikowaniu pikseli do jednej z sześciu podstawowych barw: czerwony, pomarańczowy, żółty, zielony, niebieski, biały. Reszta barw pikseli jest klasyfikowana jako kolor czarny. Obraz otrzymywany z kamery jest podatny na różnego rodzaju zniekształcenia. Jednym z typowych problemów jest fluktuacja amplitud barw pojawienie się szumu. W celu zredukowania szumu w obrazie po segmentacji można użyć morfologicznych operatorów erozji i dylatacji. W kolejnym kroku zostaje wyznaczony obraz konturowy, który posłuży do wyznaczania 6

7 prymitywów w obrazie takich jak odcinki proste, łuki, okręgi, elipsy oraz kafelki na kostce Rubika. Na podstawie tak wyznaczonych elementarnych wzorców reprezentacji symbolicznej dokonywane jest rozpoznawanie obiektu 3D. Polega ono na rozpoznaniu widoku trzymanego przedmiotu, oraz wyznaczeniu jego zorientowania w przestrzeni. Ostatecznym krokiem jest śledzenie rozpoznanego obiektu. Operacja ta jest stosowana w celu stwierdzenia czy dany obiekt jest trzymany nieruchomo, ponieważ niemożliwe jest uchwycenie przedmiotu, którego położenie jest niestabilne. Na potrzeby pracy należało również stworzyć narzędzie wizualizacji wyników. Jako wynik końcowy analizy obrazu powinien zostać przedstawiony obraz oryginalny z nałożonym obrazem zawierającym opis rozpoznanego obiektu. Należało stworzyć aplikację, która stanowi implementację kroków analizy obrazu oraz umożliwia podejrzenie wyników działania każdego z użytych algorytmów. W ten sposób uzyskamy możliwość weryfikacji działania poszczególnych algorytmów i w razie potrzeby znaleźć przyczynę błędu. 3.2 Przykłady możliwych rozwiązań Ostateczny zestaw algorytmów został zaproponowany po wielu analizach alternatywnych rozwiązań. Dużo uwagi zostało poświęcone algorytmom do detekcji krawędzi, ponieważ od jakości wyników ich działania zależy, czy obiekty zostaną poprawnie rozpoznane w obrazie. Detekcja krawędzi Podstawową ideą algorytmów detekcji obrazu krawędziowego jest poszukiwanie nieciągłości funkcji obrazu (np. jasności)[1]. Jako krok wstępny stosuje się wygładzanie obrazu w celu usunięcia szumu. Wyróżniamy trzy najbardziej popularne kategorie algorytmów ( operatorów ) detekcji obrazu krawędziowego: Bezpośrednie obliczanie pochodnych funkcji obrazu Dyskretny splot funkcji, realizujący pierwszą lub drugą pochodną funkcji obrazu (maski krawędziowe) Metody łączenia operatorów poprzednich kategorii (1-3) Dyskretne pochodne funkcji obrazu Poszukiwanie raptownych zmian funkcji obrazu można zrealizować poprzez poszukiwanie minimów lub maksimów lokalnych pierwszej pochodnej funkcji obrazu lub poprzez poszukiwanie zerowych wartości drugiej pochodnej. 7

8 Gradient 2-wymiarowej funkcji ciągłej f x, y ma postać: f x, y x. (3.1) f x, y y f x, y = f x x, y f y x, y = Aproksymacja gradientów dyskretnymi różnicami dla funkcji dyskretnej f x, y, będącej aproksymacją funkcji ciągłej f x, y : f x i, j = f i 1, j f i, j, (3.2) f y i, j = f i, j 1 f i, j, (3.3) f x x, y =lim f x h, y f x, y, (3.4) h 0 h f y x, y =lim f x, y h f x, y, (3.5) h 0 h Wynikiem detekcji krawędzi jest amplituda krawędzi ( s ) lub ( s ' ) i kierunek krawędzi ( r ): s= f 2 x f 2 y lub s ' = f x2 f y2, r=arctan f x, f y. (3.6) Kierunek r odpowiada wektorowi normalnemu w danym punkcie do przebiegu linii konturu (krawędzi) w obrazie. Pierwszym i najprostszym operatorem krawędziowym jest krzyż Robertsa. Jego zasadnicze cechy są następujące: maksymalna amplituda krawędzi wynosi 255 dla obrazów 8 bitowych, pozwala to przyjąć ten sam format reprezentacji dla obrazu wejściowego i wyjściowego, bardzo prosta realizacja w postaci filtracji obrazu dla dwóch specyficznych masek 2x2, z uwagi na niewielkie badane otoczenie (lokalne sąsiedztwo) wynik operacji jest wrażliwy na szum. Operacja krzyża Robertsa polega na obliczaniu dla każdego piksela dyskretnych różnic wzdłuż dwóch kierunków: k x i, j = f i, j f i 1, j 1, (3.7) k y i, j = f i 1, j f i, j 1, (3.8) 8

9 Operację tę można zrealizować poprzez dyskretny splot z dwoma maskami: [ ] 1 0 ] k x, [ 0 1 k y. (3.9) Amplituda krawędzi może być wyrażona w dwóch alternatywnych postaciach: s= k x 2 k y 2, s ' = k x k y. (3.10) Kierunek krawędzi jest wyliczany jako: r Roberts =arctg k y k x 3 4. (3.11) Niezbędna jest tu korekta kierunku o kąt 3/ 4, gdyż zastosowane maski (3,9) są obrócone względem osi współrzędnych o kąt /4. Operacja splotu operatory maski Operacja splotu obrazu z funkcją jądra ( g = f h ) wyrażona w dyskretnej postaci wynosi: M N g i, j = h[m,n] f [i m, j n]. (3.12) m= M n= N Operatory krawędziowe realizowane w postaci dyskretnego splotu charakteryzują się stosownym zbiorem masek h[m,n]. Typowe znane operatory krawędziowe stosują maski aproksymujące pierwszą pochodną funkcji obrazu: operator różnic elementów centralnych (maksymalna amplituda krawędzi wynosi 255, prosta implementacja, wrażliwy na szum), operator Sobela (maksymalna amplituda wynosi 2040, prosta implementacja, dobre wyniki), operator Prewitta (maksymalna amplituda wynosi 1020, prosta implementacja, wyniki prawie tak dobre jak dla operatora Sobela ). Maski dla operatora różnic centralnych: [ 1,0,1], [ ] (3.13) 9

10 Maski dla operatora Sobela: [ ] [ 1 2 1, ] (3.14) Maski dla operatora Prewitta: [ ] [ 1 1 1, ] (3.15) Operator Laplace'a (aproksymacja drugiej pochodnej) Dla 2-wymiarowej funkcji ciągłej operator Laplace'a definiujemy jako: 2 f x, y = 2 f x 2 2 f y 2 = f xx f yy. (3.16) Dla funkcji dyskretnej aproksymujemy ten operator, wprowadzając: i f i, j = f i 1, j f i, j, i f i, j = f i, j f i 1, j, (3.17) co daje aproksymację: 2 f i, j = i i f i, j j j f i, j =4f i, j f i 1, j f i 1, j f i, j 1 f i, j 1 (3.18) Operator Laplace'a (laplasjan) może być efektywnie realizowany w postaci splotu z pojedynczą maską: [ ] [ 1 1 1, ] [ ], (3.19) Operator Laplace'a daje wynik zero zarówno dla obszaru jednorodnego (stała wartość jasności), jak i dla ekstremów gradientowych. Z powodu tej niejednoznaczności operator Laplace'a nie jest stosowany samodzielnie lecz w kombinacji z innymi operatorami. Metody łączenia operatorów dla detekcji obrazu krawędziowego Kombinacja dwóch lub więcej operatorów krawędziowych może mieć na celu uzyskanie bardziej niezawodnego wyniku, na przykład: Określamy obraz krawędziowy metodą operatora Sobela: 10

11 ' s ik = f 2 2 x f y (3.20) ' i drugi obraz metodą operatora Laplace'a, biorąc: s ' jk = s jk. Określamy wynikowy obraz krawędziowy w oparciu o oba obrazy pomocnicze: h jk ={ 1, jeśli s ' jk ' ' i s ' jk ' ', 0, w przeciwnym razie. (3.21) Kombinacja metod może również mieć na celu obniżenie nakładu obliczeniowego. Wtedy należy postępować następująco: Zastosuj prosty operator krawędziowy do całego obrazu, Wybierz punkty krawędziowe o wystarczająco dużej amplitudzie, Zastosuj bardziej złożony i niezawodny operator krawędziowy tylko dla wybranych uprzednio punktów. 3.3 Wnioski Przyjęto założenie, że projektowana aplikacja powinna umożliwiać detekcję i lokalizację obiektu w czasie rzeczywistym. To spowodowało taki wybór algorytmów i odpowiednich etapów przetwarzania obrazu, aby przy niskiej złożoności obliczeniowej otrzymywać wystarczająco dobre wyniki. Było to istotnym kryterium doboru algorytmów. Wyniki działania powyższych metod do detekcji krawędzi nie przyniosły dobrych rezultatów. Krawędzie otrzymane w obrazie były poszarpane oraz grube. Wymagały one dodatkowych operacji pocieniania oraz uzupełnienia przerw w łańcuchach. Dużym problemem dla metod gradientowych jest detekcja krawędzi w obszarach o małej różnicy w jasności pikseli. Uniemożliwiało to detekcję krawędzi kafelków o ciemnych kolorach na kostce Rubika. Ostatecznie informacją, która posłużyła do detekcji krawędzi jest kolor. W punkcie 5.3 został omówiony algorytm do detekcji obrazu krawędziowego, który został użyty w pracy. Krawędzie otrzymane za pomocą powyższego algorytmu są ciągłe i o szerokości jednego piksela. Przyczyniło się to do znacznego uproszczenia i przyspieszenia algorytmów do wyznaczania konturów w obrazie. 11

12 4 Projekt systemu 4.1 Wymagania wobec systemu Wymagania funkcjonalne Główną funkcją projektowanego systemu powinno być rozpoznanie obiektu i śledzenie zmian jego położenia w obrazie. Na ten proces składa się szereg funkcji: Detekcja barw Detekcja krawędzi Wyznaczanie konturów Rozpoznawanie obiektu i jego śledzenie Wymienione wyżej funkcje składają się z szeregu operacji: Detekcja barw składa się z : Wczytanie danych z kamery Przekształcenie przestrzeni RGB na przestrzeń YUV Rozpoznanie kolorów na podstawie YUV Detekcja krawędzi: Zastosowanie operacji erozji i dylatacji w celu redukcji szumu Wyznaczanie krawędzi na podstawie informacji o kolorze Wyznaczanie konturów: Skanowanie obrazu w celu poszukiwania pikseli krawędziowych Śledzenie łańcuchów krawędzi Aproksymacja łańcucha krawędzi liniami prostymi Obliczanie momentów geometrycznych Wyznaczanie punktów charakterystycznych wierzchołków danego konturu 12

13 Rozpoznanie obiektu i jego śledzenie: Wyznaczenie wzorców elementarnych w obrazie krawędziowym Znalezienie rozwiązania dla modeli obiektów wśród wzorców elementarnych Śledzenie zmian położenia obiektu Dodatkowo system umożliwia użytkownikowi: Podgląd wyników działania poszczególnych etapów Zmiana ustawień dotyczących zakresów kolorów Zapis wyników działania do plików graficznych Wyłączenie śledzenia obiektów Wymagania niefunkcjonalne Aplikacja jest przeznaczona do uruchamiania na pojedynczym komputerze. Wyniki działania aplikacji są przedstawiane na ekranie monitora. Dodatkowo są wyznaczone dane, które zostaną przekazane dla systemu MROC++, którego główne działanie opiera się na sterowaniu manipulatorem robota. Komunikacja odbywać się będzie poprzez interfejs sieciowy. Umożliwi to uruchomienie aplikacji oraz systemu MROC++ na różnych komputerach. Rozwiązanie takie znacznie wpłynie na wydajność systemu. Maszyna, która będzie odpowiedzialna za sterowanie nie będzie musiała wykonywać obliczeń związanych z przetwarzaniem danych. Do tego celu zostanie użyty komputer o większej mocy obliczeniowej. Innym rozwiązaniem jest użycie jednego komputera o kilku rdzeniach. 4.2 Struktura rozwiązania Aplikacja jest podzielona na dwa główne etapy. Pierwszym etapem jest przetwarzanie obrazu do momentu rozpoznania obiektu. Natomiast w etapie drugim zostanie rozpoznany obiekt, nastąpi jego śledzenie, oraz zostanie przeprowadzona wizualizacja wyników. Obraz otrzymywany jest z kamery za pomocą specjalnej karty do przechwytywania video (frame grabber). Poszczególne ramki obrazu są przekazywane do modułu przetwarzania danych, w którym odbywają się kolejne etapy analizy obrazu (rysunek 4.2). Wynikiem działania powyższego moduły są rozpoznane obiekty w obrazie. Informacje o rozpoznanych obiektach są przekazywane do modułu odpowiedzialnego za wizualizację. Wyniki działania aplikacji są prezentowane użytkownikowi na monitorze. Za pomocą interfejsu graficznego (Gui) można w łatwy sposób przeanalizować wyniki poszczególnych etapów analizy obrazu, 13

14 oraz dokonać zmian zakresów dla rozpoznawanych kolorów. Dodatkowo interfejs umożliwia wyłączenie mechanizmu śledzenia obiektów. Na rysunku 4.1 została przedstawiona struktura systemu. Gui Monitor Moduł przetwarzania danych Wynik Wizualizacja MROC++ Dane Kamera System operacyjny Rysunek 4.1: Struktura systemu 14

15 Na rysunku 4.2 została zamieszczona struktura potoku analizy obrazu. Dane wejściowe- obraz Wczytywanie danych z kamery oraz zamiana ich na przestrzeń barw YUV, segmentacja kolorowa Obraz z kolorowymi obszarami jednorodnymi Filtracja polegająca na zastosowaniu erozji i dylatacji Obraz ze zredukowanym szumem oraz z wygładzonymi krawędziami Detekcja krawędzi oraz śledzenie konturów Tablica zawierająca punkty krawędziowe dla konturów Wyznaczony obszar poszukiwań obiektu Rozpoznawanie obiektu Obiekt rozpoznany Tak Nie Śledzenie obiektu Przedstawienie wyników działania aplikacji na ekranie Rysunek 4.2: Struktura potoku analizy obrazu 15

16 4.3 Technologie rozwiązania Detekcja i lokalizacja przedmiotów w obrazie cyfrowym wiąże się z dużym nakładem obliczeniowym. Zadaniem aplikacji stworzonej na potrzeby pracy jest przetwarzanie obrazu w czasie rzeczywistym. Przyjmujemy tu wymagania dla systemu PAL (25 klatek na sekundę), co oznacza, że przetwarzanie jednej ramki obrazu powinno zająć mniej niż 40 ms. Czas przeznaczony na obliczenia jest bardzo krótki, dlatego algorytmy są dobierane w taki sposób, aby dawały dobre wyniki przy niskim koszcie obliczeniowym. Implementacja systemu wykonana jest w języku C++, który ze względu na wysoką efektywność generowanego kodu wynikowego idealnie się do tego celu nadaje. Obecnie osiągnięto kres szybkość taktowania procesorów, która dla obecnej technologii wynosi około 3,4 Ghz. Alternatywą jest budowanie procesorów składających się z wielu rdzeni. Rozwiązanie wielowątkowe może znacznie poprawić wydajność aplikacji, ponieważ zostaje ona podzielona na wątki, które będą się wykonywały równolegle na różnych rdzeniach. Obecne możliwości techniczne pod warunkiem efektywnego zakodowania odpowiednio dobranych algorytmów pozwalają na zbudowanie aplikacji do rozpoznawania i lokalizacji przedmiotów działającej w czasie rzeczywistym. 16

17 5 Analiza kolorowa obrazu Pierwszym etapem jaki należy przeprowadzić jest segmentacja kolorowa dla obiektu trzymanego w dłoni. Sposób wyznaczania kolorów został omówiony w rozdziale 5.1. W Kolejnych etapach jest detekcja krawędzi oraz wyznaczanie konturów, które zostały omówione w rozdziałach 5.3 i Segmentacja kolorowa Wybór przestrzeni barw był jednym z kluczowych etapów analizy pracy. Dla reprezentacji obrazów cyfrowych i telewizji cyfrowej typowo stosowanym modelem jest YUV (lub zbliżony do niego YC b C b ) [1]. W tym przypadku U (lub C b ) i V (lub C r ) są to miary odległości koloru szarego od koloru niebieskiego względem czerwonego. Wykorzystano tu szczególną właściwość ludzkiego oka na zielone światło. Większość informacji o składowej zielonej zawarta jest w jasności Y, a poza nią, dla zapewnienia pełnego koloru, wystarczy jeszcze reprezentować odległości od szarości w kierunku niebieskim i czerwonym. Zaletą powyższych modeli jest liniowa zależność od modelu RGB, co oznacza szybką i efektywną transformację pomiędzy tymi modelami. Zależność pomiędzy YUV a RGB jest zadana wzorem: [ Y U V ] = [ ][ R B] G (5.1) Na rysunku 5.1 została przedstawiona przestrzeń YUV dla luminacji Y =128 : Rysunek 5.1: Przestrzeń YUV dla luminancji Y=128 [8] 17

18 W tej przestrzeni kolor biały oraz czarny leżą w centrum osi współrzędnych. Można je odróżnić od siebie za pomocą jasności Y. Przestrzeń ta jest odpowiednia do ustawiania balansu bieli, gdyż dobrze skalibrowana kamera prowadzi do reprezentacji bieli w centrum przestrzeni. Podobnie jest dla koloru czarnego. Poniżej został zamieszczony przykład zamiany RGB na YUV. Na rysunku 5.2 znajduje się oryginalny obraz z kamery, rysunki zawierają odpowiednie składowe. Rysunek 5.2: Obraz RGB Rysunek 5.3: Składowa Y Rysunek 5.4: Składowa U Rysunek 5.5: Składowa V Kolejnym krokiem w segmentacji w oparciu o barwę może być ujednolicenie kolorów drogą uniezależnienia od jasności. W tym celu zastosowana została normalizacja składowych U i V względem jasności Y. 18

19 Poniższe wzory przedstawiają w jaki sposób zostało to dokonane: Y =0.2989R G B U ' =U 128/Y V ' =V 128/Y. (5.2) Uzasadnienie tego kroku ma charakter eksperymentalny [1]. Stosując takie przekształcenie należy uważać, aby jasność danego piksela była większa od zera, ponieważ dla pikseli o jasności zero nie jest możliwe rozpoznanie barwy. Rysunki 5.6 i 5.7 przedstawiają histogramy dla U i V przed normalizacją. Rysunek 5.6: Histogram dla składowej U Rysunek 5.7: Histogram dla składowej V Dla obu tych histogramów przeważają piki dla wartości 128. Są to piksele należące do tła, które jak widać na zdjęciach ma kolor czarny. Inne maksima dla pozostałych kolorów są znacznie przygaszone, gdyż nieliniowe zależności od jasności prowadzą do rozmycia koloru. Dlatego, aby częściowo zniwelować to rozmycie i uzyskać większe wartości maksimów histogramu stosujemy normalizację względem jasności. Na rysunkach 5.8 i 5.9 przedstawione są obrazy po normalizacji a na rysunkach 5.10 i 5.11 ich histogramy. 19

20 Rysunek 5.8: Obraz dla składowej U po normalizacji względem Y = 128 Rysunek 5.9: Obraz dla składowej V po normalizacji względem Y = 128 Rysunek 5.10: Histogram dla składowej U po normalizacji względem Y = 128 Rysunek 5.11: Histogram dla składowej V po normalizacji względem Y = 128 Po normalizacji widać, że piki, które miały małą wartość zostały wzmocnione. Oznacza to, że barwy na powierzchni kostki zostały bardziej ujednolicone, a przedziały, do których poszczególne kolory należą, zostały zmniejszone. Jednak dla dużego obszaru ciężko jest wyznaczyć przedziały na histogramie dla kolorów kostki. Dlatego w pracy nie stosuję analizy histogramów, lecz ustalone sztywno progi. Taka analiza nie zależy od koloru otoczenia, ani od wielkości obrazu. Na podstawie obrazów pochodzących ze skalibrowanej kamery dla poszczególnych zakresów zostały wyznaczone następujące przedziały (tabela 5.1): 20

21 Kolor Składowa Y Składowa U Składowa V Czerwony Pomarańczowy Niebieski Zielony Biały Żółty Ręka Tabela 5.1: Przedziały dla poszczególnych kolorów w przestrzeni YUV przyjęte w niniejszej pracy. Kolory, których wartości nie pokrywają się z wyznaczonymi wyżej zakresami przyjmują barwę czarną. Poniżej w tabeli 5.2 przedstawione są reprezentacje bitowe poszczególnych kolorów. Wartości bitowe są tak dobrane, żeby każdy kolor reprezentowany był różnym bitem. Taka nadmiarowa reprezentacja znacznie przyspieszyła działanie algorytmów, które polegają na porównywaniu wartości poszczególnych pikseli. Dzięki temu rozwiązaniu zostały też zoptymalizowane algorytmy do redukcji szumu oraz do wyznaczania krawędzi. Kolor Czarny Czerwony Pomarańczowy Niebieski Zielony Biały Żółty Ręka Reprezentacja bitowa Tabela 5.2: Reprezentacje bitowe poszczególnych kolorów. Do dalszego przetwarzania wyznaczone zostały dwa obrazy. Pierwszy zawiera obszar zajmowany przez dłoń, natomiast drugi powstał przez odjęcie obszaru dłoni od obrazu oryginalnego. Poniżej na rysunku 5.12 został zamieszczony obraz oryginalny otrzymany w laboratorium z kamery, obraz 5.13 przedstawia wyznaczony kolor dla skóry ludzkiej, a na obrazie 5.14 wyznaczone zostały kolory dla samego obiektu, na podstawie zakresów z tabeli

22 Rysunek 5.12: Obraz oryginalny z kamery Rysunek 5.13: Obraz z wyznaczonym kolorem dla skóry ludzkiej Rysunek 5.14: Obraz z wyznaczonymi kolorami dla obiektu 22

23 Przy prawidłowo dobranych zakresach możliwe jest usunięcie koloru należącego do skóry ludzkiej. W wyniku tej operacji w obrazie pozostaje obiekt wraz z delikatnym zarysem konturu dłoni. Dłoń zostanie całkowicie usunięta w dalszych etapach dzięki zastosowaniu morfologicznych operatorów erozji i dylatacji. Pozostaną jedynie krawędzie należące do obiektu trzymanego w dłoni. 5.2 Redukcja szumu w obrazie Jednym z niepożądanych zjawisk występujących w obrazie jest szum. W celu jego usunięcia zostały zastosowane filtry realizujące operacje erozji i dylatacji. Działanie tych filtrów i ich implementacja są bardzo proste. Ich działanie polega na sprawdzaniu lokalnego sąsiedztwa i odpowiednim ustawieniu wartości centralnego piksela. W celu zwiększenia wydajności działania algorytmów erozji i dylatacji w implementacji zostały zastosowane operacje bitowe. Podany wzór zawiera macierz zgodnie, z którą sprawdzane jest sąsiedztwo: A=[ a b c d P e f g h]. (5.3) Erozja Dla centralnego piksela P, którego wartość jest większa od zera sprawdzane jest lokalne sąsiedztwo. Za sąsiadów uznawane są te piksele, które w obrębie danej maski mają niezerowe wartości. Gdy dany piksel ma ośmiu niezerowych sąsiadów, jest pozostawiany w obrazie wynikowym, w przeciwnym przypadku jest zerowany. Jako rezultat działania filtra erozji otrzymujemy obraz, w którym został zredukowany szum oraz część użytecznej informacji. Aby przywrócić ewentualnie utracone dane stosuje się dylatację. W celu usprawnienia algorytmu zostały wykorzystane bitowe operatory sumy i iloczynu. Warunkiem wykonania sprawdzania sąsiedztwa danego piksela centralnego P jest jego wartość różna od koloru czarnego. Można to sprawdzić za pomocą wyrażenia :! pixelvalue &0x0001. (5.4) Tylko kolor czarny ma jedynkę na ostatniej pozycji (tabela 5.2), więc wykorzystując podaną maskę można w szybki sposób sprawdzić wartość danego piksela. Warunkiem na to aby piksel centralny był zerowany, jest wystąpienie chociaż jednego sąsiada będącego koloru czarnego. W celu sprawdzenia sąsiedztwa piksela centralnego należy wykonać operacje: a b c d e f g h &0x0001. (5.5) Teraz wystarczy jedynie sprawdzić, czy na pozycji najmniej znaczącej jest jedynka. 23

24 Jeżeli tak, to oznacza, że wśród sąsiadów był co najmniej jeden piksel czarny. Wykonanie ośmiu operacji sumy oraz jednego iloczynu bitowego jest znacznie mniej kosztowne niż sprawdzenie ośmiu warunków, co miało miejsce w poprzedniej wersji algorytmu. Miało to ogromny wpływ na szybkość obliczeń, ponieważ czas zmniejszył się z 50 ms do około 5 ms dla całego obrazu w rozdzielczości 768x576. Obliczenia wykonywane były na procesorze Intel Core 2 Duo E Ghz. Dylatacja Warunek startu sprawdzania lokalnego sąsiedztwa jest taki sam jak w przypadku erozji. Różnica polega na tym, że miejsca, w których brakuje sąsiadów, są uzupełniane wartością piksela centralnego. W rezultacie otrzymujemy obraz ze zredukowanym szumem, a reszta danych, która jest ważna została przywrócona do początkowego stanu. Poniżej zostały zamieszczone kolejne etapy redukcji szumu. Rysunek 5.15 zawiera obraz zawierający szum w postaci małych grup zielonych pikseli, rysunek 5.16 przedstawia rezultat działania filtra erozji, natomiast rysunek 5.17 jest wynikiem działania filtra dylatacji. Rysunek 5.15: Obraz zawierający szum w postaci małych grup zielonych pikseli Rysunek 5.16: Wynik działania erozji Rysunek 5.17: Wynik działania dylatacji 24

25 5.3 Tworzenie obrazu krawędziowego Wybór sposobu wyznaczania krawędzi był oparty na wielu analizach zdjęć. Okazało się, że informacją, która posłużyła do ich wyznaczenia, jest kolor. Całkowicie zawiodły metody gradientowe, w których detekcja krawędzi oparta jest na różnicach jasności pikseli. Działanie i implementacja algorytmu jest bardzo prosta. Metoda ta opiera się na sprawdzaniu lokalnego sąsiedztwa według podanej maski: [ X a X ] b P c. (5.6) X d X Gdy kolor piksela centralnego P jest inny niż kolor czarny, wtedy sprawdzane jest dla niego sąsiedztwo. Gdy ma czterech niezerowych sąsiadów, wtedy taki piksel jest kasowany, w przeciwnym wypadku jest oznaczony jako piksel krawędziowy. Podobnie jak w przypadku erozji i dylatacji zastosowane zostały tutaj operacje bitowe sumy oraz iloczynu. Warunek sprawdzenia czy piksel centralny P jest koloru czarnego:! P &0x0001. (5.7) operację: W celu sprawdzenia czy dany piksel centralny P leży na krawędzi, należy wykonać a b c d & 0x0001. (5.8) Poniżej przedstawiono wyniki działania algorytmu do detekcji krawędzi. Rysunek 5.18 zawiera obraz po dopasowaniu kolorów przez algorytm opisany w punkcie 5.1. Na rysunku 5.19 jest przedstawiony wynik działania algorytmu do detekcji krawędzi. Rysunek 5.18: Obraz z wyznaczonymi kolorami. Rysunek 5.19: Wynik działania algorytmu do detekcji krawędzi. Jak widać algorytm ten daje bardzo dobre wyniki. Złożoność obliczeniowa jest mniejsza niż dla operatorów gradientowych. Otrzymane krawędzie są ciągłe i o szerokości jednego piksela, dlatego nie jest konieczne pocienianie krawędzi. 25

26 5.4 Wyznaczanie konturów obiektów w obrazie Warunkiem do prawidłowego działania algorytmu jest to, aby łańcuchy krawędziowe były ciągłe i nieposzarpane. Algorytm zbudowany jest z dwóch części. Pierwsza część jest odpowiedzialna za sprawdzenie każdego piksela krawędziowego w obrazie. Zadanie to jest realizowane za pomocą funkcji FindContour, której definicja jest przedstawiona w tabeli 5.3. Gdy dana funkcja natrafi na piksel krawędziowy, algorytm przechodzi do części drugiej. Druga część odpowiedzialna jest za śledzenie łańcucha konturowego, którego punkt startowy był określony w części pierwszej. Szukanie kolejnych pikseli w łańcuchu krawędziowym odbywa się zgodnie z ruchem wskazówek zegara za pomocą maski: [ ] 4 P 0. (5.9) 5 6 Numer piksela, od którego zaczynamy przeszukiwanie sąsiedztwa wyznaczamy za pomocą równania: S=K 3%8 (5.10) S oznacza numer piksela, od którego rozpoczęte będzie poszukiwanie kolejnego piksela krawędziowego. K kierunek, w którym został znaleziony piksel centralny P w poprzednim kroku. Punkty, które należą do danego łańcucha są przechowywane w tablicy. Gdy algorytm ten dojdzie do punktu startowego, wtedy taki kontur jest oznaczany jako zamknięty, w przeciwnym wypadku jest to kontur otwarty. Odpowiedzialna ze realizację drugiej części jest funkcja Tracer(int y, int x), która została przedstawiona w tabeli 5.4. Jako argumenty przyjmuje ona współrzędne piksela centralnego. FindContour( Image src) FOR Dla każdego nie wizytowanego piksela w obrazie, wywołaj funkcję Tracer Wywołaj funkcje Tracer i ustaw status piksela na wizytowany IF znaleziono łańcuch zamknięty THEN Dodanie go do listy ContourList ELSE Pobranie kolejnego punktu startowego UNTIL Sprawdzono wszystkie piksele w obrazie Tabela 5.3: Definicja funkcji FindContour 26

27 Tracer(int y, int x) DO Szukaj sąsiada IF THEN Jeżeli zostanie znaleziony sąsiad S Sprawdź status IF THEN ELSE IF THEN Nie wizytowany Ustaw status S na wizytowany i dodaj do listy Wizytowany UNTIL Brak sąsiada Tabela 5.4: Definicja funkcji Tracer Czy jest to punkt startowy, jeśli tak to zaznacz, że jest to kontur zamknięty i zakończ działanie Na rysunkach zostały przedstawione kolejne kroki działania algorytmu. Rysunek 5.20: Punkt startowy, czarne strzałki pokazują w jakich kierunkach jest skanowany cały obraz przez funkcje FindContour. Niebieskie strzałki pokazują sposób poszukiwania Rysunek 5.21: Krok pierwszy funkcji Tracer Rysunek 5.22: Krok drugi Rysunek 5.23: Krok trzeci 27

28 Rysunek 5.24: Krok czwarty Rysunek 5.25: Krok piąty Rysunek 5.26: Krok szósty Rysunek 5.27: Krok siódmy Rysunek 5.28: Krok ósmy Rysunek 5.29: Stan końcowy działania algorytmu Na rysunku 5.20 pokazany jest warunek startu, którym jest znalezienie niezerowego piksela P poprzedzonego zerowym sąsiadem w kierunku czwartym (5.9). Dla tak znalezionego piksela na rysunkach pokazane są kolejne wywołania funkcji Tracer(). Kolorem różowym są zaznaczone piksele, które nie były jeszcze sprawdzane. Warunkiem stopu jest osiągnięcie punktu początkowego lub koniec łańcucha konturowego. 28

29 6 Rozpoznanie obiektu Do rozpoznawania obiektów zostały wykorzystane wzorce elementarne: linia prosta, łuk, okrąg, elipsa oraz kafelki na kostce Rubika. W celu rozpoznania obiektu budowany jest graf połączeń dla znalezionych wzorców w obrazie. W pracy rozpoznawanymi obiektami są: kostka Rubika, pudełko oraz kubek. 6.1 Wyznaczanie prymitywów w obrazie Rozpoznawanie obiektów jest procesem dość skomplikowanym i złożonym. W celu jego przyspieszenia łańcuchy krawędzi zostały aproksymowane liniami prostymi. Punkty łączące te linie określone są mianem punktów charakterystycznych. Reszta operacji potrzebnych do rozpoznania obiektów będzie się opierać o te punkty. Ze względu na małe wymiary kafelków na kostce Rubika aproksymacja konturów segmentami linii prostych nie przyniosła zadowalających rezultatów, dlatego ich detekcja odbywa się w oparciu o obliczanie momentów geometrycznych. Obliczanie momentów geometrycznych Momenty geometryczne służą do wyszukiwania w obrazie obiektów o określonym kształcie. Ich właściwości pozwalają na dokładne określenie szukanego kształtu, bez względu na jego rozmiar, położenie, obrót czy translację. Dwumiarowy moment rzędu (p+q) obliczany dla funkcji f(x,y) jest definiowany jako: m pq = x p y q f x, y dxdy. (6.1) Moment centralny f(x,y) jest definiowany jako: M pq = x x 0 p y y 0 q f x, y dxdy (6.2) gdzie: x 0 =m 10 / m 00 i y 0 =m 01 / m 00 Dla obrazu cyfrowego podwójne całki można aproksymować sumami. Dla kwadratowej matrycy o rozmiarach [n x n] składającej się z punktów x ij otrzymujemy: n n m pq = i p j q x ij. (6.3) i=1 j=1 29

30 Środek ciężkości: i o =m 10 / m 00, j o =m 01 /m 00 (6.4) Momenty centralne można przedstawić za pomocą momentów zwykłych : M 00 =m 00 (6.5) M 01 =m 01 m 01 /m 00 m 00 (6.6) M 10 =m 10 m 10 /m 00 m 00 (6.7) M 11 =m 11 m 10 m 01 / m 00 (6.8) M 20 =m 20 m 2 10 /m 00 (6.9) M 02 =m 02 m 2 01 /m 00 (6.10) M 21 =m 21 2m 11 i 0 m 20 j 0 2m 01 i 0 2 M 12 =m 12 2m 11 j 0 m 02 i 0 2m 10 j 0 2 M 30 =m 30 3m 20 i 0 2m 10 i 0 2 M 03 =m 03 3m 02 j 0 2m 01 j 0 2 (6.11) (6.12) (6.13) (6.14) Niezmienniki momentowe : 2 M1= M 20 M 02 /m 00 M2= { M 20 M M }/m 00 M3={ M 30 3M M 21 M }/m 00 (6.15) (6.16) (6.17) M4= { M 30 M 12 2 M 21 M }/m 00 (6.18) M5 = { M 30 3M 12 M 30 M 12 [ M 30 M M 21 M 03 2 ] + 3M 21 M 03 M 21 M 03 [3 M 30 M 12 2 M 21 M 03 2 ] }/m (6.19) M6 ={ M 20 M 02 [ M 30 M 12 2 M 21 M 03 2 ] (6.20) 7 + 4M 11 M 30 M 12 M 21 M 03 }/m 00 M7= M 20 M 02 M /m 00 M8= M 30 M 12 M 21 M 03 M 2 12 M /m 00 (6.21) (6.22) M9= {M 20 M 21 M 03 M 2 12 M 02 M 03 M 12 M M 11 M 30 M 03 M 12 M 21 }/m 0 (6.23) M10= { M 30 M 03 M 12 M M 30 M 12 M M 03 M 21 M 12 }/m 00 (6.24) Na podstawie powyższych wzorów dokonywane są obliczenia dla punktów konturowych. W celu określenia momentów dla poszukiwanych kafelków obliczenia były przeprowadzone na kilkudziesięciu obrazach zawierających różne rzuty kostki. Obliczenia 30

31 zostały również przeprowadzone dla obrazów zawierających różne figury. Na podstawie zebranych danych okazało się, że do wyznaczenia kafelków na kostce dobrze nadają się momenty: M1 >= 1.0 M2 <= 2.5 M3 <= 0.5 M7 >= 0.1 Wśród pozostawionych konturów istnieje możliwość, że znajdują się takie, które nie są kafelkami na kostce. Dzieje się tak dlatego, że momenty były liczone też dla kafelków widzianych pod różnymi kątami w stosunku do kamery. Kształt ich nie przypominał wtedy kwadratów, lecz ich rzuty perspektywiczne. Dlatego niektóre kontury mogą mieć momenty mieszczące się w podanych zakresach, ale ich kształt jest całkiem odmienny od kafelków na kostce. W celu ostatecznej weryfikacji wyznaczonych konturów został użyty współczynnik kształtu Malinowskiej, który jest określony następującym wzorem: L długość konturu S pole konturu W = L 2 S 1. (6.25) Pole konturu jest obliczane jako pole czworokąta wpisanego w dany kontur. Natomiast długość jest taka, jaką rzeczywiście ma obiekt w obrazie. Na podstawie analizy wielu obrazów, na których widoczna była jedna lub więcej ściana kostki, okazało się że współczynnik dla kafelków przyjmuje wartości mniejsze niż 0.4 i większe od zera. Dzięki tym obliczeniom ostatecznie można wyznaczyć kontury, które są kafelkami na kostce. Kontury, które nie spełniają powyższych warunków, są aproksymowane segmentami linii prostych. Dla konturów, które zostały zaklasyfikowane jako kafelki na kostce wyznaczane są wierzchołki oraz proste, które je łączą. Problem ten jest prosty, ponieważ dotyczy konturów, które są czworokątami. Algorytm dzieli się na dwa etapy, przy czym każdy z etapów zawiera cztery kroki. W pierwszym są poszukiwane wierzchołki konturu, natomiast w drugim są wyznaczane równania prostych przez nie przechodzących. Detekcja wierzchołków: Podczas obliczania momentów geometrycznych zostały wyznaczone środki konturów (6.4). Na tej podstawie w pierwszym kroku jest poszukiwany punkt konturowy, który jest najbardziej oddalony od środka. Do tego celu został wykorzystany wzór na odległość dwóch punktów na płaszczyźnie : x j x k 2 y j y k 2 (6.26) 31

32 W kroku drugim szukamy najbardziej oddalonego punktu od poprzednio znalezionego. Będzie nim punkt znajdujący się po przeciwnej stronie. Dla takich punktów wyznaczane jest równanie prostej przez nie przechodzącej. Równanie prostej przechodzącej przez dwa punkty x j, y j, x k, y k : x y i y k y x k x j = y j x k x j x j y k y j (6.27) ax by=c,a 2 b 2 0 (6.28) W korku trzecim i czwartym szukane są najbardziej oddalone punkty od prostej, która została wyznaczona w kroku drugim. W tym celu przeszukiwane są łańcuchy konturowe znajdujące się nad prostą i pod nią. W rezultacie otrzymujemy pozostałe dwa wierzchołki. Odległość s i punktu x i, y i od prostej: s i = ax i by i c a 2 b 2. (6.29) Na rysunkach zostały przedstawione kolejne kroki algorytmu. Rysunek 6.1: Krok pierwszy Rysunek 6.2: Krok drugi Rysunek 6.3: Krok trzeci i czwarty Na podstawie znalezionych wierzchołków w etapie drugim wyznaczane są równania czterech łączących je prostych. Operacja ta jest powtarzana dla każdego konturu. Rezultaty tak otrzymanych krawędzi w dużym stopniu pokrywają się z obrazem rzeczywistym. Na rysunku 6.4 przedstawiony jest obraz z wyznaczonymi wierzchołkami, na rysunku 6.5 przedstawiony jest obraz zawierający wyznaczone proste, które tworzą krawędzie kafelków. 32

33 Rysunek 6.4: Obraz z wyznaczonymi wierzchołkami konturów Rysunek 6.5: Obraz zbudowanych kafelków na kostce Aproksymacja krawędzi segmentami linii prostych Działanie algorytmu jest bardzo proste, a jego budowa oparta jest o rekurencyjną funkcję splitchain() (tabela 6.1). Argumentami funkcji są punkty startowy oraz końcowy podziału łańcucha krawędziowego. W każdym wywołaniu funkcji splitchain() szukany jest najbardziej oddalony punkt krawędziowy od prostej przechodzącej przez punkty podziału. Jeżeli odległość jest większa niż zadane minimum, wtedy dla łańcucha krawędziowego przeprowadzany jest nowy podział w miejscu znalezionego punktu. Dla nowo powstałych odcinków przeprowadzane są wywołania funkcji splitchain(). W przeciwnym wypadku funkcja kończy działanie dla tego odcinka łańcucha krawędziowego. Warunkiem stopu wykonywania się algorytmu jest to, żeby maksymalne odległości pikseli krawędziowych do wyznaczonych prostych były mniejsze niż podane kryterium podziału. SplitChain(a,b) W tabeli 6.1 została przedstawiona rekurencyjna definicja funkcji splitchain(). Zbuduj prostą k o początku w punkcie a i końcu w punkcie b. Znajdź największa odległość punktu c krawędziowego pomiędzy punktami a i b od prostej k IF THEN Odległość jest większa niż podane minimum podziału Dodaj prosta k do zbioru segmentów liniowych, podziel łańcuch ab na ac i cb Wywołaj SplitChain(a,c) Wywołaj SplitChain(c,b) ELSE Zakończ działanie Tabela 6.1: Rekurencyjna definicja funkcji SplitChain() 33

34 Na rysunku przedstawione są kolejne kroki działania algorytmu do aproksymacji krawędzi liniami prostymi. Kolorem niebieskim została zaznaczona prosta, łącząca początek i koniec łańcucha, kolorem zielonym zaznaczona jest największa odległość od wyznaczonej prostej do pikseli krawędziowych znajdujących się pomiędzy początkowym i końcowym punktem podziału. Rysunek 6.6: Łańcuch krawędziowy Rysunek 6.7: Pierwsze wywołanie funkcji spitchain() Rysunek 6.8: Wywołanie rekurencyjne funkcji splitchain(), dla nowych punktów podziału Rysunek 6.9: Koniec działania funkcji splitchain() Detekcja łuków, elips oraz okręgów Operacja ta jest przeprowadzana w oparciu o wyznaczone wcześniej segmenty linii prostych. Działanie algorytmu składa się z czterech etapów: Znalezienie par segmentów liniowych, które tworzą łuki Dodanie pozostałych segmentów liniowych do znalezionych łuków Łączenie ze sobą łuków Sprawdzanie kształtów połączonych łuków 34

35 Znalezienie par segmentów liniowych, które tworzą łuki Wśród znalezionych segmentów liniowych wybierane są segmenty liniowe, z których po połączeniu można otrzymać łuk. Wynikiem działania pierwszego etapu są łuki zawierające po dwa połączone segmenty liniowe. W tabeli 6.2 został przedstawiony zapis działania algorytmu. FOR IF THEN UNTIL Dla każdego segmentu liniowego s1 znalezionego w obrazie Znajdź sąsiedni segment liniowy s2 połączony z s1 Wyznacz punkty skrajne połączonych segmentów i oznacz je jako A i B, zbuduj prosta k przechodząca przez te punkty Wyznacz prosta l prostopadłą do prostej k i przechodzącą przez środek odcinka AB Znajdź punkt przecięcia prostej l oraz łańcucha konturowego IF THEN Sprawdź czy kontur pomiędzy punktami A i B tworzy krzywiznę Dodaj nowy łuk i przypisz do niego segmenty liniowe s1 i s2 Usuń z listy segment s2 Sprawdzono wszystkie segmenty liniowe Tabela 6.2: Algorytm łączenia par segmentów liniowych w łuki Na rysunku 6.10 został przedstawiony pierwszy etap działania algorytmu do łączenia par segmentów liniowych w łuki. Rysunek 6.10: Pierwszy etap działania algorytmu Na rysunku 6.10 przedstawiony został pierwszy krok działania algorytmu. Dla dwóch sąsiednich segmentów liniowych wyznaczane są następujące parametry. Punkty A oraz B są skrajnymi punktami połączonych segmentów, punkt D jest punktem centralnym odcinka AB. Obliczany jest kąt nachylenia prostej k przechodzącej przez punkty A i B do osi współrzędnych OX. Prosta l jest prostopadła do prostej k i przechodzi przez punkt D. 35

36 Punkt C jest znajdowany na podstawie przecięcia prostej l oraz łańcucha konturowego. Kolejnym etapem jest weryfikacja, czy połączone segmenty liniowe tworzą krzywiznę. W tym celu powstała metoda Check(), która na podstawie wcześniej wyznaczonych parametrów sprawdza, czy można utworzyć łuk z połączenia segmentów linowych AC oraz CB. Powyższe parametry są wyznaczane dla wszystkich par połączonych segmentów liniowych. Rysunek 6.11: Sprawdzenie wszystkich par segmentów liniowych Rysunek 6.11 przedstawia w jaki sposób algorytm sprawdza kolejne segmenty liniowe. Kolejnymi segmentami liniowym, które zostaną sprawdzone są BJ oraz JF. Podobnie jak dla pierwszej pary segmentów liniowych AC i CB wyznaczane są skrajne punkty B i F, punkt G - środek odcinka BF oraz punkt J leżący na przecięciu się prostej n oraz łańcucha konturowego. W tym przypadku nie można aproksymować elipsą kontur BJF, więc segmenty liniowe BJ oraz JF nie zostaną połączone ze sobą. Ostatnią parą segmentów liniowych, które będą sprawdzane, są JF i FE. Postępując analogicznie jak w poprzednim przypadku sprawdzamy, czy kontur JFE można aproksymować elipsą. Do sprawdzania, czy można połączyć dwa segmenty liniowe w łuk wykorzystywana jest metoda Check(). Wynikiem działania powyższego algorytmu są znalezione łuki: ACB i JFE. Szczegółowy opis działania metody Check() Metoda działa w oparciu o wcześniej wyznaczone parametry: a - połowa dużej osi elipsy, odcinek AD b - połowa małej osi elipsy, odcinek CD - kąt nachylenia prostej k do osi OX zbiór segmentów liniowych należących do łuków AC oraz CB 36

37 Rysunek 6.12: Aproksymacja elipsy o parametrach a,b znajdującej się w I i II ćwiartce układu współrzędnych za pomocą prostych y= b a x a oraz y= b a x a W początkowej fazie metoda oblicza błąd aproksymacji średniokwadratowej funkcji g x przez f x. Funkcja g x opisuje elipsę o powyższych parametrach, natomiast funkcja f x jest prostą przechodząca przez punkty AC oraz CB. Aproksymacja dokonywana jest wyłącznie w dyskretnych punktach x i, i=0,1,2,...n z zakresu [ A; A]. Wyznaczamy błąd aproksymacji średniokwadratowej funkcji g x przez f x za pomocą wzoru: n S f,g = [ f x i g x i ] 2. (6.30) i=0 W kolejnym kroku należy przesunąć kontur ACB do początku układu współrzędnych. W tym celu został wyznaczony centralny punkt D odcinka AB z rysunku 6.11, przesunięcia dokonujemy za pomocą wzorów: x' =x x D, y'= y y D. Po przesunięciu do środka układu współrzędnych wzorzec zdefiniowany jest za pomocą współrzędnych x', y'. Otrzymujemy funkcję wzorca h x', y'. Następnie dokonujemy obrotu wzorca na oś OX o kąt za pomocą równań: x ' sin sin cos x y. (6.31) y' = cos Dla przekształconego wzorca h x', y' obliczamy błąd średniokwadratowy: n S 1 h,g = [ h x i g x i ] 2. (6.32) i=0 Jeżeli S 1 jest mniejsze niż S, to wtedy segmenty liniowe można zaklasyfikować jako łuk. 37

38 W tabeli 6.3 została przedstawiona definicja funkcji Check(a, b,, linesegments). Parametry, jakie są przekazywane do metody, zostały opisane powyżej. Check( a, b,, linesegments) Oblicz błąd S średniokwadratowy pomiędzy funkcją g x i f x DO UNTIL IF THEN Dla każdego punktu P konturowego znajdującego się w segmentach liniowych Przesuń P do początku układu współrzędnych względem punktu D i oznacz jako P ' Dokonaj rotacji P ' względem początku układu współrzędnych o kąt i oznacz jako P ' ' ' ' Zbiór punktów P i, i 0..n oznacz funkcją h x Oblicz błąd S 1 średniokwadratowy pomiędzy funkcją g x i h x Przekształcono wszystkie punkty konturowe należące do sprawdzanych segmentów liniowych S 1 < S Połącz segmenty liniowe w łuk UNTIL Sprawdzono wszystkie łuki Tabela 6.3: Definicja funkcji Check() Dodanie pozostałych segmentów liniowych do znalezionych łuków W wyniku działania pierwszego etapu są znalezione dwa łuki ACB i JFE oraz jeden segment liniowy BJ. W etapie drugim dla każdego łuku algorytm sprawdza, czy można dodać segmenty liniowe, które nie zostały dodane w etapie pierwszym. Działanie algorytmu jest analogiczne, jak w etapie pierwszym. Do sprawdzenia czy dany segment liniowy można dodać do łuku wykorzystywana jest metoda Check(). Wynikiem działania etapu drugiego są dwa łuki ACBJ oraz JFE. Na rysunku 6.13 przedstawiony został wynik drugiego etapu. Rysunek 6.13: Wynik działania algorytmu w etapie drugim 38

39 W tabeli 6.4 został przedstawiony algorytm łączenia pozostałych segmentów liniowych do znalezionych wcześniej łuków. FOR IF THEN Dla każdego łuku ł 1 znalezionego w pierwszym kroku Znajdź segment liniowy s 1 połączony z łukiem Wyznacz punkty skrajne łuku oraz segmentu liniowego i oznacz je jako A i B, zbuduj prosta k przechodząca przez te punkty Wyznacz prosta l prostopadłą do prostej k i przechodzącą przez środek odcinka AB Znajdź punkt przecięcia prostej l oraz łańcucha konturowego IF Sprawdź czy kontur pomiędzy punktami A i B tworzy krzywiznę THEN Dodaj do nowy łuk powstały z połączenia łuku ł 1 i segmentu s 1 Usuń z listy ł 1 oraz s 1 UNTIL Sprawdzono wszystkie łuki Tabela 6.4: Algorytm łączenia pozostałych segmentów liniowych do istniejących łuków Łączenie ze sobą łuków W etapie trzecim algorytm sprawdza czy sąsiednie łuki można ze sobą połączyć. Po każdym połączeniu dwóch łuków sprawdzane jest to czy tworzą zamknięty kontur, jeżeli tak to algorytm sprawdza czy można taki kontur aproksymować elipsą lub okręgiem. Na rysunku 6.13 zostały znalezione dwa łuki ACBJ oraz JFE. Ze względu na to, że po połączeniu nie można ich aproksymować elipsą, nie zostaną połączone w jeden łuk. W tabeli 6.5 został przedstawiony algorytm, który sprawdza czy można połączyć ze sobą łuki. FOR Dla każdego łuku ł 1 wyznaczonego w kroku drugim IF Znajdź łuk ł 2 połączony z łukiem ł 1 THEN Wyznacz punkty skrajne połączonych łuków i oznacz je jako A i B, zbuduj prosta k przechodząca przez te punkty Wyznacz prosta l prostopadłą do prostej k i przechodzącą przez środek odcinka AB Znajdź punkty przecięcia prostej l oraz łańcucha konturowego IF Znaleziono dwa punkty leżące po obu stronach prostej k THEN IF Łuki ł 1 i ł 2 tworzą zamknięty kontur IF THEN THEN Sprawdź czy można łuki aproksymować elipsa lub okręgiem i dodaj do listy Znaleziono jeden punkt IF Sprawdź czy łuki ł 1 i ł 2 można połączyć ze sobą THEN Dodaj do nowy łuk utworzony z łuków ł 1 i ł 2, usuń z listy ł 1 i ł 2 UNTIL Sprawdzono wszystkie łuki Tabela 6.5: Algorytm, który sprawdza, czy można połączyć ze sobą łuki. 39

Przetwarzanie obrazów rastrowych macierzą konwolucji

Przetwarzanie obrazów rastrowych macierzą konwolucji Przetwarzanie obrazów rastrowych macierzą konwolucji 1 Wstęp Obrazy rastrowe są na ogół reprezentowane w dwuwymiarowych tablicach złożonych z pikseli, reprezentowanych przez liczby określające ich jasność

Bardziej szczegółowo

Analiza obrazów - sprawozdanie nr 2

Analiza obrazów - sprawozdanie nr 2 Analiza obrazów - sprawozdanie nr 2 Filtracja obrazów Filtracja obrazu polega na obliczeniu wartości każdego z punktów obrazu na podstawie punktów z jego otoczenia. Każdy sąsiedni piksel ma wagę, która

Bardziej szczegółowo

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych Parametryzacja obrazu na potrzeby algorytmów decyzyjnych Piotr Dalka Wprowadzenie Z reguły nie stosuje się podawania na wejście algorytmów decyzyjnych bezpośrednio wartości pikseli obrazu Obraz jest przekształcany

Bardziej szczegółowo

Implementacja filtru Canny ego

Implementacja filtru Canny ego ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi

Bardziej szczegółowo

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III 1 Niniejszy dokument zawiera materiały do wykładu z przedmiotu Cyfrowe Przetwarzanie Obrazów i Sygnałów. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może

Bardziej szczegółowo

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy Wykorzystane materiały: Zadanie W dalszej części prezentacji będzie omawiane zagadnienie rozpoznawania twarzy Problem ten można jednak uogólnić

Bardziej szczegółowo

Filtracja obrazu operacje kontekstowe

Filtracja obrazu operacje kontekstowe Filtracja obrazu operacje kontekstowe Podział metod filtracji obrazu Metody przestrzenne i częstotliwościowe Metody liniowe i nieliniowe Główne zadania filtracji Usunięcie niepożądanego szumu z obrazu

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

Filtracja obrazu operacje kontekstowe

Filtracja obrazu operacje kontekstowe Filtracja obrazu operacje kontekstowe Główne zadania filtracji Usunięcie niepożądanego szumu z obrazu Poprawa ostrości Usunięcie określonych wad obrazu Poprawa obrazu o złej jakości technicznej Rekonstrukcja

Bardziej szczegółowo

Filtracja splotowa obrazu

Filtracja splotowa obrazu Informatyka, S1 sem. letni, 2012/2013, wykład#3 Filtracja splotowa obrazu dr inż. Paweł Forczmański Katedra Systemów Multimedialnych, Wydział Informatyki ZUT 1 / 53 Proces przetwarzania obrazów Obraz f(x,y)

Bardziej szczegółowo

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III 1 Niniejszy dokument zawiera materiały do wykładu z przedmiotu Cyfrowe Przetwarzanie Obrazów i Sygnałów. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może

Bardziej szczegółowo

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

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat BIBLIOTEKA PROGRAMU R - BIOPS Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat Biblioteka biops zawiera funkcje do analizy i przetwarzania obrazów. Operacje geometryczne (obrót, przesunięcie,

Bardziej szczegółowo

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk System śledzenia oczu, twarzy i ruchów użytkownika komputera za pośrednictwem kamery internetowej i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Mirosław ł Słysz Promotor:

Bardziej szczegółowo

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III 1 Na podstawie materiałów autorstwa dra inż. Marka Wnuka. Niniejszy dokument zawiera materiały do wykładu z przedmiotu Cyfrowe Przetwarzanie Obrazów i Sygnałów. Jest on udostępniony pod warunkiem wykorzystania

Bardziej szczegółowo

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny. Filtracja nieliniowa może być bardzo skuteczną metodą polepszania jakości obrazów Filtry nieliniowe Filtr medianowy Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy

Bardziej szczegółowo

Reprezentacja i analiza obszarów

Reprezentacja i analiza obszarów Cechy kształtu Topologiczne Geometryczne spójność liczba otworów liczba Eulera szkielet obwód pole powierzchni środek ciężkości ułożenie przestrzenne momenty wyższych rzędów promienie max-min centryczność

Bardziej szczegółowo

PRZETWARZANIE SYGNAŁÓW

PRZETWARZANIE SYGNAŁÓW PRZETWARZANIE SYGNAŁÓW SEMESTR V Wykład VIII Podstawy przetwarzania obrazów Filtracja Przetwarzanie obrazu w dziedzinie próbek Przetwarzanie obrazu w dziedzinie częstotliwości (transformacje częstotliwościowe)

Bardziej szczegółowo

Obraz jako funkcja Przekształcenia geometryczne

Obraz jako funkcja Przekształcenia geometryczne Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych

Bardziej szczegółowo

Przetwarzanie obrazu

Przetwarzanie obrazu Przetwarzanie obrazu Przekształcenia kontekstowe Liniowe Nieliniowe - filtry Przekształcenia kontekstowe dokonują transformacji poziomów jasności pikseli analizując za każdym razem nie tylko jasność danego

Bardziej szczegółowo

Przetwarzanie obrazów wykład 4

Przetwarzanie obrazów wykład 4 Przetwarzanie obrazów wykład 4 Adam Wojciechowski Wykład opracowany na podstawie Komputerowa analiza i przetwarzanie obrazów R. Tadeusiewicz, P. Korohoda Filtry nieliniowe Filtry nieliniowe (kombinowane)

Bardziej szczegółowo

Przetwarzanie obrazów wykład 7. Adam Wojciechowski

Przetwarzanie obrazów wykład 7. Adam Wojciechowski Przetwarzanie obrazów wykład 7 Adam Wojciechowski Przekształcenia morfologiczne Przekształcenia podobne do filtrów, z tym że element obrazu nie jest modyfikowany zawsze lecz tylko jeśli spełniony jest

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.

Bardziej szczegółowo

Przekształcenia kontekstowe. Filtry nieliniowe Typowy przykład usuwania zakłóceń z obrazu

Przekształcenia kontekstowe. Filtry nieliniowe Typowy przykład usuwania zakłóceń z obrazu Definicja Przekształcenia kontekstowe są to przekształcenia które dla wyznaczenia wartości jednego punktu obrazu wynikowego trzeba dokonać określonych obliczeń na wielu punktach obrazu źródłowego. Przekształcenia

Bardziej szczegółowo

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż.

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż. Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia Mgr inż. Dorota Smorawa Plan prezentacji 1. Wprowadzenie do zagadnienia 2. Opis urządzeń badawczych

Bardziej szczegółowo

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 11. Filtracja sygnałów wizyjnych

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 11. Filtracja sygnałów wizyjnych Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 11 Filtracja sygnałów wizyjnych Operacje kontekstowe (filtry) Operacje polegające na modyfikacji poszczególnych elementów obrazu w zależności od stanu

Bardziej szczegółowo

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009 Analiza obrazu komputerowego wykład 4 Marek Jan Kasprowicz Uniwersytet Rolniczy 2009 Filtry górnoprzepustowe - gradienty Gradient - definicje Intuicyjnie, gradient jest wektorem, którego zwrot wskazuje

Bardziej szczegółowo

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D autorzy: Michał Dajda, Łojek Grzegorz opiekun naukowy: dr inż. Paweł Rotter I. O projekcie. 1. Celem projektu było stworzenie

Bardziej szczegółowo

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE Umiejętności opracowanie: Maria Lampert LISTA MOICH OSIĄGNIĘĆ FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE Co powinienem umieć Umiejętności znam podstawowe przekształcenia geometryczne: symetria osiowa i środkowa,

Bardziej szczegółowo

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II POZIOM ROZSZERZONY Równania i nierówności z wartością bezwzględną. rozwiązuje równania i nierówności

Bardziej szczegółowo

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla):

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla): WYKŁAD 3 Operacje sąsiedztwa Są to operacje, w których na wartość zadanego piksla obrazu wynikowego q o współrz. (i,j) mają wpływ wartości piksli pewnego otoczenia piksla obrazu pierwotnego p o współrzędnych

Bardziej szczegółowo

Reprezentacja i analiza obszarów

Reprezentacja i analiza obszarów Cechy kształtu Topologiczne Geometryczne spójność liczba otworów liczba Eulera szkielet obwód pole powierzchni środek cięŝkości ułoŝenie przestrzenne momenty wyŝszych rzędów promienie max-min centryczność

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

dr inż. Piotr Odya dr inż. Piotr Suchomski

dr inż. Piotr Odya dr inż. Piotr Suchomski dr inż. Piotr Odya dr inż. Piotr Suchomski Podział grafiki wektorowa; matematyczny opis rysunku; małe wymagania pamięciowe (i obliczeniowe); rasteryzacja konwersja do postaci rastrowej; rastrowa; tablica

Bardziej szczegółowo

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT Temat: Zaimplementować system kryptografii wizualnej http://www.cacr.math.uwaterloo.ca/~dstinson/visual.html Autor: Tomasz Mitręga NSMW Grupa 1 Sekcja 2 1. Temat projektu

Bardziej szczegółowo

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do 0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi

Bardziej szczegółowo

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI poziom rozszerzony

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI poziom rozszerzony Próbny egzamin maturalny z matematyki. Poziom rozszerzony 1 PRÓNY EGZMIN MTURLNY Z MTEMTYKI poziom rozszerzony ZNI ZMKNIĘTE W każdym z zadań 1.. wybierz i zaznacz jedną poprawną odpowiedź. Zadanie 1. (0

Bardziej szczegółowo

Funkcja liniowa - podsumowanie

Funkcja liniowa - podsumowanie Funkcja liniowa - podsumowanie 1. Funkcja - wprowadzenie Założenie wyjściowe: Rozpatrywana będzie funkcja opisana w dwuwymiarowym układzie współrzędnych X. Oś X nazywana jest osią odciętych (oś zmiennych

Bardziej szczegółowo

Segmentacja przez detekcje brzegów

Segmentacja przez detekcje brzegów Segmentacja przez detekcje brzegów Lokalne zmiany jasności obrazu niosą istotną informację o granicach obszarów (obiektów) występujących w obrazie. Metody detekcji dużych, lokalnych zmian jasności w obrazie

Bardziej szczegółowo

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty).

Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Pudełkowy komputer Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Budowa komputera: każdy uczeń składa proste pudełko metodą orgiami Zobacz:

Bardziej szczegółowo

maska 1 maska 2 maska 3 ogólnie

maska 1 maska 2 maska 3 ogólnie WYKŁAD 4 Detekcja krawędzi, operacje morfologiczne Detekcja (wykrywanie) krawędzi (edge detection) jest to technika segmentacji obrazu, polegająca na znajdowaniu piksli krawędziowych przez sprawdzanie

Bardziej szczegółowo

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji

Bardziej szczegółowo

Detekcja twarzy w obrazie

Detekcja twarzy w obrazie Detekcja twarzy w obrazie Metoda na kanałach RGB 1. Należy utworzyć nowy obrazek o wymiarach analizowanego obrazka. 2. Dla każdego piksela oryginalnego obrazka pobiera się informację o wartości kanałów

Bardziej szczegółowo

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów 30 czerwca 2015 Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie Projekt z przedmiotu Analiza i Przetwarzanie Obrazów Wykrywanie tablic rejestracyjnych Jagieła Michał IS (GKiPO) Michał Jagieła

Bardziej szczegółowo

Analiza obrazów. Segmentacja i indeksacja obiektów

Analiza obrazów. Segmentacja i indeksacja obiektów Analiza obrazów. Segmentacja i indeksacja obiektów Wykorzystane materiały: R. Tadeusiewicz, P. Korohoda, Komputerowa analiza i przetwarzanie obrazów, Wyd. FPT, Kraków, 1997 Analiza obrazu Analiza obrazu

Bardziej szczegółowo

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

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. 1. Podstawy matematyki 1.1. Geometria analityczna W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. Skalarem w fizyce nazywamy

Bardziej szczegółowo

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III 1 Niniejszy dokument zawiera materiały do wykładu z przedmiotu Cyfrowe Przetwarzanie Obrazów i Sygnałów. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

WYKŁAD 7. Obraz z wykrytymi krawędziami: gdzie 1 - wartość konturu, 0 - wartość tła.

WYKŁAD 7. Obraz z wykrytymi krawędziami: gdzie 1 - wartość konturu, 0 - wartość tła. WYKŁAD 7 Elementy segmentacji Obraz z wykrytymi krawędziami: Detektory wzrostu (DTW); badanie pewnego otoczenia piksla Lokalizacja krawędzi metodami: - liczenie różnicy bezpośredniej, - liczenie różnicy

Bardziej szczegółowo

3. FUNKCJA LINIOWA. gdzie ; ół,.

3. FUNKCJA LINIOWA. gdzie ; ół,. 1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta

Bardziej szczegółowo

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą 1. Statystyka odczytać informacje z tabeli odczytać informacje z diagramu 2. Mnożenie i dzielenie potęg o tych samych podstawach 3. Mnożenie i dzielenie potęg o tych samych wykładnikach 4. Potęga o wykładniku

Bardziej szczegółowo

Przewodnik po soczewkach

Przewodnik po soczewkach Przewodnik po soczewkach 1. Wchodzimy w program Corel Draw 11 następnie klikamy Plik /Nowy => Nowy Rysunek. Następnie wchodzi w Okno/Okno dokowane /Teczka podręczna/ Przeglądaj/i wybieramy plik w którym

Bardziej szczegółowo

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/ Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/ MATEMATYKA Klasa III ZAKRES PODSTAWOWY Dział programu Temat Wymagania. Uczeń: 1. Miara łukowa kąta zna pojęcia: kąt skierowany, kąt

Bardziej szczegółowo

Definicja obrotu: Definicja elementów obrotu:

Definicja obrotu: Definicja elementów obrotu: 5. Obroty i kłady Definicja obrotu: Obrotem punktu A dookoła prostej l nazywamy ruch punktu A po okręgu k zawartym w płaszczyźnie prostopadłej do prostej l w kierunku zgodnym lub przeciwnym do ruchu wskazówek

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II W PUBLICZNYM GIMNAZJUM NR 2 W ZESPOLE SZKÓŁ W RUDKACH

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II W PUBLICZNYM GIMNAZJUM NR 2 W ZESPOLE SZKÓŁ W RUDKACH WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II W PUBLICZNYM GIMNAZJUM NR 2 W ZESPOLE SZKÓŁ W RUDKACH Marzena Zbrożyna DOPUSZCZAJĄCY: Uczeń potrafi: odczytać informacje z tabeli odczytać informacje z diagramu

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

CECHY BIOMETRYCZNE: ODCISK PALCA

CECHY BIOMETRYCZNE: ODCISK PALCA CECHY BIOMETRYCZNE: ODCISK PALCA Odcisk palca można jednoznacznie przyporządkować do osoby. Techniki pobierania odcisków palców: Czujniki pojemnościowe - matryca płytek przewodnika i wykorzystują zjawisko

Bardziej szczegółowo

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej.

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej. Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE Rozwiązania Zadanie 1 Wartość bezwzględna jest odległością na osi liczbowej. Stop Istnieje wzajemnie jednoznaczne przyporządkowanie między punktami

Bardziej szczegółowo

Rozpoznawanie Twarzy i Systemy Biometryczne

Rozpoznawanie Twarzy i Systemy Biometryczne Filtry Plan wykładu Przegląd dostępnych filtrów Zastosowanie filtrów na różnych etapach pracy systemu Dalsze badania Kontrast i ostrość Kontrast różnica w kolorze i świetle między częściami ś i obrazu

Bardziej szczegółowo

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),... WYKŁAD 10 Kompresja krzywych dyskretnych Kompresja krzywych dyskretnych KP SK = KW SK - stopień kompresji krzywej. KP [bajt] - obszar pamięci zajmowany przez kod pierwotny krzywej. KW [bajt] - obszar pamięci

Bardziej szczegółowo

Grafika rastrowa (bitmapa)-

Grafika rastrowa (bitmapa)- Grafika komputerowa Grafika rastrowa Grafika rastrowa (bitmapa)- sposób zapisu obrazów w postaci prostokątnej tablicy wartości, opisujących kolory poszczególnych punktów obrazu (prostokątów składowych).

Bardziej szczegółowo

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania. Elementy programu Paint Aby otworzyć program Paint, należy kliknąć przycisk Start i Paint., Wszystkie programy, Akcesoria Po uruchomieniu programu Paint jest wyświetlane okno, które jest w większej części

Bardziej szczegółowo

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38 Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego

Bardziej szczegółowo

Przetwarzanie obrazu

Przetwarzanie obrazu Przetwarzanie obrazu Przegląd z uwzględnieniem obrazowej bazy danych Tatiana Jaworska Jaworska@ibspan.waw.pl www.ibspan.waw.pl/~jaworska Umiejscowienie przetwarzania obrazu Plan prezentacji Pojęcia podstawowe

Bardziej szczegółowo

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

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38 Wykład 2 Przetwarzanie obrazów mgr inż. 1/38 Przetwarzanie obrazów rastrowych Jedna z dziedzin cyfrowego obrazów rastrowych. Celem przetworzenia obrazów rastrowych jest użycie edytujących piksele w celu

Bardziej szczegółowo

Przekształcenia punktowe

Przekształcenia punktowe Przekształcenia punktowe Przekształcenia punktowe realizowane sa w taki sposób, że wymagane operacje wykonuje sie na poszczególnych pojedynczych punktach źródłowego obrazu, otrzymujac w efekcie pojedyncze

Bardziej szczegółowo

Kolorowanie płaszczyzny, prostych i okręgów

Kolorowanie płaszczyzny, prostych i okręgów Kolorowanie płaszczyzny, prostych i okręgów Jadwiga Czyżewska Pisane pod kierunkiem W.Guzickiego W 2013 roku na II etapie VIII edycji Olimpiady Matematycznej Gimnazjalistów pojawiło się zadanie o następującej

Bardziej szczegółowo

Dział I FUNKCJE I ICH WŁASNOŚCI

Dział I FUNKCJE I ICH WŁASNOŚCI MATEMATYKA ZAKRES PODSTAWOWY Rok szkolny 01/013 Klasa: II Nauczyciel: Mirosław Kołomyjski Dział I FUNKCJE I ICH WŁASNOŚCI Lp. Zagadnienie Osiągnięcia ucznia. 1. Podstawowe własności funkcji.. Podaje określenie

Bardziej szczegółowo

Maskowanie i selekcja

Maskowanie i selekcja Maskowanie i selekcja Maska prostokątna Grafika bitmapowa - Corel PHOTO-PAINT Pozwala definiować prostokątne obszary edytowalne. Kiedy chcemy wykonać operacje nie na całym obrazku, lecz na jego części,

Bardziej szczegółowo

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Wyższa Szkoła Informatyki Stosowanej i Zarządzania Wyższa Szkoła Informatyki Stosowanej i Zarządzania WIT Grupa IZ06TC01, Zespół 3 PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń laboratoryjnych Ćwiczenie nr 5 Temat: Modelowanie koloru, kompresja obrazów,

Bardziej szczegółowo

Detekcja punktów zainteresowania

Detekcja punktów zainteresowania Informatyka, S2 sem. Letni, 2013/2014, wykład#8 Detekcja punktów zainteresowania dr inż. Paweł Forczmański Katedra Systemów Multimedialnych, Wydział Informatyki ZUT 1 / 61 Proces przetwarzania obrazów

Bardziej szczegółowo

Analiza obrazów - sprawozdanie nr 3

Analiza obrazów - sprawozdanie nr 3 Analiza obrazów - sprawozdanie nr 3 Przekształcenia morfologiczne Przekształcenia morfologiczne wywodzą się z morfologii matematycznej, czyli dziedziny, która opiera się na teorii zbiorów, topologii i

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

Filtracja nieliniowa obrazu

Filtracja nieliniowa obrazu Informatyka, S1 sem. letni, 2014/2015, wykład#4 Filtracja nieliniowa obrazu dr inż. Paweł Forczmański Katedra Systemów Multimedialnych, Wydział Informatyki ZUT 1 / 61 Proces przetwarzania obrazów Obraz

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu. Egzamin wstępny z matematyki

Uniwersytet Mikołaja Kopernika w Toruniu. Egzamin wstępny z matematyki Uniwersytet Mikołaja Kopernika w Toruniu Egzamin wstępny z matematyki lipca 2006 roku Zestaw I wariant A Czas trwania egzaminu: 240 minut 1. Dane są zbiory liczbowe A = {x; x R x < 2}, B = {x; x R x +

Bardziej szczegółowo

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie

Bardziej szczegółowo

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska. Politechnika Świętokrzyska Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 9 Przetwarzanie sygnałów wizyjnych. Cel ćwiczenia Celem ćwiczenia jest zapoznanie studentów z funkcjami pozwalającymi na

Bardziej szczegółowo

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale Zestaw nr 1 Poziom Rozszerzony Zad.1. (1p) Liczby oraz, są jednocześnie ujemne wtedy i tylko wtedy, gdy A. B. C. D. Zad.2. (1p) Funkcja przyjmuje wartości większe od funkcji dokładnie w przedziale. Wtedy

Bardziej szczegółowo

Animacje z zastosowaniem suwaka i przycisku

Animacje z zastosowaniem suwaka i przycisku Animacje z zastosowaniem suwaka i przycisku Animacja Pole równoległoboku Naukę tworzenia animacji uruchamianych na przycisk zaczynamy od przygotowania stosunkowo prostej animacji, za pomocą, której można

Bardziej szczegółowo

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH PROPORCJONALNOŚĆ PROSTA Proporcjonalnością prostą nazywamy zależność między dwoma wielkościami zmiennymi x i y, określoną wzorem: y = a x Gdzie a jest

Bardziej szczegółowo

Automatyczne nastawianie ostrości

Automatyczne nastawianie ostrości Automatyczne nastawianie ostrości Systemy automatycznego nastawiania ostrości (AF) - budowa, działanie, zalety, wady, zastosowanie, algorytmy wyostrzania - przykłady Jakub Skalak http://www.fis.agh.edu.pl/~4skalak/

Bardziej szczegółowo

Ćwiczenie 6. Transformacje skali szarości obrazów

Ćwiczenie 6. Transformacje skali szarości obrazów Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 6. Transformacje skali szarości obrazów 1. Obraz cyfrowy Obraz w postaci cyfrowej

Bardziej szczegółowo

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum I. POTĘGI I PIERWIASTKI oblicza wartości potęg o wykładnikach całkowitych liczb różnych od zera zapisuje liczbę

Bardziej szczegółowo

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH Wstęp Ten multimedialny program edukacyjny zawiera zadania konstrukcyjne pozwalające na samodzielne ćwiczenie i sprawdzenie wiadomości w zakresie konstrukcji podstawowych figur geometrycznych. Jest przeznaczony

Bardziej szczegółowo

========================= Zapisujemy naszą funkcję kwadratową w postaci kanonicznej: 2

========================= Zapisujemy naszą funkcję kwadratową w postaci kanonicznej: 2 Leszek Sochański Arkusz przykładowy, poziom podstawowy (A1) Zadanie 1. Wykresem funkcji kwadratowej f jest parabola o wierzchołku 5,7 Wówczas prawdziwa jest równość W. A. f 1 f 9 B. f 1 f 11 C. f 1 f 1

Bardziej szczegółowo

Interpretacja gestów dłoni w sekwencji obrazów cyfrowych. autor: Karol Czapnik opiekun: prof. dr hab. Włodzimierz Kasprzak

Interpretacja gestów dłoni w sekwencji obrazów cyfrowych. autor: Karol Czapnik opiekun: prof. dr hab. Włodzimierz Kasprzak Interpretacja gestów dłoni w sekwencji obrazów cyfrowych autor: Karol Czapnik opiekun: prof. dr hab. Włodzimierz Kasprzak Plan prezentacji Cel pracy magisterskiej Zastosowanie pracy Założenia projektowe

Bardziej szczegółowo

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI WPISUJE ZDAJĄCY KOD PESEL PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI POZIOM ROZSZERZONY PRZED MATURĄ MAJ 2015 1. Sprawdź, czy arkusz egzaminacyjny zawiera 22 strony ( zadania 1 19). Ewentualny brak zgłoś przewodniczącemu

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

POB Odpowiedzi na pytania

POB Odpowiedzi na pytania POB Odpowiedzi na pytania 1.) Na czym polega próbkowanie a na czym kwantyzacja w procesie akwizycji obrazu, jakiemu rodzajowi rozdzielczości odpowiada próbkowanie a jakiemu kwantyzacja Próbkowanie inaczej

Bardziej szczegółowo

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1 Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji

Bardziej szczegółowo

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Wykrywanie twarzy na zdjęciach przy pomocy kaskad Wykrywanie twarzy na zdjęciach przy pomocy kaskad Analiza i przetwarzanie obrazów Sebastian Lipnicki Informatyka Stosowana,WFIIS Spis treści 1. Wstęp... 3 2. Struktura i funkcjonalnośd... 4 3. Wyniki...

Bardziej szczegółowo

Osiągnięcia ponadprzedmiotowe

Osiągnięcia ponadprzedmiotowe W rezultacie kształcenia matematycznego uczeń potrafi: Osiągnięcia ponadprzedmiotowe Umiejętności konieczne i podstawowe czytać teksty w stylu matematycznym wykorzystywać słownictwo wprowadzane przy okazji

Bardziej szczegółowo

Proste metody przetwarzania obrazu

Proste metody przetwarzania obrazu Operacje na pikselach obrazu (operacje punktowe, bezkontekstowe) Operacje arytmetyczne Dodanie (odjęcie) do obrazu stałej 1 Mnożenie (dzielenie) obrazu przez stałą Operacje dodawania i mnożenia są operacjami

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc

WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc 1, Ciągi zna definicję ciągu (ciągu liczbowego); potrafi wyznaczyć dowolny wyraz ciągu liczbowego określonego wzorem ogólnym;

Bardziej szczegółowo

Diagnostyka obrazowa

Diagnostyka obrazowa Diagnostyka obrazowa 1. Cel ćwiczenia Ćwiczenie czwarte Przekształcenia morfologiczne obrazu Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa z definicjami operacji morfologicznych

Bardziej szczegółowo

Osiągnięcia ponadprzedmiotowe

Osiągnięcia ponadprzedmiotowe W rezultacie kształcenia matematycznego uczeń potrafi: Osiągnięcia ponadprzedmiotowe Umiejętności konieczne i podstawowe KONIECZNE PODSTAWOWE ROZSZERZAJĄCE DOPEŁNIAJACE WYKRACZAJĄCE czytać teksty w stylu

Bardziej szczegółowo

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT. WYDZIAŁ: GEOLOGII, GEOFIZYKI I OCHRONY ŚRODOWISKA KIERUNEK STUDIÓW: INFORMATYKA STOSOWANA RODZAJ STUDIÓW: STACJONARNE I STOPNIA ROK AKADEMICKI 2014/2015 WYKAZ PRZEDMIOTÓW EGZAMINACYJNYCH: I. Systemy operacyjne

Bardziej szczegółowo

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...

Bardziej szczegółowo

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Wyższa Szkoła Informatyki Stosowanej i Zarządzania Wyższa Szkoła Informatyki Stosowanej i Zarządzania Grupa ID308, Zespół 11 PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń Ćwiczenie 6 Temat: Operacje sąsiedztwa wyostrzanie obrazu Wykonali: 1. Mikołaj Janeczek

Bardziej szczegółowo