Dokumentacja projektu magisterskiego
Transkrypt
Dokumentacja projektu magisterskiego
Andrzej Wójtowicz Dokumentacja projektu magisterskiego Wersja dokumentu: 1.0 Ostatnia zmiana: 21 czerwca 2012 1. Opis projektu Celem projektu było stworzenie aplikacji na system mobilny, pozwalającej na przeprowadzenie jednej sesji gry odbywającej się w przestrzeni miejskiej. Przyjęto, że gracz otrzymuje do wykonania zadania–zagadki, wymagające odpowiedzi w jeden z trzech określonych sposobów: 1. napisanie krótkiego tekstu, 2. udanie się w okolice zadanej lokalizacji, 3. zrobienie zdjęcia zadanemu obiektowi. W przypadku odpowiedzi tekstowej założono, że będzie ona wymagała podania maksymalnie kilku wyrazów aby można było ją porównać znak po znaku ze wzorcem w bazie. Z kolei w zadaniu sprawdzającym przemieszczanie się użytkownika przyjęto, że jego pozycja będzie odczytywana z odbiornika GPS. Natomiast przy zagadce wymagającej zrobienia zdjęcia założono, że fotografia będzie porównywana z kilkoma wzorcami (ujęciami obiektu) w bazie. Na projekt składają się dwie części: aplikacja z grą przeznaczona na system mobilny Android oraz skrypty przygotowujące bazę danych. 2. Wymagania 2.1. Android — Android 2.3.3 (API 10) SDK http://developer.android.com/sdk/index.html — ADT Plugin dla Eclipse http://developer.android.com/sdk/eclipse-adt.html — OpenCV 2.4.0 dla sytemu Android http://sourceforge.net/projects/opencvlibrary/files/opencv-android/2.4.0/ 2.2. Przygotowanie bazy — Python 2.6.6 (win32) http://www.python.org/download/releases/2.6.6/ — OpenCV 2.4.0 dla systetmu Windows http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.0/ 3. Konfiguracja W katalogu roboczym należy umieścić trzy foldery: — android-project – pliki projektu Eclipse dla Androida, — database – pliki przygotowujące bazę danych, — OpenCV-2.4.0 – biblioteka OpenCV dla Androida. 3.1. Android Kod został przygotowany pod kątem Samsunga Galaxy S. Do poprawnego działania zaleca się umieszczenie karty SD w smartfonie. 1 Opis konfiguracji SDK Androida znajduje się na stronie http://developer.android.com/sdk/index.html, to samo tyczy się plug-inu do Eclipse. W Eclipse należy zaimportować 2 projekty znajdujące się w android-project i OpenCV-2.4.0. Przed wygenerowaniem pliku .apk i załadowaniem go na telefon, należy utworzyć bazę danych w katalogu database przy pomocy skryptu builder.py. 3.2. Przygotowanie bazy Pliki odpowiedzialne za przygotowanie bazy znajdują się w katalogu database. Są to: — — — — — — — views/* – pliki obrazów (ujęć obiektów architektonicznych) types.csv – plik z możliwymi typami zadań występujących w grze tasks.csv – lista zadań, places.csv – szczegóły zadań związanych z odczytywaniem współrzędnych geograficznych gracza, arch elements.csv – szczegóły zadań związanych z rozpoznawaniem zdjęć zrobionych przez gracza answers.csv – szczegóły zadań związanych z zagadkami tekstowymi, builder.py – skrypt tworzący bazę SQLite. Nagłówki plików .csv wskazuje za co odpowiadają konkretne pola. Aby dodać nowe zadanie, należy dodać je w pliku tasks.csv (pola img before i img after obecnie nie są wykorzystywane) oraz w zależności od jego typu, uzupełnić szczegółowe dane w jednym trzech plików: places.csv, arch elements.csv lub answers.csv. W przypadku zadania z rozpoznawaniem zdjęć, w katalogu views należy umieścić ujęcia pożądanego obiektu (najlepiej w rozdzielczości nie większej niż 800×600. W pliku places.csv pole theta sight obecnie nie jest wykorzystywane. Przykładowe zadania dotyczące Poznania znajdują się w ww. plikach. Ostatecznie, aby zbudować bazę danych, należy uruchomić skrypt builder.py. Plik bazy jest automatycznie kopiowany do projektu Androida. 4. Dokumentacja kodu 4.1. Android Dokumentacja znajduje się w katalogu android-project/doc/html 4.2. Przygotowanie bazy Dokumentacja znajduje się w katalogu database/doc 2