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