Základní informace¶
Máme dodat řešení, které umožní vložit 2D a 3D objekty reprezentující historické elementy do obrazu reálného světa. Řešení poběží na platformě Android. Nemusíme dodat celé řešení, pouze dema řešící klíčovou funkcionalitu. Budeme se podílet i návrhu ovládání (základního konceptu).
Projekt musí být dokončen do konce září 2015.
GIT repositář¶
K nalezení na adrese http://aurel.mendelu.cz/git/historybrowser.git, zároveň je napojen i na tento projekt v Redmine.
Rozchození¶
Čerpal jsem z návodu: http://blog.hig.no/gtl/2014/08/28/opencv-and-android-studio/
Prerekvizity:¶
- Android Studio s nainstalovaným Android SDK 19 nebo vyšším (nebo všemi).
- OpenCV for Android z http://opencv.org/downloads.html (verze 3.0)
Návod:¶
1. Rozbalit OpenCV
2. Vytvořit nový projekt v Android Studiu, vybrat např. API 15, šablona např. Blank Activity, vhodně pojmenovat první aktivitu
3. Otevřít složku nově vytvořeného projektu a vytvořit v ní novou složku "libraries"
4. Otevřít složku "libraries" a otevřít si složku s rozbaleným OpenCV. Zkopírovat složku "/opencv/sdk/java" do "/libraries/" a přejmenovat složku "/libraries/java/" na "opencv"
5. Ve složce "/libraries/opencv" vytvořit soubor "build.gradle" a zkopírovat do něj tento kód:
apply plugin: 'android-library' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.2' } } android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { minSdkVersion 8 targetSdkVersion 19 versionCode 2490 versionName "2.4.9" } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] aidl.srcDirs = ['src'] } } }
6. V souboru "settings.gradle", který se nachází v kořenovém adresáři Android Studio projektu, přidat řádek:
include ':libraries:opencv'
7. V Android Studiu, kde je otevřený projekt (nemusel být, mohl být, je to jedno) spustit volbu z menu "Tools/Android/Sync Project with Gradle files". Sledovat spodní stavovou lištu, kde je oznamován stav syncu. Pokud se tam objeví "Gradle build finished...", je vše v pořádku. Pokud ne, začít odznovu.
8. Jít do menu "File/Project Structure" v Android Studiu, nalevo vybrat modul "app" a poté vybrat záložku "Dependencies". Dole kliknout na +, vybrat "Module dependency", vybrat ":library:opencv" (mělo by tam už být jako jediný modul) a potvrdit. Pomocí OK zavřít okno.
9. Ve složce s projektem a dále v podsložce "/app/src/main/" vytvořit složku "jniLibs" a do ní zkopírovat obsah složky "/sdk/native/libs/", která se nachází v rozbaleném OpenCV (budou to 4 jiné složky, ve kterých jsou .so soubory).
10. Znovu provést postup z bodu 7 a poté spustit z menu "Build/Make Project". Pokud se nevyskytla žádná chyba, bude v projektu funkční OpenCV.
11. Do MainActivity před metodu onCreate pastnout kód pro slinkování opencv kompilátorem:
static { System.loadLibrary("opencv_java"); }