Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałSylwia Kapuśniak Został zmieniony 11 lat temu
1
System analizy zachowania zwierząt doświadczalnych w badaniach neurologicznych promotor: prof. dr hab. inż. A. Nowakowski konsultant: dr M. Kaczmarek, dr J. Rumiński Magdalena Mazur
2
Schemat systemu System będzie składał się z następujących elementów: - tor przeszkód, - kamera internetowa na statywie dająca obraz z góry, - kamera cyfrowa skierowana na moduły toru z przeszkodami wysokościowymi, - komputer z oprogramowaniem.
3
Budowa Systemu System będzie utworzony przy pomocy następujących platform: Builder C++ - oprogramowanie programu głównego pobierającego strumień danych z kamer, wykrywającego i analizującego ruch na obrazach oraz wysyłającego dane do bazy danych. Builder C++ jest dobrym narzędziem do pracy z grafiką, pozwala także na proste zaprojektowanie przyjaznego i łatwego w obsłudze interfejsu, MySql – baza danych, Krasnal – serwer bazy danych i PHP, HTML, PHP – interfejs bazy danych. Umożliwi to przeglądanie wyników doświadczeń z różnych miejsc, Matlab (opcjonalnie) – dokładna analiza wyników doświadczeń. Matalb jest dobrym narzędziem matematycznym, dzięki niemu możliwa będzie dokładna, statystyczna analiza doświadczeń oraz zależności niewidocznych dla obserwatora.
4
Schemat systemu
5
Schemat oprogramowania
6
Rozwiązania programistyczne Aplikacja stworzona jest w Borland C++ Builder 6. Można podzielić ją na kilka etapów: - przechwytywanie obrazu z urządzeń, - wczytywanie danych z bazy danych, - dzielenie filmu na obrazy bmp, - wczytywanie kolejnych obrazów, - progowanie każdego wczytanego obrazu, - znajdowanie obiektu w obrazie, - zapisywanie położenia obiektu, - pokazanie wyników doświadczenia, - zapisanie danych do bazy. Aplikacja
7
Rozwiązania programistyczne Progowanie obrazu: Progowanie jest to przypisanie pewnemu przedziałowi określającemu kolory poszczególnych pikseli innej wartości koloru. W programie wykorzystano próg progrowania 100, czyli 0x000064 w skali RGB (0x000000 – czarny, 0xFFFFFF – biały). Wszystkie piksele Posiadające wartość większą niż 100 są zamieniane na piksele białe, pozostałe są czarne. if((byte)Image1->Canvas->Pixels[a][b]>100) { Image1->Canvas->Pixels[a][b] = 16777215; //bialy 0x00FFFFF } else { Image1->Canvas->Pixels[a][b] = 0; //czarny 0x00000000 }
8
Rozwiązania programistyczne Znajdowanie obiektu w obrazie Znajdowanie obiektu na obrazie może odbywać się dwoma sposobami: - wykrywanie sekwencji ciemnych pikseli w każdej klatce nagrania - wykrywanie różnicy danej klatki i klatki początkowej Wykrywanie sekwencji ciemnych pikseli w każdej klatce nagrania. Sposób ten polega na przeskanowaniu całego obrazu w celu znalezienia ciemnych pikseli. Kiedy program wykryje ciemny piksel, sprawdza, czy tworzy on większą grupę, czyli czy w jego odpowiednim sąsiedztwie znajdują się inne ciemne piksele. Jeśli zostaną spełnione te warunki, piksel ten jest rozpoznany jako część obiektu. Metoda ta wykrywa ciemne obiekty o odpowiednich wymiarach, jest odporna na błędne sklasyfikowanie np. odchodów zwierzęcia. Spowoduje poważne błędy w przypadku nieodpowiedniego wykalibrowania systemu, gdy w obszarze analizy znajdzie się np. tło lub stół.
9
Rozwiązania programistyczne Znajdowanie obiektu w obrazie
10
Rozwiązania programistyczne Zapisywanie położenia obiektu Współrzędne wszystkich pikseli sklasyfikowanych jako punkty obiektu przechowywane są w tablicy dwuwymiarowej, tablica[z][0]=a; tablica[z][1]=b; co pozwala na obliczenie środka ciężkości obiektu. sumaa+=tablica[z][0]; sumab+=tablica[z][1]; srodeka=sumaa/z; srodekb=sumab/z; Dzięki analizie położenia środka ciężkości myszy wiemy gdzie się ona znajduje, w którym module i czy nie wykazuje preferencji którejś ze stron (nie chodzi np. wciąż przy prawej ściance). Do przechowywania położenia myszy z każdej klatki używane są tzw. liczniki. Jeśli mysz znajduje się w drugim module blisko prawej ścianki, dodajemy do odpowiednich liczników wartość. Końcowe wartości liczników dają nam ogólny obraz zachowania się zwierzęcia podczas doświadczenia.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.